From ccae1f72b78e9f70f5794fb7caa61299f28eca9d Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Thu, 27 Feb 2025 22:56:59 +0100 Subject: [PATCH 27/40] avcodec/mpegvideo_enc: Move q_matrix init to init_matrices() Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo_enc.c | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 81e004d1a8..5eea676dd4 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -353,6 +353,7 @@ static av_cold int init_matrices(MpegEncContext *s, AVCodecContext *avctx) { const int nb_matrices = 1 + (s->out_format == FMT_MJPEG) + !s->intra_only; const uint16_t *intra_matrix, *inter_matrix; + int ret; if (!ALLOCZ_ARRAYS(s->q_intra_matrix, 32, nb_matrices) || !ALLOCZ_ARRAYS(s->q_intra_matrix16, 32, nb_matrices)) @@ -399,6 +400,19 @@ static av_cold int init_matrices(MpegEncContext *s, AVCodecContext *avctx) s->inter_matrix[j] = inter_matrix[i]; } + /* precompute matrix */ + ret = ff_check_codec_matrices(avctx, FF_MATRIX_TYPE_INTRA | FF_MATRIX_TYPE_INTER, 1, 255); + if (ret < 0) + return ret; + + ff_convert_matrix(s, s->q_intra_matrix, s->q_intra_matrix16, + s->intra_matrix, s->intra_quant_bias, avctx->qmin, + 31, 1); + if (s->q_inter_matrix) + ff_convert_matrix(s, s->q_inter_matrix, s->q_inter_matrix16, + s->inter_matrix, s->inter_quant_bias, avctx->qmin, + 31, 0); + return 0; } @@ -1017,22 +1031,6 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx) #endif } - /* precompute matrix */ - /* for mjpeg, we do include qscale in the matrix */ - if (s->out_format != FMT_MJPEG) { - ret = ff_check_codec_matrices(avctx, FF_MATRIX_TYPE_INTRA | FF_MATRIX_TYPE_INTER, 1, 255); - if (ret < 0) - return ret; - - ff_convert_matrix(s, s->q_intra_matrix, s->q_intra_matrix16, - s->intra_matrix, s->intra_quant_bias, avctx->qmin, - 31, 1); - if (s->q_inter_matrix) - ff_convert_matrix(s, s->q_inter_matrix, s->q_inter_matrix16, - s->inter_matrix, s->inter_quant_bias, avctx->qmin, - 31, 0); - } - if ((ret = ff_rate_control_init(s)) < 0) return ret; -- 2.45.2