aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRamiro Polla <ramiro.polla@gmail.com>2025-05-18 22:52:07 +0200
committerRamiro Polla <ramiro.polla@gmail.com>2025-05-22 23:59:39 +0200
commita16c053a333b43d547b01834a6c89dde2459c8b5 (patch)
tree13887926b38028ddbe762bd6cf285b58b49ba01c
parentdb5e0e2ef9dcaed955adb27255537589f37628ae (diff)
downloadffmpeg-a16c053a333b43d547b01834a6c89dde2459c8b5.tar.gz
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.
-rw-r--r--libswscale/swscale_unscaled.c2
1 files changed, 1 insertions, 1 deletions
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,