Originally committed as revision 1893 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Michael Niedermayer 22 years ago
parent 3859736446
commit 6d50b2e673
  1. 17
      libavcodec/mjpeg.c

@ -903,11 +903,7 @@ static int mjpeg_decode_sof0(MJpegDecodeContext *s)
static inline int mjpeg_decode_dc(MJpegDecodeContext *s, int dc_index)
{
int code, diff;
#if 1
code = get_vlc2(&s->gb, s->vlcs[0][dc_index].table, 9, 2);
#else
code = get_vlc(&s->gb, &s->vlcs[0][dc_index]);
#endif
if (code < 0)
{
dprintf("mjpeg_decode_dc: bad vlc: %d:%d (%p)\n", 0, dc_index,
@ -917,9 +913,7 @@ static inline int mjpeg_decode_dc(MJpegDecodeContext *s, int dc_index)
if (code == 0) {
diff = 0;
} else {
diff = get_bits(&s->gb, code);
if ((diff & (1 << (code - 1))) == 0)
diff = (-1 << code) | (diff + 1);
diff = get_xbits(&s->gb, code);
}
return diff;
}
@ -947,11 +941,8 @@ static int decode_block(MJpegDecodeContext *s, DCTELEM *block,
ac_vlc = &s->vlcs[1][ac_index];
i = 1;
for(;;) {
#if 1
code = get_vlc2(&s->gb, s->vlcs[1][ac_index].table, 9, 2);
#else
code = get_vlc(&s->gb, ac_vlc);
#endif
if (code < 0) {
dprintf("error ac\n");
return -1;
@ -964,9 +955,7 @@ static int decode_block(MJpegDecodeContext *s, DCTELEM *block,
} else {
run = code >> 4;
nbits = code & 0xf;
level = get_bits(&s->gb, nbits);
if ((level & (1 << (nbits - 1))) == 0)
level = (-1 << nbits) | (level + 1);
level = get_xbits(&s->gb, nbits);
i += run;
if (i >= 64) {
dprintf("error count: %d\n", i);

Loading…
Cancel
Save