[FFmpeg-devel] [PATCH 1/2] aarch64: vvc: Fix compilation of alf.S with MSVC 2022 17.7 and older

Martin Storsjö martin at martin.st
Tue Jul 23 14:28:20 EEST 2024


Use the "ldur" instruction explicitly, instead of having the
assembler implicitly convert "ldr" instructions to "ldur".

This fixes build errors like these:

libavcodec\aarch64\vvc\alf.o.asm(1023) : error A2518: operand 2: Memory offset must be aligned
        ldr             q22, [x3, #24]
libavcodec\aarch64\vvc\alf.o.asm(1024) : error A2518: operand 2: Memory offset must be aligned
        ldr             q24, [x2, #24]
libavcodec\aarch64\vvc\alf.o.asm(1393) : error A2518: operand 2: Memory offset must be aligned
        ldr             q22, [x3, #24]
libavcodec\aarch64\vvc\alf.o.asm(1394) : error A2518: operand 2: Memory offset must be aligned
        ldr             q24, [x2, #24]
---
 libavcodec/aarch64/vvc/alf.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/aarch64/vvc/alf.S b/libavcodec/aarch64/vvc/alf.S
index beb36ac66b..828031cb90 100644
--- a/libavcodec/aarch64/vvc/alf.S
+++ b/libavcodec/aarch64/vvc/alf.S
@@ -81,8 +81,8 @@
     .endif
         ldr             q0, [clip]                  // clip
         ldr             q1, [filter]                // filter
-        ldr             q22, [clip, #24]            // clip
-        ldr             q24, [filter, #24]          // filter
+        ldur            q22, [clip, #24]            // clip
+        ldur            q24, [filter, #24]          // filter
 
         ldr             x5, [pp]                    // x5: p0
         ldr             x6, [pp, #(5*8)]            // x6: p5
-- 
2.34.1



More information about the ffmpeg-devel mailing list