|
|
@ -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); |
|
|
|