ffmpeg/libavcodec/x86
Christophe GISQUET 2784d18791 SBR DSP x86: implement SSE sbr_hf_g_filt
Unrolling the main loop to process, instead of 4 elements:
- 8: minor gain of 2 cycles (not worth the extra object size)
- 2: loss of 8 cycles.

Assigning STEP to a register is a loss. Output address (Y) is almost always
unaligned.

Timings:
- C (32/64 bits): 117/109 cycles
- SSE: 57 cycles

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-02-23 15:50:09 -08:00
..
ac3dsp_mmx.c x86: Move some variable declarations below the appropriat #ifdef. 2011-10-20 16:19:27 +02:00
ac3dsp.asm ac3dsp: do not use pshufb in ac3_extract_exponents_ssse3() 2012-02-09 21:04:44 -05:00
cabac.h x86: Require 7 registers for the cabac asm 2011-12-12 15:36:20 +02:00
cavsdsp_mmx.c
dct32_sse.asm config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +08:00
deinterlace.asm
dnxhd_mmx.c
dsputil_mmx_avg_template.c
dsputil_mmx_qns_template.c
dsputil_mmx_rnd_template.c
dsputil_mmx.c dsputil: Add ff_ prefix to the dsputil*_init* functions 2012-02-15 22:06:34 +02:00
dsputil_mmx.h dsputil: Add ff_ prefix to the dsputil*_init* functions 2012-02-15 22:06:34 +02:00
dsputil_yasm.asm Fix a typo in the x86 asm version of ff_vector_clip_int32() 2012-02-01 19:02:32 -05:00
dsputilenc_mmx.c dsputil: Add ff_ prefix to the dsputil*_init* functions 2012-02-15 22:06:34 +02:00
dsputilenc_yasm.asm config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +08:00
fdct_mmx.c cosmetics: Delete empty lines at end of file. 2012-02-09 12:26:45 +01:00
fft_3dn2.c cosmetics: Delete empty lines at end of file. 2012-02-09 12:26:45 +01:00
fft_3dn.c
fft_mmx.asm config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +08:00
fft_sse.c cosmetics: Delete empty lines at end of file. 2012-02-09 12:26:45 +01:00
fft.c cosmetics: Delete empty lines at end of file. 2012-02-09 12:26:45 +01:00
fft.h
fmtconvert_mmx.c x86: Place mm_flags variable declaration below the appropriate #ifdef. 2012-01-30 23:58:23 +01:00
fmtconvert.asm config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +08:00
h264_chromamc_10bit.asm config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +08:00
h264_chromamc.asm config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +08:00
h264_deblock_10bit.asm config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +08:00
h264_deblock.asm h264: don't use redzone in loopfilter on win64. 2012-02-19 15:31:03 -08:00
h264_i386.h x86: Fix constraints for decode_significance*_x86 2011-12-27 09:05:14 +02:00
h264_idct_10bit.asm h264: mark h264_idct_add8_10 with number of XMM registers. 2012-02-07 11:37:13 -08:00
h264_idct.asm h264: manually save/restore XMM registers for functions using INIT_MMX. 2012-02-08 10:31:14 -08:00
h264_intrapred_10bit.asm config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +08:00
h264_intrapred_init.c h264: 4:2:2 intra decoding support 2011-10-21 01:00:41 -07:00
h264_intrapred.asm h264: manually save/restore XMM registers for functions using INIT_MMX. 2012-02-08 10:31:14 -08:00
h264_qpel_10bit.asm config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +08:00
h264_qpel_mmx.c
h264_weight_10bit.asm config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +08:00
h264_weight.asm config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +08:00
h264dsp_mmx.c H264: change weight/biweight functions to take a height argument. 2011-10-21 01:00:45 -07:00
idct_mmx_xvid.c cosmetics: Delete empty lines at end of file. 2012-02-09 12:26:45 +01:00
idct_mmx.c cosmetics: Delete empty lines at end of file. 2012-02-09 12:26:45 +01:00
idct_sse2_xvid.c
idct_xvid.h
imdct36_sse.asm imdct36: mark SSE functions as using all 16 XMM registers. 2012-01-29 08:14:05 -08:00
lpc_mmx.c
Makefile SBR DSP x86: implement SSE sbr_sum_square_sse 2012-02-23 15:50:06 -08:00
mathops.h
mlpdsp.c
motion_est_mmx.c dsputil: Add ff_ prefix to the dsputil*_init* functions 2012-02-15 22:06:34 +02:00
mpegaudiodec_mmx.c mpegaudio: replace memcpy by SIMD code 2012-02-15 20:11:54 -08:00
mpegvideo_mmx_template.c dsputil: Add ff_ prefix to inv_zigzag_direct16 2012-02-15 22:06:42 +02:00
mpegvideo_mmx.c mpegvideo: Add ff_ prefix to nonstatic functions 2012-02-15 22:07:23 +02:00
pngdsp-init.c png: add SSE2 version for add_bytes_l2. 2012-01-29 18:52:17 -08:00
pngdsp.asm pngdsp: swap argument inversion. 2012-02-07 14:32:26 -08:00
proresdsp-init.c x86: Fix linking of ProRes DSP ASM with YASM disabled. 2011-10-20 16:19:13 +02:00
proresdsp.asm config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +08:00
rv34dsp_init.c rv34: change most "int stride" into "ptrdiff_t stride". 2012-02-20 14:58:25 -08:00
rv34dsp.asm rv34: 1-pass inter MB reconstruction 2012-01-16 19:26:41 +01:00
rv40dsp_init.c rv34: change most "int stride" into "ptrdiff_t stride". 2012-02-20 14:58:25 -08:00
rv40dsp.asm rv40: x86 SIMD for biweight 2012-01-30 23:58:25 +01:00
sbrdsp_init.c SBR DSP x86: implement SSE sbr_hf_g_filt 2012-02-23 15:50:09 -08:00
sbrdsp.asm SBR DSP x86: implement SSE sbr_hf_g_filt 2012-02-23 15:50:09 -08:00
simple_idct_mmx.c
snowdsp_mmx.c
vc1dsp_mmx.c
vc1dsp_yasm.asm Fix a bunch of common typos. 2011-12-11 00:32:25 +01:00
vp3dsp.asm config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +08:00
vp8dsp-init.c x86: Move some variable declarations below the appropriat #ifdef. 2011-10-20 16:19:27 +02:00
vp8dsp.asm
vp56_arith.h
vp56dsp_init.c
vp56dsp.asm config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +08:00
w64xmmtest.c win64: add a XMM clobber test configure option. 2012-02-02 12:00:48 -08:00