Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLynne <dev@lynne.ee>2019-04-24 14:19:48 +0300
committerJames Almer <jamrial@gmail.com>2019-04-27 02:39:38 +0300
commit4b7166c9d57d3cc7ece02171338a27e129b12250 (patch)
treed2e3baac149d4bb6436ffda5cb50aa0cbc89fc31 /libavcodec/x86
parentc2f305ca17e3b33a439137c86cee84fcdfaf7bb3 (diff)
x86/opusdsp: replace loads with shuffles
Has a slight speedup. Can't be carried over to aarch64, since it has no shufps-like instruction. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavcodec/x86')
-rw-r--r--libavcodec/x86/opusdsp.asm9
1 files changed, 3 insertions, 6 deletions
diff --git a/libavcodec/x86/opusdsp.asm b/libavcodec/x86/opusdsp.asm
index 6c99821b89..f5d206a8b1 100644
--- a/libavcodec/x86/opusdsp.asm
+++ b/libavcodec/x86/opusdsp.asm
@@ -24,9 +24,6 @@ SECTION_RODATA
; 0.85..^1 0.85..^2 0.85..^3 0.85..^4
tab_st: dd 0x3f599a00, 0x3f38f671, 0x3f1d382a, 0x3f05a32f
-tab_x0: dd 0x0, 0x3f599a00, 0x3f599a00, 0x3f599a00
-tab_x1: dd 0x0, 0x0, 0x3f38f671, 0x3f38f671
-tab_x2: dd 0x0, 0x0, 0x0, 0x3f1d382a
SECTION .text
@@ -45,9 +42,9 @@ cglobal opus_deemphasis, 4, 4, 8, out, in, coeff, len
%endif
movaps m4, [tab_st]
- movaps m5, [tab_x0]
- movaps m6, [tab_x1]
- movaps m7, [tab_x2]
+ VBROADCASTSS m5, m4
+ shufps m6, m4, m4, q1111
+ shufps m7, m4, m4, q2222
.loop:
movaps m1, [inq] ; x0, x1, x2, x3