ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinha...@outlook.com> | Tue Feb 25 20:56:57 2025 +0100| [772df653566d2d3f69f6e84da8b884ff110253c7] | committer: Andreas Rheinhardt
avcodec/mpegvideo_enc: Don't do unnecessary work for AMV Up until now, the initialization of AMV's matrices happened after the initialization for MJPEG matrices, overwriting the earlier data. This commit changes this. Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=772df653566d2d3f69f6e84da8b884ff110253c7 --- libavcodec/mpegvideo_enc.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index c5c2e0b8e3..0c20fd6953 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -3839,6 +3839,7 @@ static int encode_picture(MpegEncContext *s, const AVPacket *pkt) if (ret < 0) return ret; + if (s->codec_id != AV_CODEC_ID_AMV) { if (s->avctx->intra_matrix) { chroma_matrix = luma_matrix = s->avctx->intra_matrix; @@ -3857,13 +3858,7 @@ static int encode_picture(MpegEncContext *s, const AVPacket *pkt) s->c_dc_scale_table = ff_mpeg12_dc_scale_table[s->intra_dc_precision]; s->chroma_intra_matrix[0] = s->intra_matrix[0] = ff_mpeg12_dc_scale_table[s->intra_dc_precision][8]; - 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, s->q_chroma_intra_matrix, s->q_chroma_intra_matrix16, - s->chroma_intra_matrix, s->intra_quant_bias, 8, 8, 1); - s->qscale= 8; - - if (s->codec_id == AV_CODEC_ID_AMV) { + } else { static const uint8_t y[32] = {13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13}; static const uint8_t c[32] = {14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14}; for (int i = 1; i < 64; i++) { @@ -3876,12 +3871,12 @@ static int encode_picture(MpegEncContext *s, const AVPacket *pkt) s->c_dc_scale_table = c; s->intra_matrix[0] = 13; s->chroma_intra_matrix[0] = 14; + } 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, s->q_chroma_intra_matrix, s->q_chroma_intra_matrix16, s->chroma_intra_matrix, s->intra_quant_bias, 8, 8, 1); s->qscale = 8; - } } if (s->pict_type == AV_PICTURE_TYPE_I) { _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".