[FFmpeg-devel] [PATCH] SVQ3: Fix decoding with A32_BITSTREAM_READER

Mans Rullgard mans
Sun Mar 1 11:58:28 CET 2009


svq3_decode_slice_header() modifies the buffer used by the bitstream
reader.  Some of the bitstream readers cache a few bytes of data, which
must be flushed after such a modification.  Calling skip_bits_long(gb, 0)
achieves this.
---
 libavcodec/svq3.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c
index 6dc37ab..bef7075 100644
--- a/libavcodec/svq3.c
+++ b/libavcodec/svq3.c
@@ -724,6 +724,7 @@ static int svq3_decode_slice_header(H264Context *h)
             memcpy((uint8_t *) &s->gb.buffer[get_bits_count(&s->gb) >> 3],
                    &s->gb.buffer[s->gb.size_in_bits >> 3], (length - 1));
         }
+        skip_bits_long(&s->gb, 0);
     }
 
     if ((i = svq3_get_ue_golomb(&s->gb)) == INVALID_VLC || i >= 3){
-- 
1.6.1.3





More information about the ffmpeg-devel mailing list