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

swscale/swscale_unscaled: fix planarRgbToplanarRgbWrapper() for formats with bpc between 9-14 bits

Currently, planarRgbToplanarRgbWrapper() always sets the alpha value to 255,
without taking the bit depth into consideration.

This commit restricts the alpha value to the bit depth.
This commit is contained in:
Ramiro Polla
2025-05-18 23:02:27 +02:00
parent 748e960e04
commit d028cf03b8

View File

@ -1378,8 +1378,15 @@ static int planarRgbToplanarRgbWrapper(SwsInternal *c,
dst[1], dstStride[1]);
ff_copyPlane(src[2], srcStride[2], srcSliceY, srcSliceH, c->opts.src_w,
dst[2], dstStride[2]);
if (dst[3])
fillPlane(dst[3], dstStride[3], c->opts.src_w, srcSliceH, srcSliceY, 255);
if (dst[3]) {
if (is16BPS(c->opts.dst_format) || isNBPS(c->opts.dst_format)) {
const AVPixFmtDescriptor *desc_dst = av_pix_fmt_desc_get(c->opts.dst_format);
fillPlane16(dst[3], dstStride[3], c->opts.src_w, srcSliceH, srcSliceY, 1,
desc_dst->comp[3].depth, isBE(c->opts.dst_format));
} else {
fillPlane(dst[3], dstStride[3], c->opts.src_w, srcSliceH, srcSliceY, 255);
}
}
return srcSliceH;
}