summaryrefslogtreecommitdiff
path: root/libavcodec/svq3.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2005-04-18 12:08:16 +0000
committerMichael Niedermayer <michaelni@gmx.at>2005-04-18 12:08:16 +0000
commit5bb8a0daa1bd660fd70261eaf2bba44f7aab1cd5 (patch)
treebe0d19c6f7aa4c3f6ea1e16e8bdb1d8520471f01 /libavcodec/svq3.c
parent8230cf0210c9845cfbe291b91c518a062da55c0c (diff)
various fixes related to the non alt_bitstream_reader
Originally committed as revision 4136 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/svq3.c')
-rw-r--r--libavcodec/svq3.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c
index 6c189b5e9d..547679bf1c 100644
--- a/libavcodec/svq3.c
+++ b/libavcodec/svq3.c
@@ -720,7 +720,7 @@ static int svq3_decode_slice_header (H264Context *h) {
} else {
int length = (header >> 5) & 3;
- h->next_slice_index = s->gb.index + 8*show_bits (&s->gb, 8*length) + 8*length;
+ h->next_slice_index = get_bits_count(&s->gb) + 8*show_bits (&s->gb, 8*length) + 8*length;
if (h->next_slice_index > s->gb.size_in_bits){
av_log(h->s.avctx, AV_LOG_ERROR, "slice after bitstream end\n");
@@ -728,10 +728,10 @@ static int svq3_decode_slice_header (H264Context *h) {
}
s->gb.size_in_bits = h->next_slice_index - 8*(length - 1);
- s->gb.index += 8;
+ skip_bits(&s->gb, 8);
if (length > 0) {
- memcpy ((uint8_t *) &s->gb.buffer[s->gb.index >> 3],
+ memcpy ((uint8_t *) &s->gb.buffer[get_bits_count(&s->gb) >> 3],
&s->gb.buffer[s->gb.size_in_bits >> 3], (length - 1));
}
}
@@ -939,10 +939,10 @@ static int svq3_decode_frame (AVCodecContext *avctx,
for (s->mb_y=0; s->mb_y < s->mb_height; s->mb_y++) {
for (s->mb_x=0; s->mb_x < s->mb_width; s->mb_x++) {
- if ( (s->gb.index + 7) >= s->gb.size_in_bits &&
- ((s->gb.index & 7) == 0 || show_bits (&s->gb, (-s->gb.index & 7)) == 0)) {
+ if ( (get_bits_count(&s->gb) + 7) >= s->gb.size_in_bits &&
+ ((get_bits_count(&s->gb) & 7) == 0 || show_bits (&s->gb, (-get_bits_count(&s->gb) & 7)) == 0)) {
- s->gb.index = h->next_slice_index;
+ skip_bits(&s->gb, h->next_slice_index - get_bits_count(&s->gb));
s->gb.size_in_bits = 8*buf_size;
if (svq3_decode_slice_header (h))