Provide MMX, SSE2 and SSSE3 versions, with a fast-path when the weights are multiples of 512 (which is often the case when the values round up nicely). *_TIMER report for the 16x16 and 8x8 cases: C: 9015 decicycles in 16, 524257 runs, 31 skips 2656 decicycles in 8, 524271 runs, 17 skips MMX: 4156 decicycles in 16, 262090 runs, 54 skips 1206 decicycles in 8, 262131 runs, 13 skips MMX on fast-path: 2760 decicycles in 16, 524222 runs, 66 skips 995 decicycles in 8, 524252 runs, 36 skips SSE2: 2163 decicycles in 16, 262131 runs, 13 skips 832 decicycles in 8, 262137 runs, 7 skips SSE2 with fast path: 1783 decicycles in 16, 524276 runs, 12 skips 711 decicycles in 8, 524283 runs, 5 skips SSSE3: 2117 decicycles in 16, 262136 runs, 8 skips 814 decicycles in 8, 262143 runs, 1 skips SSSE3 with fast path: 1315 decicycles in 16, 524285 runs, 3 skips 578 decicycles in 8, 524286 runs, 2 skips This means around a 4% speedup for some sequences. Signed-off-by: Diego Biurrun <diego@biurrun.de> |
||
|---|---|---|
| .. | ||
| ac3dsp.asm | ||
| ac3dsp_mmx.c | ||
| cabac.h | ||
| cavsdsp_mmx.c | ||
| dct32_sse.asm | ||
| deinterlace.asm | ||
| dnxhd_mmx.c | ||
| dsputil_mmx.c | ||
| dsputil_mmx.h | ||
| dsputil_mmx_avg_template.c | ||
| dsputil_mmx_qns_template.c | ||
| dsputil_mmx_rnd_template.c | ||
| dsputil_yasm.asm | ||
| dsputilenc_mmx.c | ||
| dsputilenc_yasm.asm | ||
| fdct_mmx.c | ||
| fft.c | ||
| fft.h | ||
| fft_3dn.c | ||
| fft_3dn2.c | ||
| fft_mmx.asm | ||
| fft_sse.c | ||
| fmtconvert.asm | ||
| fmtconvert_mmx.c | ||
| h264_chromamc.asm | ||
| h264_chromamc_10bit.asm | ||
| h264_deblock.asm | ||
| h264_deblock_10bit.asm | ||
| h264_i386.h | ||
| h264_idct.asm | ||
| h264_idct_10bit.asm | ||
| h264_intrapred.asm | ||
| h264_intrapred_10bit.asm | ||
| h264_intrapred_init.c | ||
| h264_qpel_10bit.asm | ||
| h264_qpel_mmx.c | ||
| h264_weight.asm | ||
| h264_weight_10bit.asm | ||
| h264dsp_mmx.c | ||
| idct_mmx.c | ||
| idct_mmx_xvid.c | ||
| idct_sse2_xvid.c | ||
| idct_xvid.h | ||
| imdct36_sse.asm | ||
| lpc_mmx.c | ||
| Makefile | ||
| mathops.h | ||
| mlpdsp.c | ||
| motion_est_mmx.c | ||
| mpegaudiodec_mmx.c | ||
| mpegvideo_mmx.c | ||
| mpegvideo_mmx_template.c | ||
| pngdsp-init.c | ||
| pngdsp.asm | ||
| proresdsp-init.c | ||
| proresdsp.asm | ||
| rv34dsp.asm | ||
| rv34dsp_init.c | ||
| rv40dsp.asm | ||
| rv40dsp_init.c | ||
| simple_idct_mmx.c | ||
| snowdsp_mmx.c | ||
| vc1dsp_mmx.c | ||
| vc1dsp_yasm.asm | ||
| vp3dsp.asm | ||
| vp8dsp-init.c | ||
| vp8dsp.asm | ||
| vp56_arith.h | ||
| vp56dsp.asm | ||
| vp56dsp_init.c | ||