init all vlc decoding tables */
| 1273 | |
| 1274 | /* init all vlc decoding tables */ |
| 1275 | av_cold int ff_msmpeg4_decode_init(AVCodecContext *avctx) |
| 1276 | { |
| 1277 | MpegEncContext *s = avctx->priv_data; |
| 1278 | static int done = 0; |
| 1279 | int i; |
| 1280 | MVTable *mv; |
| 1281 | |
| 1282 | ff_h263_decode_init(avctx); |
| 1283 | |
| 1284 | common_init(s); |
| 1285 | |
| 1286 | if (!done) { |
| 1287 | done = 1; |
| 1288 | |
| 1289 | for(i=0;i<NB_RL_TABLES;i++) { |
| 1290 | init_rl(&rl_table[i], static_rl_table_store[i]); |
| 1291 | } |
| 1292 | INIT_VLC_RL(rl_table[0], 642); |
| 1293 | INIT_VLC_RL(rl_table[1], 1104); |
| 1294 | INIT_VLC_RL(rl_table[2], 554); |
| 1295 | INIT_VLC_RL(rl_table[3], 940); |
| 1296 | INIT_VLC_RL(rl_table[4], 962); |
| 1297 | INIT_VLC_RL(rl_table[5], 554); |
| 1298 | |
| 1299 | mv = &mv_tables[0]; |
| 1300 | INIT_VLC_STATIC(&mv->vlc, MV_VLC_BITS, mv->n + 1, |
| 1301 | mv->table_mv_bits, 1, 1, |
| 1302 | mv->table_mv_code, 2, 2, 3714); |
| 1303 | mv = &mv_tables[1]; |
| 1304 | INIT_VLC_STATIC(&mv->vlc, MV_VLC_BITS, mv->n + 1, |
| 1305 | mv->table_mv_bits, 1, 1, |
| 1306 | mv->table_mv_code, 2, 2, 2694); |
| 1307 | |
| 1308 | INIT_VLC_STATIC(&ff_msmp4_dc_luma_vlc[0], DC_VLC_BITS, 120, |
| 1309 | &ff_table0_dc_lum[0][1], 8, 4, |
| 1310 | &ff_table0_dc_lum[0][0], 8, 4, 1158); |
| 1311 | INIT_VLC_STATIC(&ff_msmp4_dc_chroma_vlc[0], DC_VLC_BITS, 120, |
| 1312 | &ff_table0_dc_chroma[0][1], 8, 4, |
| 1313 | &ff_table0_dc_chroma[0][0], 8, 4, 1118); |
| 1314 | INIT_VLC_STATIC(&ff_msmp4_dc_luma_vlc[1], DC_VLC_BITS, 120, |
| 1315 | &ff_table1_dc_lum[0][1], 8, 4, |
| 1316 | &ff_table1_dc_lum[0][0], 8, 4, 1476); |
| 1317 | INIT_VLC_STATIC(&ff_msmp4_dc_chroma_vlc[1], DC_VLC_BITS, 120, |
| 1318 | &ff_table1_dc_chroma[0][1], 8, 4, |
| 1319 | &ff_table1_dc_chroma[0][0], 8, 4, 1216); |
| 1320 | |
| 1321 | INIT_VLC_STATIC(&v2_dc_lum_vlc, DC_VLC_BITS, 512, |
| 1322 | &v2_dc_lum_table[0][1], 8, 4, |
| 1323 | &v2_dc_lum_table[0][0], 8, 4, 1472); |
| 1324 | INIT_VLC_STATIC(&v2_dc_chroma_vlc, DC_VLC_BITS, 512, |
| 1325 | &v2_dc_chroma_table[0][1], 8, 4, |
| 1326 | &v2_dc_chroma_table[0][0], 8, 4, 1506); |
| 1327 | |
| 1328 | INIT_VLC_STATIC(&v2_intra_cbpc_vlc, V2_INTRA_CBPC_VLC_BITS, 4, |
| 1329 | &v2_intra_cbpc[0][1], 2, 1, |
| 1330 | &v2_intra_cbpc[0][0], 2, 1, 8); |
| 1331 | INIT_VLC_STATIC(&v2_mb_type_vlc, V2_MB_TYPE_VLC_BITS, 8, |
| 1332 | &v2_mb_type[0][1], 2, 1, |
no test coverage detected