diff options
author | Jerome Martinez <jerome@mediaarea.net> | 2016-06-16 16:33:55 +0200 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2016-06-18 12:46:43 +0200 |
commit | ec9f04423b82afa323e90f5b2c677be74302c1fd (patch) | |
tree | 50528a0d33e07357cbb401b5d7168c257efa6726 | |
parent | 105998fb5ca3c343f5c8cb39ce3197f87a5e4d36 (diff) | |
download | ffmpeg-ec9f04423b82afa323e90f5b2c677be74302c1fd.tar.gz |
ffv1: Error out on unsupported format
Transparency is supported only by YUV and within specific bit depths.
-rw-r--r-- | libavcodec/ffv1dec.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libavcodec/ffv1dec.c b/libavcodec/ffv1dec.c index 467fd0dede..de3a019557 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: |