Browse Source

DCA: *_bits() -> *_bits_long() where needed, half fix for broken bitstream parsing

Originally committed as revision 24051 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/n0.8
Benjamin Larsson 15 years ago
parent
commit
324a94b022
1 changed files with 3 additions and 3 deletions
  1. +3
    -3
      libavcodec/dca.c

+ 3
- 3
libavcodec/dca.c View File

@@ -1290,10 +1290,10 @@ static int dca_decode_frame(AVCodecContext * avctx,
num_core_channels = s->prim_channels;

/* extensions start at 32-bit boundaries into bitstream */
skip_bits(&s->gb, (-get_bits_count(&s->gb)) & 31);
skip_bits_long(&s->gb, (-get_bits_count(&s->gb)) & 31);

while(get_bits_left(&s->gb) >= 32) {
uint32_t bits = get_bits(&s->gb, 32);
uint32_t bits = get_bits_long(&s->gb, 32);

switch(bits) {
case 0x5a5a5a5a: {
@@ -1328,7 +1328,7 @@ static int dca_decode_frame(AVCodecContext * avctx,
break;
}

skip_bits(&s->gb, (-get_bits_count(&s->gb)) & 31);
skip_bits_long(&s->gb, (-get_bits_count(&s->gb)) & 31);
}

channels = s->prim_channels + !!s->lfe;


Loading…
Cancel
Save