aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/ffv1_parse.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2025-03-19 01:30:47 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2025-03-24 13:46:58 +0100
commit171060d5dc54d1526abde736a711ce234df632f2 (patch)
treeb41bd98497f8786ebbc14656b4dc151a7ad9d7a0 /libavcodec/ffv1_parse.c
parent62c7d08947f5a92d49c74b04f37df7d2c245846c (diff)
downloadffmpeg-171060d5dc54d1526abde736a711ce234df632f2.tar.gz
avcodec/ffv1: 32-bit float sample support
Sponsored-by: Sovereign Tech Fund Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/ffv1_parse.c')
-rw-r--r--libavcodec/ffv1_parse.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/libavcodec/ffv1_parse.c b/libavcodec/ffv1_parse.c
index 9745f9de69..10f3652ff5 100644
--- a/libavcodec/ffv1_parse.c
+++ b/libavcodec/ffv1_parse.c
@@ -419,6 +419,16 @@ int ff_ffv1_parse_header(FFV1Context *f, RangeCoder *c, uint8_t *state)
} else
f->pix_fmt = AV_PIX_FMT_GBRAP16;
f->use32bit = 1;
+ } else if (f->avctx->bits_per_raw_sample == 32 && !f->transparency) {
+ if (f->flt) {
+ f->pix_fmt = AV_PIX_FMT_GBRPF32;
+ }
+ f->use32bit = 1;
+ } else if (f->avctx->bits_per_raw_sample == 32 && f->transparency) {
+ if (f->flt) {
+ f->pix_fmt = AV_PIX_FMT_GBRAPF32;
+ }
+ f->use32bit = 1;
}
} else {
av_log(f->avctx, AV_LOG_ERROR, "colorspace not supported\n");