mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
Use ff_msmpeg4_decode_init to initialize ff_msmp4_mb_i_vlc since static
VLC tables should only be initialized from one place. This initializes/calculates more VLC tables than necessary for VC1 decoding, but this is only done once and only a small overhead in time and space (maybe 30 kB) it seems not worth adding a separate function. Originally committed as revision 20010 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
9c3068c80e
commit
c05df6895f
@ -124,10 +124,6 @@ static int vc1_init_common(VC1Context *v)
|
||||
&vc1_ac_tables[i][0][1], 8, 4,
|
||||
&vc1_ac_tables[i][0][0], 8, 4, INIT_VLC_USE_NEW_STATIC);
|
||||
}
|
||||
//FIXME: switching to INIT_VLC_STATIC() results in incorrect decoding
|
||||
init_vlc(&ff_msmp4_mb_i_vlc, MB_INTRA_VLC_BITS, 64,
|
||||
&ff_msmp4_mb_i_table[0][1], 4, 2,
|
||||
&ff_msmp4_mb_i_table[0][0], 4, 2, INIT_VLC_USE_STATIC);
|
||||
done = 1;
|
||||
}
|
||||
|
||||
@ -3000,6 +2996,8 @@ static av_cold int vc1_decode_init(AVCodecContext *avctx)
|
||||
if(ff_h263_decode_init(avctx) < 0)
|
||||
return -1;
|
||||
if (vc1_init_common(v) < 0) return -1;
|
||||
// only for ff_msmp4_mb_i_table
|
||||
if (ff_msmpeg4_decode_init(s) < 0) return -1;
|
||||
|
||||
avctx->coded_width = avctx->width;
|
||||
avctx->coded_height = avctx->height;
|
||||
|
Loading…
Reference in New Issue
Block a user