1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-09-29 16:23:10 +02:00
ffmpeg/libavcodec/x86
Christophe GISQUET f3e084909b mpegaudio: replace memcpy by SIMD code
By replacing memcpy with an unrolled loop using the alignment knowledge
it has, some speedup can be obtained.

Before (gcc 4.6.1): ~400 cycles
After: ~370 cycles

Overall, around 2% speed increase when decoding a 2400s mp3 to f32le.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-02-15 20:11:54 -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 Fix NASM include directive 2011-08-15 11:24:35 -07:00
dnxhd_mmx.c dnxhd: 10-bit support 2011-07-21 18:44:40 +01:00
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 dct32: Add SSE2 ASM optimizations 2011-08-02 10:17:29 -07:00
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 config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +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 x86: fix build with gcc 4.7 2011-07-26 22:17:43 +01:00
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 win64: add a XMM clobber test configure option. 2012-02-02 12:00:48 -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: 1-pass inter MB reconstruction 2012-01-16 19:26:41 +01:00
rv34dsp.asm rv34: 1-pass inter MB reconstruction 2012-01-16 19:26:41 +01:00
rv40dsp_init.c rv40: x86 SIMD for biweight 2012-01-30 23:58:25 +01:00
rv40dsp.asm rv40: x86 SIMD for biweight 2012-01-30 23:58:25 +01: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 Fix NASM include directive 2011-08-15 11:24:35 -07:00
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