diff options
author | James Almer <jamrial@gmail.com> | 2014-07-26 04:47:14 -0300 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-07-26 18:00:11 +0200 |
commit | 1ace9573dce509e2b25165199c3b658667860ecf (patch) | |
tree | 9a50b2c470620bfe22f1541b6815f15bc1661b75 /libavutil/x86 | |
parent | 23480da0aa70b045b7b8dea7da8fedde0bcd7062 (diff) |
x86/hevc_idct: replace old and unused idct functions
Only 8-bit and 10-bit idct_dc() functions are included (adding others should be trivial).
Benchmarks on an Intel Core i5-4200U:
idct8x8_dc
SSE2 MMXEXT C
cycles 22 26 57
idct16x16_dc
AVX2 SSE2 C
cycles 27 32 249
idct32x32_dc
AVX2 SSE2 C
cycles 62 126 1375
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Mickaƫl Raulet <mraulet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavutil/x86')
-rw-r--r-- | libavutil/x86/x86util.asm | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libavutil/x86/x86util.asm b/libavutil/x86/x86util.asm index 9fb4778547..824e449d24 100644 --- a/libavutil/x86/x86util.asm +++ b/libavutil/x86/x86util.asm @@ -598,7 +598,9 @@ %endmacro %macro SPLATW 2-3 0 -%if mmsize == 16 +%if cpuflag(avx2) && %3 == 0 + vpbroadcastw %1, %2 +%elif mmsize == 16 pshuflw %1, %2, (%3)*0x55 punpcklqdq %1, %1 %elif cpuflag(mmxext) |