| 1239 | } |
| 1240 | |
| 1241 | static av_cold int encode_init(AVCodecContext *avctx) |
| 1242 | { |
| 1243 | MpegEncContext *s = avctx->priv_data; |
| 1244 | int ret; |
| 1245 | static int done = 0; |
| 1246 | |
| 1247 | if((ret=MPV_encode_init(avctx)) < 0) |
| 1248 | return ret; |
| 1249 | |
| 1250 | if (!done) { |
| 1251 | done = 1; |
| 1252 | |
| 1253 | init_uni_dc_tab(); |
| 1254 | |
| 1255 | init_rl(&ff_mpeg4_rl_intra, ff_mpeg4_static_rl_table_store[0]); |
| 1256 | |
| 1257 | init_uni_mpeg4_rl_tab(&ff_mpeg4_rl_intra, uni_mpeg4_intra_rl_bits, uni_mpeg4_intra_rl_len); |
| 1258 | init_uni_mpeg4_rl_tab(&ff_h263_rl_inter, uni_mpeg4_inter_rl_bits, uni_mpeg4_inter_rl_len); |
| 1259 | } |
| 1260 | |
| 1261 | s->min_qcoeff= -2048; |
| 1262 | s->max_qcoeff= 2047; |
| 1263 | s->intra_ac_vlc_length = uni_mpeg4_intra_rl_len; |
| 1264 | s->intra_ac_vlc_last_length= uni_mpeg4_intra_rl_len + 128*64; |
| 1265 | s->inter_ac_vlc_length = uni_mpeg4_inter_rl_len; |
| 1266 | s->inter_ac_vlc_last_length= uni_mpeg4_inter_rl_len + 128*64; |
| 1267 | s->luma_dc_vlc_length= uni_DCtab_lum_len; |
| 1268 | s->chroma_dc_vlc_length= uni_DCtab_chrom_len; |
| 1269 | s->ac_esc_length= 7+2+1+6+1+12+1; |
| 1270 | s->y_dc_scale_table= ff_mpeg4_y_dc_scale_table; |
| 1271 | s->c_dc_scale_table= ff_mpeg4_c_dc_scale_table; |
| 1272 | |
| 1273 | if(s->flags & CODEC_FLAG_GLOBAL_HEADER){ |
| 1274 | |
| 1275 | s->avctx->extradata= av_malloc(1024); |
| 1276 | init_put_bits(&s->pb, s->avctx->extradata, 1024); |
| 1277 | |
| 1278 | if(!(s->workaround_bugs & FF_BUG_MS)) |
| 1279 | mpeg4_encode_visual_object_header(s); |
| 1280 | mpeg4_encode_vol_header(s, 0, 0); |
| 1281 | |
| 1282 | // ff_mpeg4_stuffing(&s->pb); ? |
| 1283 | flush_put_bits(&s->pb); |
| 1284 | s->avctx->extradata_size= (put_bits_count(&s->pb)+7)>>3; |
| 1285 | } |
| 1286 | return 0; |
| 1287 | } |
| 1288 | |
| 1289 | void ff_mpeg4_init_partitions(MpegEncContext *s) |
| 1290 | { |
nothing calls this directly
no test coverage detected