mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Merge commit '5dd8c08fd5e4c04d7a08d8934f0098a8a4a35c28'
* commit '5dd8c08fd5e4c04d7a08d8934f0098a8a4a35c28': mpeg: Change ff_convert_matrix() to take an MpegEncContext parameter Conflicts: libavcodec/mpegvideo.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
1fd0e9a56d
@ -212,14 +212,14 @@ static av_cold int dnxhd_init_qmat(DNXHDEncContext *ctx, int lbias, int cbias)
|
||||
int j = ctx->m.dsp.idct_permutation[ff_zigzag_direct[i]];
|
||||
weight_matrix[j] = ctx->cid_table->luma_weight[i];
|
||||
}
|
||||
ff_convert_matrix(&ctx->m.dsp, ctx->qmatrix_l, ctx->qmatrix_l16,
|
||||
ff_convert_matrix(&ctx->m, ctx->qmatrix_l, ctx->qmatrix_l16,
|
||||
weight_matrix, ctx->m.intra_quant_bias, 1,
|
||||
ctx->m.avctx->qmax, 1);
|
||||
for (i = 1; i < 64; i++) {
|
||||
int j = ctx->m.dsp.idct_permutation[ff_zigzag_direct[i]];
|
||||
weight_matrix[j] = ctx->cid_table->chroma_weight[i];
|
||||
}
|
||||
ff_convert_matrix(&ctx->m.dsp, ctx->qmatrix_c, ctx->qmatrix_c16,
|
||||
ff_convert_matrix(&ctx->m, ctx->qmatrix_c, ctx->qmatrix_c16,
|
||||
weight_matrix, ctx->m.intra_quant_bias, 1,
|
||||
ctx->m.avctx->qmax, 1);
|
||||
|
||||
|
@ -757,7 +757,7 @@ void ff_set_qscale(MpegEncContext * s, int qscale);
|
||||
|
||||
int ff_dct_common_init(MpegEncContext *s);
|
||||
int ff_dct_encode_init(MpegEncContext *s);
|
||||
void ff_convert_matrix(DSPContext *dsp, int (*qmat)[64], uint16_t (*qmat16)[2][64],
|
||||
void ff_convert_matrix(MpegEncContext *s, int (*qmat)[64], uint16_t (*qmat16)[2][64],
|
||||
const uint16_t *quant_matrix, int bias, int qmin, int qmax, int intra);
|
||||
int ff_dct_quantize_c(MpegEncContext *s, int16_t *block, int n, int qscale, int *overflow);
|
||||
|
||||
|
@ -71,11 +71,12 @@ const AVOption ff_mpv_generic_options[] = {
|
||||
{ NULL },
|
||||
};
|
||||
|
||||
void ff_convert_matrix(DSPContext *dsp, int (*qmat)[64],
|
||||
void ff_convert_matrix(MpegEncContext *s, int (*qmat)[64],
|
||||
uint16_t (*qmat16)[2][64],
|
||||
const uint16_t *quant_matrix,
|
||||
int bias, int qmin, int qmax, int intra)
|
||||
{
|
||||
DSPContext *dsp = &s->dsp;
|
||||
int qscale;
|
||||
int shift = 0;
|
||||
|
||||
@ -886,10 +887,10 @@ av_cold int ff_MPV_encode_init(AVCodecContext *avctx)
|
||||
/* precompute matrix */
|
||||
/* for mjpeg, we do include qscale in the matrix */
|
||||
if (s->out_format != FMT_MJPEG) {
|
||||
ff_convert_matrix(&s->dsp, s->q_intra_matrix, s->q_intra_matrix16,
|
||||
ff_convert_matrix(s, s->q_intra_matrix, s->q_intra_matrix16,
|
||||
s->intra_matrix, s->intra_quant_bias, avctx->qmin,
|
||||
31, 1);
|
||||
ff_convert_matrix(&s->dsp, s->q_inter_matrix, s->q_inter_matrix16,
|
||||
ff_convert_matrix(s, s->q_inter_matrix, s->q_inter_matrix16,
|
||||
s->inter_matrix, s->inter_quant_bias, avctx->qmin,
|
||||
31, 0);
|
||||
}
|
||||
@ -3560,9 +3561,9 @@ static int encode_picture(MpegEncContext *s, int picture_number)
|
||||
s->c_dc_scale_table= ff_mpeg2_dc_scale_table[s->intra_dc_precision];
|
||||
s->chroma_intra_matrix[0] =
|
||||
s->intra_matrix[0] = ff_mpeg2_dc_scale_table[s->intra_dc_precision][8];
|
||||
ff_convert_matrix(&s->dsp, s->q_intra_matrix, s->q_intra_matrix16,
|
||||
ff_convert_matrix(s, s->q_intra_matrix, s->q_intra_matrix16,
|
||||
s->intra_matrix, s->intra_quant_bias, 8, 8, 1);
|
||||
ff_convert_matrix(&s->dsp, s->q_chroma_intra_matrix, s->q_chroma_intra_matrix16,
|
||||
ff_convert_matrix(s, s->q_chroma_intra_matrix, s->q_chroma_intra_matrix16,
|
||||
s->chroma_intra_matrix, s->intra_quant_bias, 8, 8, 1);
|
||||
s->qscale= 8;
|
||||
}
|
||||
@ -3579,9 +3580,9 @@ static int encode_picture(MpegEncContext *s, int picture_number)
|
||||
s->c_dc_scale_table= c;
|
||||
s->intra_matrix[0] = 13;
|
||||
s->chroma_intra_matrix[0] = 14;
|
||||
ff_convert_matrix(&s->dsp, s->q_intra_matrix, s->q_intra_matrix16,
|
||||
ff_convert_matrix(s, s->q_intra_matrix, s->q_intra_matrix16,
|
||||
s->intra_matrix, s->intra_quant_bias, 8, 8, 1);
|
||||
ff_convert_matrix(&s->dsp, s->q_chroma_intra_matrix, s->q_chroma_intra_matrix16,
|
||||
ff_convert_matrix(s, s->q_chroma_intra_matrix, s->q_chroma_intra_matrix16,
|
||||
s->chroma_intra_matrix, s->intra_quant_bias, 8, 8, 1);
|
||||
s->qscale= 8;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user