diff mbox series

[FFmpeg-devel] libswscale: arm: Don't assume aligned output in yuv2rgb functions

Message ID 20240819083952.1390578-1-martin@martin.st
State Accepted
Headers show
Series [FFmpeg-devel] libswscale: arm: Don't assume aligned output in yuv2rgb functions | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Martin Storsjö Aug. 19, 2024, 8:39 a.m. UTC
This fixes failures in recently added checkasm tests.

While the buffers in most cases are aligned, libswscale in general
can't assume the output to be aligned.
---
This fixes FATE failures like in
http://fate.ffmpeg.org/report.cgi?time=20240819041749&slot=armv7-linux-gcc-9.
---
 libswscale/arm/yuv2rgb_neon.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Martin Storsjö Aug. 19, 2024, 7:39 p.m. UTC | #1
On Mon, 19 Aug 2024, Martin Storsjö wrote:

> This fixes failures in recently added checkasm tests.
>
> While the buffers in most cases are aligned, libswscale in general
> can't assume the output to be aligned.
> ---
> This fixes FATE failures like in
> http://fate.ffmpeg.org/report.cgi?time=20240819041749&slot=armv7-linux-gcc-9.
> ---
> libswscale/arm/yuv2rgb_neon.S | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/libswscale/arm/yuv2rgb_neon.S b/libswscale/arm/yuv2rgb_neon.S
> index 10950e70b4..474465427d 100644
> --- a/libswscale/arm/yuv2rgb_neon.S
> +++ b/libswscale/arm/yuv2rgb_neon.S
> @@ -75,8 +75,8 @@
>     vzip.8              d7, d11                                        @ d7 = G1G2G3G4G5G6G7G8 d11 = G9G10G11G12G13G14G15G16
>     vzip.8              d8, d12                                        @ d8 = B1B2B3B4B5B6B7B8 d12 = B9B10B11B12B13B14B15B16
>     vzip.8              d9, d13                                        @ d9 = A1A2A3A4A5A6A7A8 d13 = A9A10A11A12A13A14A15A16
> -    vst4.8              {q3, q4}, [\dst,:128]!
> -    vst4.8              {q5, q6}, [\dst,:128]!
> +    vst4.8              {q3, q4}, [\dst]!
> +    vst4.8              {q5, q6}, [\dst]!
> .endm
>
> .macro process_1l_internal dst src ofmt
> -- 
> 2.34.1

OK'd by Jan and Rémi on irc, will push soon.

// Martin
diff mbox series

Patch

diff --git a/libswscale/arm/yuv2rgb_neon.S b/libswscale/arm/yuv2rgb_neon.S
index 10950e70b4..474465427d 100644
--- a/libswscale/arm/yuv2rgb_neon.S
+++ b/libswscale/arm/yuv2rgb_neon.S
@@ -75,8 +75,8 @@ 
     vzip.8              d7, d11                                        @ d7 = G1G2G3G4G5G6G7G8 d11 = G9G10G11G12G13G14G15G16
     vzip.8              d8, d12                                        @ d8 = B1B2B3B4B5B6B7B8 d12 = B9B10B11B12B13B14B15B16
     vzip.8              d9, d13                                        @ d9 = A1A2A3A4A5A6A7A8 d13 = A9A10A11A12A13A14A15A16
-    vst4.8              {q3, q4}, [\dst,:128]!
-    vst4.8              {q5, q6}, [\dst,:128]!
+    vst4.8              {q3, q4}, [\dst]!
+    vst4.8              {q5, q6}, [\dst]!
 .endm
 
 .macro process_1l_internal dst src ofmt