1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-28 20:53:54 +02:00
FFmpeg/libavutil/x86
Ronald S. Bultje f0a2b6249b vp9: add 16x16 idct avx2 (8-bit).
checkasm --bench, 10k runs, for *_add_${bpc}_${sub_idct}_${opt}, shows
that it's about 1.65x as fast as the AVX version for the full IDCT, and
similar speedups for the sub-IDCTs:

nop: 24.6
vp9_inv_dct_dct_16x16_add_8_1_c: 6444.8
vp9_inv_dct_dct_16x16_add_8_1_sse2: 638.6
vp9_inv_dct_dct_16x16_add_8_1_ssse3: 484.4
vp9_inv_dct_dct_16x16_add_8_1_avx: 661.2
vp9_inv_dct_dct_16x16_add_8_1_avx2: 311.5
vp9_inv_dct_dct_16x16_add_8_2_c: 6665.7
vp9_inv_dct_dct_16x16_add_8_2_sse2: 646.9
vp9_inv_dct_dct_16x16_add_8_2_ssse3: 455.2
vp9_inv_dct_dct_16x16_add_8_2_avx: 521.9
vp9_inv_dct_dct_16x16_add_8_2_avx2: 304.3
vp9_inv_dct_dct_16x16_add_8_4_c: 7022.7
vp9_inv_dct_dct_16x16_add_8_4_sse2: 647.4
vp9_inv_dct_dct_16x16_add_8_4_ssse3: 467.1
vp9_inv_dct_dct_16x16_add_8_4_avx: 446.1
vp9_inv_dct_dct_16x16_add_8_4_avx2: 297.0
vp9_inv_dct_dct_16x16_add_8_8_c: 6800.4
vp9_inv_dct_dct_16x16_add_8_8_sse2: 598.6
vp9_inv_dct_dct_16x16_add_8_8_ssse3: 465.7
vp9_inv_dct_dct_16x16_add_8_8_avx: 440.9
vp9_inv_dct_dct_16x16_add_8_8_avx2: 290.2
vp9_inv_dct_dct_16x16_add_8_16_c: 6626.6
vp9_inv_dct_dct_16x16_add_8_16_sse2: 599.5
vp9_inv_dct_dct_16x16_add_8_16_ssse3: 475.0
vp9_inv_dct_dct_16x16_add_8_16_avx: 469.9
vp9_inv_dct_dct_16x16_add_8_16_avx2: 286.4
2016-07-11 10:14:58 -04:00
..
asm.h asm: FF_-prefix internal macros used in inline assembly 2016-06-27 17:21:18 +02:00
bswap.h
cpu.c asm: FF_-prefix internal macros used in inline assembly 2016-06-27 17:21:18 +02:00
cpu.h x86: add some more helper macros to check for slow cpuflags 2016-02-14 20:00:17 -03:00
cpuid.asm
emms.asm
emms.h x86/emms: empty the mmx state unconditionally on supported targets 2016-02-04 01:49:01 -03:00
fixed_dsp_init.c
fixed_dsp.asm
float_dsp_init.c x86: use the new helper macros where useful 2016-02-14 20:00:21 -03:00
float_dsp.asm
intmath.h lavu/intmath.h: fix compilation with msvc10. 2016-06-13 13:49:24 +10:00
intreadwrite.h
lls_init.c x86: use the new helper macros where useful 2016-02-14 20:00:21 -03:00
lls.asm
Makefile
pixelutils_init.c
pixelutils.asm
pixelutils.h
timer.h
w64xmmtest.h all: Add missing header guards 2016-01-28 19:49:48 -08:00
x86inc.asm x86inc: Enable AVX emulation in additional cases 2016-04-20 19:16:22 +02:00
x86util.asm vp9: add 16x16 idct avx2 (8-bit). 2016-07-11 10:14:58 -04:00