]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/mxpegdec.c
h264: reject unsupported 422 9 bit streams
[ffmpeg] / libavcodec / mxpegdec.c
index 78067c995f9d181500bb74ecdb556a87cd665e46..609440650b4bcc0b6b6fa0726c30e614dd464ece 100644 (file)
@@ -47,9 +47,7 @@ static av_cold int mxpeg_decode_init(AVCodecContext *avctx)
 
     s->picture[0].reference = s->picture[1].reference = 3;
     s->jpg.picture_ptr      = &s->picture[0];
-    ff_mjpeg_decode_init(avctx);
-
-    return 0;
+    return ff_mjpeg_decode_init(avctx);
 }
 
 static int mxpeg_decode_app(MXpegDecodeContext *s,
@@ -276,9 +274,13 @@ static int mxpeg_decode_frame(AVCodecContext *avctx,
                         return AVERROR(ENOMEM);
                     }
 
-                    ff_mjpeg_decode_sos(jpg, s->mxm_bitmask, reference_ptr);
+                    ret = ff_mjpeg_decode_sos(jpg, s->mxm_bitmask, reference_ptr);
+                    if (ret < 0 && avctx->error_recognition >= FF_ER_EXPLODE)
+                        return ret;
                 } else {
-                    ff_mjpeg_decode_sos(jpg, NULL, NULL);
+                    ret = ff_mjpeg_decode_sos(jpg, NULL, NULL);
+                    if (ret < 0 && avctx->error_recognition >= FF_ER_EXPLODE)
+                        return ret;
                 }
 
                 break;