aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-06-01 03:57:17 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-06-01 04:00:47 +0200
commit181b2c37249c60033071b2744da4941a5f8ec0d3 (patch)
tree5ea74086de16744def57815a2ab543804b6efeb1
parent149be913741fcefece3be448f9268217479c6906 (diff)
downloadffmpeg-181b2c37249c60033071b2744da4941a5f8ec0d3.tar.gz
avcodec/mjpegenc: disallow encoding amv with height%16!=0
I do not know on which side to place the padding to encode with 16x16 MBs If someone knows or has a known to be correct sample, please contact me Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/mjpegenc.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c
index 842528e5f1..e33e75fbc8 100644
--- a/libavcodec/mjpegenc.c
+++ b/libavcodec/mjpegenc.c
@@ -539,6 +539,13 @@ static int amv_encode_picture(AVCodecContext *avctx, AVPacket *pkt,
if(s->avctx->flags & CODEC_FLAG_EMU_EDGE)
return AVERROR(EINVAL);
+ if (avctx->height & 15) {
+ av_log(avctx, AV_LOG_ERROR,
+ "Height must be a multiple of 16, also note, "
+ "if you have a AMV sample thats mod 16 != 0, please contact us\n");
+ return AVERROR(EINVAL);
+ }
+
pic = av_frame_clone(pic_arg);
if (!pic)
return AVERROR(ENOMEM);