1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-04 22:03:09 +02:00

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.
This commit is contained in:
Ramiro Polla
2025-05-18 22:52:07 +02:00
parent db5e0e2ef9
commit a16c053a33

View File

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