FFmpeg/libavcodec/x86
James Almer 15574c505b x86/hevcdsp: add ff_hevc_sao_edge_filter_{10,12}_{sse2,avx2}
Original x86 intrinsics code by Pierre-Edouard Lepere.
Yasm port, refactoring and optimizations by James Almer.

Benchmarks of BQTerrace_1920x1080_60_qp22.bin with an Intel Core i5-4200U

Width 32
342694 decicycles in sao_edge_filter_10, 16384 runs, 0 skips
29476 decicycles in ff_hevc_sao_edge_filter_32_10_ssse3, 16384 runs, 0 skips
13996 decicycles in ff_hevc_sao_edge_filter_32_10_avx2, 16381 runs, 3 skips

Width 64
581163 decicycles in sao_edge_filter_10, 8192 runs, 0 skips
59774 decicycles in ff_hevc_sao_edge_filter_64_10_ssse3, 8192 runs, 0 skips
28383 decicycles in ff_hevc_sao_edge_filter_64_10_avx2, 8191 runs, 1 skips

Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-05 15:02:33 -03:00
..
ac3dsp.asm
ac3dsp_init.c
audiodsp.asm
audiodsp_init.c
blockdsp.asm
blockdsp_init.c
bswapdsp.asm
bswapdsp_init.c
cabac.h
cavsdsp.c
constants.c x86/hevcdsp: add ff_hevc_sao_edge_filter_{10,12}_{sse2,avx2} 2015-02-05 15:02:33 -03:00
constants.h x86/hevcdsp: add ff_hevc_sao_edge_filter_{10,12}_{sse2,avx2} 2015-02-05 15:02:33 -03:00
dcadsp.asm
dcadsp_init.c
dct-test.c
dct32.asm
dct_init.c
deinterlace.asm
dirac_dwt.c
dirac_dwt.h
diracdsp_mmx.c
diracdsp_mmx.h
diracdsp_yasm.asm
dnxhdenc.asm
dnxhdenc_init.c
dwt_yasm.asm
fdct.c
fdct.h
fdctdsp_init.c
fft.asm
fft.h
fft_init.c
flac_dsp_gpl.asm
flacdsp.asm x86/flacdsp: remove unneeded ifdeffery 2015-01-05 16:29:28 -03:00
flacdsp_init.c
fmtconvert.asm
fmtconvert_init.c
fpel.asm
fpel.h
h263_loopfilter.asm
h263dsp_init.c
h264_chromamc.asm
h264_chromamc_10bit.asm
h264_deblock.asm
h264_deblock_10bit.asm
h264_i386.h h264_i386: Fix operand size 2014-12-03 23:03:13 +01:00
h264_idct.asm
h264_idct_10bit.asm
h264_intrapred.asm
h264_intrapred_10bit.asm
h264_intrapred_init.c
h264_qpel.c
h264_qpel_8bit.asm
h264_qpel_10bit.asm
h264_weight.asm
h264_weight_10bit.asm
h264chroma_init.c
h264dsp_init.c
hevc_deblock.asm
hevc_idct.asm
hevc_mc.asm avcodec/x86/hevc_mc: fix sse register counts 2014-12-11 13:17:26 +01:00
hevc_res_add.asm
hevc_sao.asm x86/hevcdsp: add ff_hevc_sao_edge_filter_{10,12}_{sse2,avx2} 2015-02-05 15:02:33 -03:00
hevcdsp.h
hevcdsp_init.c x86/hevcdsp: add ff_hevc_sao_edge_filter_{10,12}_{sse2,avx2} 2015-02-05 15:02:33 -03:00
hpeldsp.asm
hpeldsp.h
hpeldsp_init.c
hpeldsp_rnd_template.c
huffyuvdsp.asm
huffyuvdsp_init.c
huffyuvencdsp_mmx.c
idctdsp.asm
idctdsp.h
idctdsp_init.c
imdct36.asm
inline_asm.h
lossless_audiodsp.asm avcodec/x86/lossless_audiodsp: fix fallback code for 32bit 2014-11-22 21:08:38 +01:00
lossless_audiodsp_init.c
lossless_videodsp.asm
lossless_videodsp_init.c
lpc.c
Makefile x86/hevc: add ff_hevc_sao_band_filter_{8,10,12}_{sse2,avx,avx2} 2015-02-01 20:22:35 -03:00
mathops.h
me_cmp.asm Merge commit '9c12c6ff95' 2014-11-24 12:13:00 +01:00
me_cmp_init.c Merge commit '9c12c6ff95' 2014-11-24 12:13:00 +01:00
mlpdsp.asm
mlpdsp_init.c
mpegaudiodsp.c
mpegvideo.c
mpegvideodsp.c
mpegvideoenc.c
mpegvideoenc_qns_template.c
mpegvideoenc_template.c
mpegvideoencdsp.asm
mpegvideoencdsp_init.c
pixblockdsp.asm
pixblockdsp_init.c
pngdsp.asm avcodec/x86/pngdsp: fix off by 1 error 2014-12-08 18:24:40 +01:00
pngdsp_init.c
proresdsp.asm
proresdsp_init.c
qpel.asm
qpeldsp.asm
qpeldsp_init.c
rnd_template.c
rv34dsp.asm
rv34dsp_init.c
rv40dsp.asm
rv40dsp_init.c
sbrdsp.asm x86/sbrdsp: Use different mem moves 2015-01-25 18:20:43 -03:00
sbrdsp_init.c x86/sbrdsp: add ff_sbr_autocorrelate_{sse,sse3} 2015-01-25 18:20:39 -03:00
simple_idct.c
simple_idct.h
snowdsp.c
svq1enc.asm
svq1enc_init.c
ttadsp.asm
ttadsp_init.c
v210-init.c
v210.asm
v210enc.asm v210enc: Add SIMD optimised 8-bit and 10-bit encoders 2014-12-05 13:03:49 +00:00
v210enc_init.c Merge commit '9a738c27dc' 2014-12-06 01:54:10 +01:00
vc1dsp.asm
vc1dsp.h
vc1dsp_init.c
vc1dsp_mmx.c
videodsp.asm
videodsp_init.c
vorbisdsp.asm
vorbisdsp_init.c
vp3dsp.asm x86/vp3dsp: port put_vp_no_rnd_pixels8_l2_mmx to yasm 2014-12-20 13:25:43 +01:00
vp3dsp_init.c x86/vp3dsp: port put_vp_no_rnd_pixels8_l2_mmx to yasm 2014-12-20 13:25:43 +01:00
vp6dsp.asm
vp6dsp_init.c
vp8dsp.asm
vp8dsp_init.c
vp8dsp_loopfilter.asm
vp9dsp_init.c vp9/x86: make filter_16_h work on 32-bit. 2014-12-27 16:55:16 -05:00
vp9intrapred.asm vp9/x86: intra prediction sse2/32bit support. 2014-12-19 14:07:19 +01:00
vp9itxfm.asm vp9/x86: save one register on 32bit idct32x32. 2014-12-16 02:51:26 +01:00
vp9lpf.asm vp9/x86: add myself to copyright holders for loopfilter assembly. 2014-12-27 16:55:16 -05:00
vp9mc.asm vp9/x86: sse2 MC assembly. 2014-12-15 02:34:05 +01:00
vp56_arith.h
w64xmmtest.c
xvididct.h
xvididct_init.c
xvididct_mmx.c
xvididct_sse2.c