From a42ec9f48468d5b1aca7ff25fc1b90ef5deaccfe Mon Sep 17 00:00:00 2001 From: Michael Niedermayer <michaelni@gmx.at> Date: Sat, 26 Aug 2006 11:37:33 +0000 Subject: [PATCH] make A32 reader align its ptr during init no matter what missaligned mess is given to it Originally committed as revision 6096 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/bitstream.h | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/libavcodec/bitstream.h b/libavcodec/bitstream.h index ed8c8fcdd1a..bb0eb0c490d 100644 --- a/libavcodec/bitstream.h +++ b/libavcodec/bitstream.h @@ -719,20 +719,16 @@ static inline void init_get_bits(GetBitContext *s, s->bit_count = 16; s->cache = 0; } -#elif defined A32_BITSTREAM_READER - s->buffer_ptr = (uint32_t*)buffer; - s->bit_count = 32; - s->cache0 = 0; - s->cache1 = 0; -#endif { OPEN_READER(re, s) UPDATE_CACHE(re, s) UPDATE_CACHE(re, s) CLOSE_READER(re, s) } -#ifdef A32_BITSTREAM_READER - s->cache1 = 0; +#elif defined A32_BITSTREAM_READER + s->buffer_ptr = (uint32_t*)((intptr_t)buffer&(~3)); + s->bit_count = 32 + 8*((intptr_t)buffer&3); + skip_bits_long(s, 0); #endif } -- GitLab