[FFmpeg-cvslog] swscale/swscale_unscaled: fix planarCopyWrapper() for yuv444p => yuva444p
Ramiro Polla
git at videolan.org
Fri May 23 01:08:55 EEST 2025
ffmpeg | branch: master | Ramiro Polla <ramiro.polla at gmail.com> | Sun May 18 22:52:07 2025 +0200| [a16c053a333b43d547b01834a6c89dde2459c8b5] | committer: Ramiro Polla
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.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a16c053a333b43d547b01834a6c89dde2459c8b5
---
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,
More information about the ffmpeg-cvslog
mailing list