[FFmpeg-cvslog] ffv1: Error out on unsupported format

Jerome Martinez git at videolan.org
Wed Jul 13 17:41:18 CEST 2016


ffmpeg | branch: master | Jerome Martinez <jerome at mediaarea.net> | Thu Jun 16 16:33:55 2016 +0200| [ec9f04423b82afa323e90f5b2c677be74302c1fd] | committer: Luca Barbato

ffv1: Error out on unsupported format

Transparency is supported only by YUV and within specific bit depths.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ec9f04423b82afa323e90f5b2c677be74302c1fd
---

 libavcodec/ffv1dec.c |   11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/libavcodec/ffv1dec.c b/libavcodec/ffv1dec.c
index 467fd0d..de3a019 100644
--- a/libavcodec/ffv1dec.c
+++ b/libavcodec/ffv1dec.c
@@ -597,6 +597,12 @@ static int read_header(FFV1Context *f)
     }
 
     if (f->colorspace == 0) {
+        if (f->transparency && f->avctx->bits_per_raw_sample > 8) {
+            av_log(f->avctx, AV_LOG_ERROR,
+                   "Transparency not supported for bit depth %d\n",
+                   f->avctx->bits_per_raw_sample);
+            return AVERROR(ENOSYS);
+        }
         if (!f->transparency && !f->chroma_planes) {
             if (f->avctx->bits_per_raw_sample <= 8)
                 f->avctx->pix_fmt = AV_PIX_FMT_GRAY8;
@@ -695,6 +701,11 @@ static int read_header(FFV1Context *f)
                    "chroma subsampling not supported in this colorspace\n");
             return AVERROR(ENOSYS);
         }
+        if (f->transparency) {
+            av_log(f->avctx, AV_LOG_ERROR,
+                   "Transparency not supported in this colorspace\n");
+                   return AVERROR(ENOSYS);
+        }
         switch (f->avctx->bits_per_raw_sample) {
         case 0:
         case 8:



More information about the ffmpeg-cvslog mailing list