if (dir[n]) {
/* top prediction */
for (i = 1; i < 8; i++)
- block[n][s->dsp.idct_permutation[i]] = ac_val[i + 8];
+ block[n][s->idsp.idct_permutation[i]] = ac_val[i + 8];
} else {
/* left prediction */
for (i = 1; i < 8; i++)
- block[n][s->dsp.idct_permutation[i << 3]] = ac_val[i];
+ block[n][s->idsp.idct_permutation[i << 3]] = ac_val[i];
}
}
}
if (s->mb_y == 0 || s->qscale == qscale_table[xy] || n == 2 || n == 3) {
/* same qscale */
for (i = 1; i < 8; i++) {
- const int level = block[n][s->dsp.idct_permutation[i]];
- block[n][s->dsp.idct_permutation[i]] = level - ac_val[i + 8];
- ac_val1[i] = block[n][s->dsp.idct_permutation[i << 3]];
+ const int level = block[n][s->idsp.idct_permutation[i]];
+ block[n][s->idsp.idct_permutation[i]] = level - ac_val[i + 8];
+ ac_val1[i] = block[n][s->idsp.idct_permutation[i << 3]];
ac_val1[i + 8] = level;
}
} else {
/* different qscale, we must rescale */
for (i = 1; i < 8; i++) {
- const int level = block[n][s->dsp.idct_permutation[i]];
- block[n][s->dsp.idct_permutation[i]] = level - ROUNDED_DIV(ac_val[i + 8] * qscale_table[xy], s->qscale);
- ac_val1[i] = block[n][s->dsp.idct_permutation[i << 3]];
+ const int level = block[n][s->idsp.idct_permutation[i]];
+ block[n][s->idsp.idct_permutation[i]] = level - ROUNDED_DIV(ac_val[i + 8] * qscale_table[xy], s->qscale);
+ ac_val1[i] = block[n][s->idsp.idct_permutation[i << 3]];
ac_val1[i + 8] = level;
}
}
if (s->mb_x == 0 || s->qscale == qscale_table[xy] || n == 1 || n == 3) {
/* same qscale */
for (i = 1; i < 8; i++) {
- const int level = block[n][s->dsp.idct_permutation[i << 3]];
- block[n][s->dsp.idct_permutation[i << 3]] = level - ac_val[i];
+ const int level = block[n][s->idsp.idct_permutation[i << 3]];
+ block[n][s->idsp.idct_permutation[i << 3]] = level - ac_val[i];
ac_val1[i] = level;
- ac_val1[i + 8] = block[n][s->dsp.idct_permutation[i]];
+ ac_val1[i + 8] = block[n][s->idsp.idct_permutation[i]];
}
} else {
/* different qscale, we must rescale */
for (i = 1; i < 8; i++) {
- const int level = block[n][s->dsp.idct_permutation[i << 3]];
- block[n][s->dsp.idct_permutation[i << 3]] = level - ROUNDED_DIV(ac_val[i] * qscale_table[xy], s->qscale);
+ const int level = block[n][s->idsp.idct_permutation[i << 3]];
+ block[n][s->idsp.idct_permutation[i << 3]] = level - ROUNDED_DIV(ac_val[i] * qscale_table[xy], s->qscale);
ac_val1[i] = level;
- ac_val1[i + 8] = block[n][s->dsp.idct_permutation[i]];
+ ac_val1[i + 8] = block[n][s->idsp.idct_permutation[i]];
}
}
st[n] = s->intra_v_scantable.permutated;
int i;
if (scan_table) {
- if (s->flags2 & CODEC_FLAG2_NO_OUTPUT) {
+ if (s->avctx->flags2 & CODEC_FLAG2_NO_OUTPUT) {
for (i = 0; i < 6; i++)
skip_put_bits(&s->pb,
mpeg4_get_block_length(s, block[i], i,
intra_dc[i], scan_table[i], dc_pb, ac_pb);
}
} else {
- if (s->flags2 & CODEC_FLAG2_NO_OUTPUT) {
+ if (s->avctx->flags2 & CODEC_FLAG2_NO_OUTPUT) {
for (i = 0; i < 6; i++)
skip_put_bits(&s->pb,
mpeg4_get_block_length(s, block[i], i, 0,
for (i = 0; i < 6; i++) {
if (s->block_last_index[i] >= 0 && ((cbp >> (5 - i)) & 1) == 0) {
s->block_last_index[i] = -1;
- s->dsp.clear_block(s->block[i]);
+ s->bdsp.clear_block(s->block[i]);
}
}
} else {
PutBitContext *const pb2 = s->data_partitioning ? &s->pb2 : &s->pb;
PutBitContext *const tex_pb = s->data_partitioning && s->pict_type != AV_PICTURE_TYPE_B ? &s->tex_pb : &s->pb;
PutBitContext *const dc_pb = s->data_partitioning && s->pict_type != AV_PICTURE_TYPE_I ? &s->pb2 : &s->pb;
- const int interleaved_stats = (s->flags & CODEC_FLAG_PASS1) && !s->data_partitioning ? 1 : 0;
+ const int interleaved_stats = (s->avctx->flags & CODEC_FLAG_PASS1) && !s->data_partitioning ? 1 : 0;
if (!s->mb_intra) {
int i, cbp;
b_pic = pic->f->data[0] + offset;
if (!pic->shared)
b_pic += INPLACE_OFFSET;
- diff = s->dsp.sad[0](NULL, p_pic, b_pic, s->linesize, 16);
+ diff = s->mecc.sad[0](NULL, p_pic, b_pic, s->linesize, 16);
if (diff > s->qscale * 70) { // FIXME check that 70 is optimal
s->mb_skipped = 0;
break;
for (i = 0; i < 6; i++)
dc_diff[i] = ff_mpeg4_pred_dc(s, i, block[i][0], &dir[i], 1);
- if (s->flags & CODEC_FLAG_AC_PRED) {
+ if (s->avctx->flags & CODEC_FLAG_AC_PRED) {
s->ac_pred = decide_ac_pred(s, block, dir, scan_table, zigzag_last_index);
} else {
for (i = 0; i < 6; i++)
put_bits(&s->pb, 1, 1);
put_bits(&s->pb, 6, seconds);
- put_bits(&s->pb, 1, !!(s->flags & CODEC_FLAG_CLOSED_GOP));
+ put_bits(&s->pb, 1, !!(s->avctx->flags & CODEC_FLAG_CLOSED_GOP));
put_bits(&s->pb, 1, 0); // broken link == NO
s->last_time_base = time / s->avctx->time_base.den;
ff_mpeg4_stuffing(&s->pb);
/* user data */
- if (!(s->flags & CODEC_FLAG_BITEXACT)) {
+ if (!(s->avctx->flags & CODEC_FLAG_BITEXACT)) {
put_bits(&s->pb, 16, 0);
put_bits(&s->pb, 16, 0x1B2); /* user_data */
avpriv_put_string(&s->pb, LIBAVCODEC_IDENT, 0);
int time_div, time_mod;
if (s->pict_type == AV_PICTURE_TYPE_I) {
- if (!(s->flags & CODEC_FLAG_GLOBAL_HEADER)) {
+ if (!(s->avctx->flags & CODEC_FLAG_GLOBAL_HEADER)) {
if (s->strict_std_compliance < FF_COMPLIANCE_VERY_STRICT) // HACK, the reference sw is buggy
mpeg4_encode_visual_object_header(s);
if (s->strict_std_compliance < FF_COMPLIANCE_VERY_STRICT || picture_number == 0) // HACK, the reference sw is buggy
int ret;
static int done = 0;
- if ((ret = ff_MPV_encode_init(avctx)) < 0)
+ if ((ret = ff_mpv_encode_init(avctx)) < 0)
return ret;
if (!done) {
init_uni_dc_tab();
- ff_init_rl(&ff_mpeg4_rl_intra, ff_mpeg4_static_rl_table_store[0]);
+ ff_rl_init(&ff_mpeg4_rl_intra, ff_mpeg4_static_rl_table_store[0]);
init_uni_mpeg4_rl_tab(&ff_mpeg4_rl_intra, uni_mpeg4_intra_rl_bits, uni_mpeg4_intra_rl_len);
init_uni_mpeg4_rl_tab(&ff_h263_rl_inter, uni_mpeg4_inter_rl_bits, uni_mpeg4_inter_rl_len);
s->y_dc_scale_table = ff_mpeg4_y_dc_scale_table;
s->c_dc_scale_table = ff_mpeg4_c_dc_scale_table;
- if (s->flags & CODEC_FLAG_GLOBAL_HEADER) {
+ if (s->avctx->flags & CODEC_FLAG_GLOBAL_HEADER) {
s->avctx->extradata = av_malloc(1024);
init_put_bits(&s->pb, s->avctx->extradata, 1024);
.id = AV_CODEC_ID_MPEG4,
.priv_data_size = sizeof(MpegEncContext),
.init = encode_init,
- .encode2 = ff_MPV_encode_picture,
- .close = ff_MPV_encode_end,
+ .encode2 = ff_mpv_encode_picture,
+ .close = ff_mpv_encode_end,
.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
.capabilities = CODEC_CAP_DELAY | CODEC_CAP_SLICE_THREADS,
.priv_class = &mpeg4enc_class,