FFmpeg/libavcodec/x86
Christophe Gisquet 6b03900382 x86 dsputil: provide SSE2/SSSE3 versions of bswap_buf
While pshufb allows emulating bswap on XMM registers for SSSE3, more
shuffling is needed for SSE2. Alignment is critical, so specific codepaths
are provided for this case.

For the huffyuv sequence "angels_480-huffyuvcompress.avi":
C (using bswap instruction): ~ 55k cycles
SSE2:                        ~ 40k cycles
SSSE3 using unaligned loads: ~ 35k cycles
SSSE3 using aligned loads:   ~ 30k cycles

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-01-30 10:19:55 +01:00
..
ac3dsp_mmx.c
ac3dsp.asm config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +08:00
cabac.h
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 x86 dsputil: provide SSE2/SSSE3 versions of bswap_buf 2012-01-30 10:19:55 +01:00
dsputil_mmx.h
dsputil_yasm.asm x86 dsputil: provide SSE2/SSSE3 versions of bswap_buf 2012-01-30 10:19:55 +01:00
dsputilenc_mmx.c
dsputilenc_yasm.asm config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +08:00
fdct_mmx.c
fft_3dn2.c
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
fft.c
fft.h
fmtconvert_mmx.c
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
h264_idct_10bit.asm config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +08:00
h264_idct.asm config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +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_intrapred.asm config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +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
idct_mmx_xvid.c
idct_mmx.c
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 png: convert DSP functions to yasm. 2012-01-29 18:47:50 -08:00
mathops.h
mlpdsp.c
motion_est_mmx.c
mpegaudiodec_mmx.c
mpegvideo_mmx_template.c
mpegvideo_mmx.c
pngdsp-init.c png: add SSE2 version for add_bytes_l2. 2012-01-29 18:52:17 -08:00
pngdsp.asm png: add support for bpp>4 to paeth x86 SIMD code. 2012-01-29 21:22:50 -08:00
proresdsp-init.c
proresdsp.asm config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +08:00
rv34dsp_init.c
rv34dsp.asm
rv40dsp.c
simple_idct_mmx.c
snowdsp_mmx.c
vc1dsp_mmx.c
vc1dsp_yasm.asm
vp3dsp.asm config.asm: change %ifdef directives to %if directives. 2012-01-27 10:19:57 +08:00
vp8dsp-init.c
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