summaryrefslogtreecommitdiff
path: root/libavcodec/x86
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2022-09-22 15:54:22 -0300
committerJames Almer <jamrial@gmail.com>2022-09-22 18:17:26 -0300
commit0627e6d74ce6f28287ea787c099a0f9fe4baaacb (patch)
tree07289c2dab50e3fcd9bb9b1c0be3c03baafe4457 /libavcodec/x86
parentc8c4a162fc18c0fd99bada66d9ea3b48c64b2450 (diff)
avcodec/lpc: zero the middle odd sample in the output
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavcodec/x86')
-rw-r--r--libavcodec/x86/lpc.asm10
1 files changed, 7 insertions, 3 deletions
diff --git a/libavcodec/x86/lpc.asm b/libavcodec/x86/lpc.asm
index ad74f1d8ac..61a5796e5d 100644
--- a/libavcodec/x86/lpc.asm
+++ b/libavcodec/x86/lpc.asm
@@ -37,7 +37,7 @@ SECTION .text
%macro APPLY_WELCH_FN 0
cglobal lpc_apply_welch_window, 3, 5, 8, data, len, out, off1, off2
cmp lenq, 0
- je .end
+ je .end_e
cmp lenq, 2
je .two
cmp lenq, 1
@@ -104,7 +104,7 @@ cglobal lpc_apply_welch_window, 3, 5, 8, data, len, out, off1, off2
add lend, (mmsize/4 - 1)
cmp lend, 0
- je .end
+ je .end_o
sub lenq, (mmsize/4 - 1)
.scalar_o:
@@ -135,6 +135,10 @@ cglobal lpc_apply_welch_window, 3, 5, 8, data, len, out, off1, off2
sub lenq, 2
jg .loop_o_scalar
+
+.end_o:
+ xorpd xm3, xm3
+ movlpd [outq + off1q*2], xm3
RET
.even:
@@ -233,7 +237,7 @@ cglobal lpc_apply_welch_window, 3, 5, 8, data, len, out, off1, off2
.one:
xorpd xm0, xm0
movhpd [outq], xm0
-.end:
+.end_e:
RET
%endmacro