diff --git a/libavcodec/rv10.c b/libavcodec/rv10.c index 261c889de1..3df2c6713b 100644 --- a/libavcodec/rv10.c +++ b/libavcodec/rv10.c @@ -22,6 +22,8 @@ //#define DEBUG +#define DC_VLC_BITS 9 + static const UINT16 rv_lum_code[256] = { 0x3e7f, 0x0f00, 0x0f01, 0x0f02, 0x0f03, 0x0f04, 0x0f05, 0x0f06, @@ -173,7 +175,7 @@ int rv_decode_dc(MpegEncContext *s, int n) int code; if (n < 4) { - code = get_vlc(&s->gb, &rv_dc_lum); + code = get_vlc2(&s->gb, rv_dc_lum.table, DC_VLC_BITS, 2); if (code < 0) { /* XXX: I don't understand why they use LONGER codes than necessary. The following code would be completely useless @@ -196,7 +198,7 @@ int rv_decode_dc(MpegEncContext *s, int n) code -= 128; } } else { - code = get_vlc(&s->gb, &rv_dc_chrom); + code = get_vlc2(&s->gb, rv_dc_chrom.table, DC_VLC_BITS, 2); /* same remark */ if (code < 0) { code = get_bits(&s->gb, 9); @@ -351,10 +353,10 @@ static int rv10_decode_init(AVCodecContext *avctx) /* init rv vlc */ if (!done) { - init_vlc(&rv_dc_lum, 9, 256, + init_vlc(&rv_dc_lum, DC_VLC_BITS, 256, rv_lum_bits, 1, 1, rv_lum_code, 2, 2); - init_vlc(&rv_dc_chrom, 9, 256, + init_vlc(&rv_dc_chrom, DC_VLC_BITS, 256, rv_chrom_bits, 1, 1, rv_chrom_code, 2, 2); done = 1;