[FFmpeg-devel] [PATCH 1/2] swscale: fix gray -> grayf32 SIGFPE
Niklas Haas
ffmpeg at haasn.xyz
Sun Mar 16 14:52:23 EET 2025
From: Niklas Haas <git at haasn.dev>
swscale internals don't distinguish between 16-bit and higher bit depth
output formats internally when it comes to the choice of intermediate
representation.
Clamping this value both prevents a SIGFPE and also aligns the check
with reality.
---
libswscale/swscale.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libswscale/swscale.c b/libswscale/swscale.c
index 98f94d029f..65ed654ebd 100644
--- a/libswscale/swscale.c
+++ b/libswscale/swscale.c
@@ -586,7 +586,7 @@ static void solve_range_convert(uint16_t src_min, uint16_t src_max,
static void init_range_convert_constants(SwsInternal *c)
{
- const int bit_depth = c->dstBpc ? c->dstBpc : 8;
+ const int bit_depth = c->dstBpc ? FFMIN(c->dstBpc, 16) : 8;
const int src_bits = bit_depth <= 14 ? 15 : 19;
const int src_shift = src_bits - bit_depth;
const int mult_shift = bit_depth <= 14 ? 14 : 18;
--
2.48.1
More information about the ffmpeg-devel
mailing list