v1 of patches 2-3 (NEON YUV2RGB + checkasm expansion) exposed a
pre-existing bug in the LoongArch LASX YUV2RGB path: the res variable
(residual pixel count for widths not divisible by 16) is destructively
modified by DEALYUV2RGBLINERES/DEALYUV2RGBLINERES32 inside the row
loop, producing wrong output when srcSliceH > 2. v2 prepends a fix.
Changes since v1:
- NEW patch 1/3: fix LoongArch LASX res variable across row iterations
- Patches 2/3 and 3/3 unchanged from v1
David Christle (3):
swscale/loongarch: fix LASX YUV2RGB residual for multi-row slices
swscale/aarch64: add NEON YUV420P/YUV422P/YUVA420P to RGB conversion
tests/checkasm/sw_yuv2rgb: test multi-row conversion with padded
strides
libswscale/aarch64/swscale_unscaled.c | 90 ++++++++++++++++++
libswscale/aarch64/yuv2rgb_neon.S | 130 +++++++++++++++++++++++---
libswscale/loongarch/yuv2rgb_lasx.c | 2 +
libswscale/swscale_internal.h | 1 +
libswscale/yuv2rgb.c | 2 +
tests/checkasm/sw_yuv2rgb.c | 96 +++++++++----------
6 files changed, 259 insertions(+), 62 deletions(-)
--
2.52.0
_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]