This is an automated email from the git hooks/post-receive script.
Git pushed a commit to branch master
in repository ffmpeg.
The following commit(s) were added to refs/heads/master by this push:
new dace243da8 swscale/aarch64: fix signed load in yuv2planeX_10
dace243da8 is described below
commit dace243da83ff60c8c21026f99d8239d0458fc47
Author: Greg Falcon <[email protected]>
AuthorDate: Tue Oct 27 12:58:57 2026 -0400
Commit: Marvin Scholz <[email protected]>
CommitDate: Tue Nov 3 21:19:50 2026 +0000
swscale/aarch64: fix signed load in yuv2planeX_10
The horizontal scaler intermediate buffer holds signed 16-bit samples
that can be negative when scaling with filters that have negative lobes
(such as bicubic). The 16-pixel and 8-pixel NEON vector loops in
ff_yuv2planeX_10_neon treat src as signed int16_t via smlal, but the
scalar tail loop for remaining (dstW % 8) pixels used unsigned ldrh
before sxtw, interpreting negative intermediate values as large positive
values around 65536 and saturating output pixels.
Use ldrsh instead of ldrh so negative intermediate samples are properly
sign-extended in the scalar tail loop.
Signed-off-by: Marvin Scholz <[email protected]>
---
libswscale/aarch64/output.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libswscale/aarch64/output.S b/libswscale/aarch64/output.S
index a650d72f54..2e559ba1e5 100644
--- a/libswscale/aarch64/output.S
+++ b/libswscale/aarch64/output.S
@@ -165,7 +165,7 @@ function ff_yuv2planeX_10_neon, export=1
ldr x14, [x12], #8 // Load src pointer
ldrsh w15, [x13], #2 // Load filter
coefficient
add x14, x14, x7, lsl #1 // Add pixel offset
- ldrh w16, [x14]
+ ldrsh w16, [x14]
sxtw x16, w16
sxtw x15, w15
--
To stop receiving notification emails like this one, please contact
[email protected].
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]