diff options
author | Måns Rullgård <mans@mansr.com> | 2009-03-01 12:11:07 +0000 |
---|---|---|
committer | Måns Rullgård <mans@mansr.com> | 2009-03-01 12:11:07 +0000 |
commit | db794291a29546b93c3b39dc33b3f9a3bcf9e315 (patch) | |
tree | 2bbbce77d3575c2de2de35cc3e195d4d830b5c79 | |
parent | 4cd19f6e7851ee6afb08eb346c82d5574fa2b699 (diff) | |
download | ffmpeg-db794291a29546b93c3b39dc33b3f9a3bcf9e315.tar.gz |
SVQ3: Fix decoding with A32_BITSTREAM_READER
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.
Originally committed as revision 17680 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/svq3.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c index 6dc37abb71..bef7075a26 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){ |