summaryrefslogtreecommitdiff
path: root/libavutil/x86/tx_float.asm
diff options
context:
space:
mode:
authorLynne <dev@lynne.ee>2021-07-18 15:00:48 +0200
committerLynne <dev@lynne.ee>2021-07-18 15:04:57 +0200
commit997f9bdb99de18b27f8f213f381c5e90536a1be9 (patch)
tree4b9d5a4ccdc550c3f1a2befbcaad1e952a4a8dcd /libavutil/x86/tx_float.asm
parent694545b6d5fff5a8242b5fab8c1746e74a06f9ba (diff)
downloadffmpeg-997f9bdb99de18b27f8f213f381c5e90536a1be9.tar.gz
x86/tx_float: correctly load the transform length
The field is a standard field, yet we were loading it as if it was a quadword. This worked for forward transforms by chance, but broke when the transform was inverse. checkasm couldn't catch that because we only test forward transforms, which are identical to inverse transforms but with a different revtab.
Diffstat (limited to 'libavutil/x86/tx_float.asm')
-rw-r--r--libavutil/x86/tx_float.asm2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavutil/x86/tx_float.asm b/libavutil/x86/tx_float.asm
index b71fb49592..4d2283fae1 100644
--- a/libavutil/x86/tx_float.asm
+++ b/libavutil/x86/tx_float.asm
@@ -884,7 +884,7 @@ ALIGN 16
%macro FFT_SPLIT_RADIX_FN 1
INIT_YMM %1
cglobal split_radix_fft_float, 4, 8, 16, 272, lut, out, in, len, tmp, itab, rtab, tgt
- mov lenq, [lutq + AVTXContext.m]
+ movsxd lenq, dword [lutq + AVTXContext.m]
mov lutq, [lutq + AVTXContext.revtab]
mov tgtq, lenq