avcodec/mpegvideo: Don't duplicate identical code

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
pull/383/head
Andreas Rheinhardt 3 years ago
parent ec5c188b21
commit 5d856ef476
  1. 37
      libavcodec/mpegvideo.c

@ -1963,25 +1963,6 @@ void mpv_reconstruct_mb_internal(MpegEncContext *s, int16_t block[12][64],
{ {
const int mb_xy = s->mb_y * s->mb_stride + s->mb_x; const int mb_xy = s->mb_y * s->mb_stride + s->mb_x;
if (CONFIG_XVMC &&
s->avctx->hwaccel && s->avctx->hwaccel->decode_mb) {
s->avctx->hwaccel->decode_mb(s);//xvmc uses pblocks
return;
}
if(s->avctx->debug&FF_DEBUG_DCT_COEFF) {
/* print DCT coefficients */
int i,j;
av_log(s->avctx, AV_LOG_DEBUG, "DCT coeffs of MB at %dx%d:\n", s->mb_x, s->mb_y);
for(i=0; i<6; i++){
for(j=0; j<64; j++){
av_log(s->avctx, AV_LOG_DEBUG, "%5d",
block[i][s->idsp.idct_permutation[j]]);
}
av_log(s->avctx, AV_LOG_DEBUG, "\n");
}
}
s->current_picture.qscale_table[mb_xy] = s->qscale; s->current_picture.qscale_table[mb_xy] = s->qscale;
/* update DC predictors for P macroblocks */ /* update DC predictors for P macroblocks */
@ -2263,6 +2244,24 @@ skip_idct:
void ff_mpv_reconstruct_mb(MpegEncContext *s, int16_t block[12][64]) void ff_mpv_reconstruct_mb(MpegEncContext *s, int16_t block[12][64])
{ {
if (CONFIG_XVMC &&
s->avctx->hwaccel && s->avctx->hwaccel->decode_mb) {
s->avctx->hwaccel->decode_mb(s); //xvmc uses pblocks
return;
}
if (s->avctx->debug & FF_DEBUG_DCT_COEFF) {
/* print DCT coefficients */
av_log(s->avctx, AV_LOG_DEBUG, "DCT coeffs of MB at %dx%d:\n", s->mb_x, s->mb_y);
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 64; j++) {
av_log(s->avctx, AV_LOG_DEBUG, "%5d",
block[i][s->idsp.idct_permutation[j]]);
}
av_log(s->avctx, AV_LOG_DEBUG, "\n");
}
}
#if !CONFIG_SMALL #if !CONFIG_SMALL
if(s->out_format == FMT_MPEG1) { if(s->out_format == FMT_MPEG1) {
if(s->avctx->lowres) mpv_reconstruct_mb_internal(s, block, 1, 1); if(s->avctx->lowres) mpv_reconstruct_mb_internal(s, block, 1, 1);

Loading…
Cancel
Save