avcodec/mjpegenc: disallow encoding amv with height%16!=0
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 1 Jun 2014 01:57:17 +0000 (03:57 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 1 Jun 2014 02:00:47 +0000 (04:00 +0200)
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>
libavcodec/mjpegenc.c

index 842528e..e33e75f 100644 (file)
@@ -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);