[SCM] libav/experimental: Fix get_bits_long to work with ALT_BITSTREAM_READER_LE. Gives the same result as get_bits_long_le in vorbis.c instead of some wild big-/little-endian mixture.
siretart at users.alioth.debian.org
siretart at users.alioth.debian.org
Sun Jun 30 15:51:02 UTC 2013
The following commit has been merged in the experimental branch:
commit d1121caa664a8c750a8b0ad96e7e734988f4b27c
Author: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
Date: Mon Sep 25 22:47:55 2006 +0000
Fix get_bits_long to work with ALT_BITSTREAM_READER_LE.
Gives the same result as get_bits_long_le in vorbis.c instead
of some wild big-/little-endian mixture.
Originally committed as revision 6332 to svn://svn.ffmpeg.org/ffmpeg/trunk
diff --git a/libavcodec/bitstream.h b/libavcodec/bitstream.h
index 9d82e8b..bbb7fcd 100644
--- a/libavcodec/bitstream.h
+++ b/libavcodec/bitstream.h
@@ -725,8 +725,13 @@ static inline void skip_bits1(GetBitContext *s){
static inline unsigned int get_bits_long(GetBitContext *s, int n){
if(n<=17) return get_bits(s, n);
else{
+#ifdef ALT_BITSTREAM_READER_LE
+ int ret= get_bits(s, 16);
+ return ret | (get_bits(s, n-16) << 16);
+#else
int ret= get_bits(s, 16) << (n-16);
return ret | get_bits(s, n-16);
+#endif
}
}
--
Libav/FFmpeg packaging
More information about the pkg-multimedia-commits
mailing list