From a16c053a333b43d547b01834a6c89dde2459c8b5 Mon Sep 17 00:00:00 2001 From: Ramiro Polla Date: Sun, 18 May 2025 22:52:07 +0200 Subject: [PATCH] swscale/swscale_unscaled: fix planarCopyWrapper() for yuv444p => yuva444p Currently, planarCopyWrapper() assumes that src[3] must be NULL when the source format has no alpha plane. This commit updates the condition for filling the alpha plane based on the number of components available in the source format as well. --- libswscale/swscale_unscaled.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c index b84120549e..307e5471a9 100644 --- a/libswscale/swscale_unscaled.c +++ b/libswscale/swscale_unscaled.c @@ -2221,7 +2221,7 @@ static int planarCopyWrapper(SwsInternal *c, const uint8_t *const src[], // ignore palette for GRAY8 if (plane == 1 && desc_dst->nb_components < 3) continue; - if (!src[plane] || (plane == 1 && desc_src->nb_components < 3)) { + if (!src[plane] || (plane == 1 && desc_src->nb_components < 3) || (plane == 3 && desc_src->nb_components <= 3)) { if (is16BPS(c->opts.dst_format) || isNBPS(c->opts.dst_format)) { fillPlane16(dst[plane], dstStride[plane], length, height, y, plane == 3, desc_dst->comp[plane].depth,