Merge commit '2c299d4165cd9653153e12270971c2368551b79e'

* commit '2c299d4165cd9653153e12270971c2368551b79e':
  x86: sbrdsp: implement SSE2 qmf_pre_shuffle

Conflicts:
	libavcodec/x86/sbrdsp.asm
	libavcodec/x86/sbrdsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2013-05-10 23:16:09 +02:00
commit 5e1278c640

View File

@ -292,23 +292,23 @@ INIT_XMM sse2
SBR_QMF_DEINT_BFLY SBR_QMF_DEINT_BFLY
INIT_XMM sse2 INIT_XMM sse2
cglobal sbr_qmf_pre_shuffle, 1,4,7,z cglobal sbr_qmf_pre_shuffle, 1,4,6,z
%define OFFSET (32*4-2*mmsize) %define OFFSET (32*4-2*mmsize)
mov r3q, OFFSET mov r3q, OFFSET
lea r1q, [zq + (32+1)*4] lea r1q, [zq + (32+1)*4]
lea r2q, [zq + 64*4] lea r2q, [zq + 64*4]
mova m6, [ps_neg] mova m5, [ps_neg]
.loop: .loop:
movu m0, [r1q] movu m0, [r1q]
movu m2, [r1q + mmsize] movu m2, [r1q + mmsize]
movu m1, [zq + r3q + 4 + mmsize] movu m1, [zq + r3q + 4 + mmsize]
movu m3, [zq + r3q + 4] movu m3, [zq + r3q + 4]
pxor m2, m6 pxor m2, m5
pxor m0, m6 pxor m0, m5
pshufd m2, m2, q0123 pshufd m2, m2, q0123
pshufd m0, m0, q0123 pshufd m0, m0, q0123
SBUTTERFLY dq, 2, 3, 5 SBUTTERFLY dq, 2, 3, 4
SBUTTERFLY dq, 0, 1, 4 SBUTTERFLY dq, 0, 1, 4
mova [r2q + 2*r3q + 0*mmsize], m2 mova [r2q + 2*r3q + 0*mmsize], m2
mova [r2q + 2*r3q + 1*mmsize], m3 mova [r2q + 2*r3q + 1*mmsize], m3
@ -317,7 +317,7 @@ cglobal sbr_qmf_pre_shuffle, 1,4,7,z
add r1q, 2*mmsize add r1q, 2*mmsize
sub r3q, 2*mmsize sub r3q, 2*mmsize
jge .loop jge .loop
mova m2, [zq] movq m2, [zq]
movq [r2q], m2 movq [r2q], m2
REP_RET REP_RET