mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-06 15:49:50 +08:00
x86/swr: add SSE2/AVX pack_8ch functions
Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
@ -107,6 +107,43 @@
|
||||
SWAP %5, %2, %3
|
||||
%endmacro
|
||||
|
||||
%macro TRANSPOSE8x4D 9-11
|
||||
%if ARCH_X86_64
|
||||
SBUTTERFLY dq, %1, %2, %9
|
||||
SBUTTERFLY dq, %3, %4, %9
|
||||
SBUTTERFLY dq, %5, %6, %9
|
||||
SBUTTERFLY dq, %7, %8, %9
|
||||
SBUTTERFLY qdq, %1, %3, %9
|
||||
SBUTTERFLY qdq, %2, %4, %9
|
||||
SBUTTERFLY qdq, %5, %7, %9
|
||||
SBUTTERFLY qdq, %6, %8, %9
|
||||
SWAP %2, %5
|
||||
SWAP %4, %7
|
||||
%else
|
||||
; in: m0..m7
|
||||
; out: m0..m7, unless %11 in which case m2 is in %9
|
||||
; spills into %9 and %10
|
||||
movdqa %9, m%7
|
||||
SBUTTERFLY dq, %1, %2, %7
|
||||
movdqa %10, m%2
|
||||
movdqa m%7, %9
|
||||
SBUTTERFLY dq, %3, %4, %2
|
||||
SBUTTERFLY dq, %5, %6, %2
|
||||
SBUTTERFLY dq, %7, %8, %2
|
||||
SBUTTERFLY qdq, %1, %3, %2
|
||||
movdqa %9, m%3
|
||||
movdqa m%2, %10
|
||||
SBUTTERFLY qdq, %2, %4, %3
|
||||
SBUTTERFLY qdq, %5, %7, %3
|
||||
SBUTTERFLY qdq, %6, %8, %3
|
||||
SWAP %2, %5
|
||||
SWAP %4, %7
|
||||
%if %0<11
|
||||
movdqa m%3, %9
|
||||
%endif
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
%macro TRANSPOSE8x8W 9-11
|
||||
%if ARCH_X86_64
|
||||
SBUTTERFLY wd, %1, %2, %9
|
||||
|
Reference in New Issue
Block a user