1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-08 13:22:53 +02:00

ffv1: Error out on unsupported format

Transparency is supported only by YUV and within specific bit depths.
This commit is contained in:
Jerome Martinez 2016-06-16 16:33:55 +02:00 committed by Luca Barbato
parent 105998fb5c
commit ec9f04423b

View File

@ -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: