@@ -144,6 +144,14 @@ static av_cold int encode_init(AVCodecContext *avctx)
{
int ret;
MpegEncContext *s = avctx->priv_data;
+ int max_size = avctx->codec_id == AV_CODEC_ID_MPEG2VIDEO ? 16383 : 4095;
+
+ if (avctx->width > max_size || avctx->height > max_size) {
+ av_log(avctx, AV_LOG_ERROR, "%s does not support resolutions above %dx%d\n",
+ CONFIG_SMALL ? avctx->codec->name : avctx->codec->long_name,
+ max_size, max_size);
+ return AVERROR(EINVAL);
+ }
if ((ret = ff_mpv_encode_init(avctx)) < 0)
return ret;
@@ -534,20 +534,6 @@ FF_ENABLE_DEPRECATION_WARNINGS
return AVERROR(EINVAL);
}
- if (s->codec_id == AV_CODEC_ID_MPEG1VIDEO &&
- (avctx->width > 4095 ||
- avctx->height > 4095 )) {
- av_log(avctx, AV_LOG_ERROR, "MPEG-1 does not support resolutions above 4095x4095\n");
- return AVERROR(EINVAL);
- }
-
- if (s->codec_id == AV_CODEC_ID_MPEG2VIDEO &&
- (avctx->width > 16383 ||
- avctx->height > 16383 )) {
- av_log(avctx, AV_LOG_ERROR, "MPEG-2 does not support resolutions above 16383x16383\n");
- return AVERROR(EINVAL);
- }
-
if (s->codec_id == AV_CODEC_ID_RV10 &&
(avctx->width &15 ||
avctx->height&15 )) {
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- libavcodec/mpeg12enc.c | 8 ++++++++ libavcodec/mpegvideo_enc.c | 14 -------------- 2 files changed, 8 insertions(+), 14 deletions(-)