diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2021-12-21 23:14:29 +0100 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-01-04 16:28:54 +0100 |
commit | 4d39a4db68b564c359c0c561e456b75f755b901f (patch) | |
tree | 42ed39dda8cf2efc38cf819d5b572eefc261414b /libavcodec | |
parent | 26e117a14dca123e00237e471abf9aa3e5eea812 (diff) | |
download | ffmpeg-4d39a4db68b564c359c0c561e456b75f755b901f.tar.gz |
avcodec/mpegvideo_enc: Move MJPEG init checks to mjpegenc.c
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/mjpegenc.c | 10 | ||||
-rw-r--r-- | libavcodec/mpegvideo_enc.c | 12 |
2 files changed, 10 insertions, 12 deletions
diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c index c4c45c885b..57f249f56e 100644 --- a/libavcodec/mjpegenc.c +++ b/libavcodec/mjpegenc.c @@ -276,6 +276,16 @@ av_cold int ff_mjpeg_encode_init(MpegEncContext *s) av_assert0(s->slice_context_count == 1); + if (s->codec_id == AV_CODEC_ID_AMV || (s->avctx->active_thread_type & FF_THREAD_SLICE)) + s->huffman = 0; + + if (s->mpv_flags & FF_MPV_FLAG_QP_RD) { + // Used to produce garbage with MJPEG. + av_log(s->avctx, AV_LOG_ERROR, + "QP RD is no longer compatible with MJPEG or AMV\n"); + return AVERROR(EINVAL); + } + /* The following check is automatically true for AMV, * but it doesn't hurt either. */ ret = ff_mjpeg_encode_check_pix_fmt(s->avctx); diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index d2520368e1..7e45fd0ff3 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -370,9 +370,6 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx) return AVERROR(EINVAL); } - if (avctx->codec_id == AV_CODEC_ID_AMV || (avctx->active_thread_type & FF_THREAD_SLICE)) - s->huffman = 0; - if (s->intra_dc_precision > (avctx->codec_id == AV_CODEC_ID_MPEG2VIDEO ? 3 : 0)) { av_log(avctx, AV_LOG_ERROR, "intra dc precision too large\n"); return AVERROR(EINVAL); @@ -573,15 +570,6 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx) return AVERROR(EINVAL); } - if ((s->mpv_flags & FF_MPV_FLAG_QP_RD) && - (s->codec_id == AV_CODEC_ID_AMV || - s->codec_id == AV_CODEC_ID_MJPEG)) { - // Used to produce garbage with MJPEG. - av_log(avctx, AV_LOG_ERROR, - "QP RD is no longer compatible with MJPEG or AMV\n"); - return AVERROR(EINVAL); - } - if (s->scenechange_threshold < 1000000000 && (avctx->flags & AV_CODEC_FLAG_CLOSED_GOP)) { av_log(avctx, AV_LOG_ERROR, |