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:
parent
748e960e04
commit
d028cf03b8
1 changed files with 9 additions and 2 deletions
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue