mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
get_vlc2() only gets up to three levels in the tables. The last codes weren't being read properly.
Originally committed as revision 12976 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
a9f1d8cdf6
commit
630e1b27c2
@ -110,7 +110,7 @@ static av_cold int mimic_decode_init(AVCodecContext *avctx)
|
|||||||
ctx->prev_index = 0;
|
ctx->prev_index = 0;
|
||||||
ctx->cur_index = 15;
|
ctx->cur_index = 15;
|
||||||
|
|
||||||
if(init_vlc(&ctx->vlc, 8, sizeof(huffbits)/sizeof(huffbits[0]),
|
if(init_vlc(&ctx->vlc, 11, sizeof(huffbits)/sizeof(huffbits[0]),
|
||||||
huffbits, 1, 1, huffcodes, 4, 4, 0)) {
|
huffbits, 1, 1, huffcodes, 4, 4, 0)) {
|
||||||
av_log(avctx, AV_LOG_ERROR, "error initializing vlc table\n");
|
av_log(avctx, AV_LOG_ERROR, "error initializing vlc table\n");
|
||||||
return -1;
|
return -1;
|
||||||
@ -172,7 +172,7 @@ static int vlc_decode_block(MimicContext *ctx, int num_coeffs, int qscale)
|
|||||||
int value;
|
int value;
|
||||||
int coeff;
|
int coeff;
|
||||||
|
|
||||||
vlc = get_vlc2(&ctx->gb, ctx->vlc.table, ctx->vlc.bits, 4);
|
vlc = get_vlc2(&ctx->gb, ctx->vlc.table, ctx->vlc.bits, 3);
|
||||||
if(!vlc) /* end-of-block code */
|
if(!vlc) /* end-of-block code */
|
||||||
return 1;
|
return 1;
|
||||||
if(vlc == -1)
|
if(vlc == -1)
|
||||||
|
Loading…
Reference in New Issue
Block a user