[libav-commits] v410dec: Implement explode mode support

Derek Buitenhuis git at libav.org
Mon Jul 23 17:41:07 CEST 2012


Module: libav
Branch: master
Commit: d04c5293ce88927ad359ca276e287bfa63c2329d

Author:    Derek Buitenhuis <derek.buitenhuis at gmail.com>
Committer: Derek Buitenhuis <derek.buitenhuis at gmail.com>
Date:      Mon Jul 23 11:03:58 2012 -0400

v410dec: Implement explode mode support

Try and decode broken files, but still fail if explode
mode is enabled.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis at gmail.com>

---

 libavcodec/v410dec.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/libavcodec/v410dec.c b/libavcodec/v410dec.c
index a6f236b..d7660ee 100644
--- a/libavcodec/v410dec.c
+++ b/libavcodec/v410dec.c
@@ -29,8 +29,12 @@ static av_cold int v410_decode_init(AVCodecContext *avctx)
     avctx->bits_per_raw_sample = 10;
 
     if (avctx->width & 1) {
-        av_log(avctx, AV_LOG_ERROR, "v410 requires even width.\n");
-        return AVERROR_INVALIDDATA;
+        if (avctx->err_recognition & AV_EF_EXPLODE) {
+            av_log(avctx, AV_LOG_ERROR, "v410 requires width to be even, continuing anyway.\n");
+            return AVERROR_INVALIDDATA;
+        } else {
+            av_log(avctx, AV_LOG_WARNING, "v410 requires width to be even.\n");
+        }
     }
 
     avctx->coded_frame = avcodec_alloc_frame();



More information about the libav-commits mailing list