/**
* Called for every Macroblock in a slice.
*
- * XvMC uses it to replace the ff_mpv_decode_mb().
+ * XvMC uses it to replace the ff_mpv_reconstruct_mb().
* Instead of decoding to raw picture, MB parameters are
* stored in an array provided by the video driver.
*
s->current_picture.motion_val[0][b_xy][1] = s->mv[0][0][1];
}
- ff_mpv_decode_mb(s, s->block);
+ ff_mpv_reconstruct_mb(s, s->block);
}
return 0;
s->block_last_index[i] = -1;
}
- ff_mpv_decode_mb(s, s->block);
+ ff_mpv_reconstruct_mb(s, s->block);
return SLICE_OK;
}
if (ret < 0) {
const int xy = s->mb_x + s->mb_y * s->mb_stride;
if (ret == SLICE_END) {
- ff_mpv_decode_mb(s, s->block);
+ ff_mpv_reconstruct_mb(s, s->block);
if (s->loop_filter)
ff_h263_loop_filter(s);
return AVERROR_INVALIDDATA;
}
- ff_mpv_decode_mb(s, s->block);
+ ff_mpv_reconstruct_mb(s, s->block);
if (s->loop_filter)
ff_h263_loop_filter(s);
}
s->dest[1] +=(16 >> lowres) >> s->chroma_x_shift;
s->dest[2] +=(16 >> lowres) >> s->chroma_x_shift;
- ff_mpv_decode_mb(s, s->block);
+ ff_mpv_reconstruct_mb(s, s->block);
if (++s->mb_x >= s->mb_width) {
const int mb_size = 16 >> s->avctx->lowres;
if (ref)
av_log(s->avctx, AV_LOG_DEBUG,
"Interlaced error concealment is not fully implemented\n");
- ff_mpv_decode_mb(s, s->block);
+ ff_mpv_reconstruct_mb(s, s->block);
}
int ff_mpeg_er_init(MpegEncContext *s)
s->interlaced_dct : true if interlaced dct used (mpeg2)
*/
static av_always_inline
-void mpv_decode_mb_internal(MpegEncContext *s, int16_t block[12][64],
+void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64],
int lowres_flag, int is_mpeg12)
{
const int mb_xy = s->mb_y * s->mb_stride + s->mb_x;
}
}
-void ff_mpv_decode_mb(MpegEncContext *s, int16_t block[12][64])
+void ff_mpv_reconstruct_mb(MpegEncContext *s, int16_t block[12][64])
{
#if !CONFIG_SMALL
if(s->out_format == FMT_MPEG1) {
- if(s->avctx->lowres) mpv_decode_mb_internal(s, block, 1, 1);
- else mpv_decode_mb_internal(s, block, 0, 1);
+ if(s->avctx->lowres) mpv_reconstruct_mb_internal(s, block, 1, 1);
+ else mpv_reconstruct_mb_internal(s, block, 0, 1);
} else
#endif
- if(s->avctx->lowres) mpv_decode_mb_internal(s, block, 1, 0);
- else mpv_decode_mb_internal(s, block, 0, 0);
+ if(s->avctx->lowres) mpv_reconstruct_mb_internal(s, block, 1, 0);
+ else mpv_reconstruct_mb_internal(s, block, 0, 0);
}
void ff_mpeg_draw_horiz_band(MpegEncContext *s, int y, int h)
void ff_mpv_decode_defaults(MpegEncContext *s);
void ff_mpv_decode_init(MpegEncContext *s, AVCodecContext *avctx);
-void ff_mpv_decode_mb(MpegEncContext *s, int16_t block[12][64]);
+void ff_mpv_reconstruct_mb(MpegEncContext *s, int16_t block[12][64]);
void ff_mpv_report_decode_progress(MpegEncContext *s);
int ff_mpv_frame_start(MpegEncContext *s, AVCodecContext *avctx);
}
if(s->avctx->mb_decision == FF_MB_DECISION_RD){
- ff_mpv_decode_mb(s, s->block);
+ ff_mpv_reconstruct_mb(s, s->block);
score *= s->lambda2;
score += sse_mb(s) << FF_LAMBDA_SHIFT;
}
if(s->avctx->mb_decision == FF_MB_DECISION_BITS)
- ff_mpv_decode_mb(s, s->block);
+ ff_mpv_reconstruct_mb(s, s->block);
} else {
int motion_x = 0, motion_y = 0;
s->mv_type=MV_TYPE_16X16;
s->out_format == FMT_H263 && s->pict_type!=AV_PICTURE_TYPE_B)
ff_h263_update_motion_val(s);
- ff_mpv_decode_mb(s, s->block);
+ ff_mpv_reconstruct_mb(s, s->block);
}
/* clean the MV table in IPS frames for direct mode in B-frames */
return;
}
- // from ff_mpv_decode_mb(), update DC predictors for P macroblocks
+ // from ff_mpv_reconstruct_mb(), update DC predictors for P macroblocks
if (!s->mb_intra) {
s->last_dc[0] =
s->last_dc[1] =
}
if (s->pict_type != AV_PICTURE_TYPE_B)
ff_h263_update_motion_val(s);
- ff_mpv_decode_mb(s, s->block);
+ ff_mpv_reconstruct_mb(s, s->block);
if (s->loop_filter)
ff_h263_loop_filter(s);