1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-02 03:06:28 +02:00
FFmpeg/libavcodec/x86
Clément Bœsch 87434cf373 avcodec/vp9: add ff_vp9_idct_idct_{4x4,8x8}_ssse3().
1789 decicycles in idct_idct_4x4_add_c, 262136 runs, 8 skips
1839 decicycles in idct_idct_4x4_add_c, 524270 runs, 18 skips
1864 decicycles in idct_idct_4x4_add_c, 1048548 runs, 28 skips

529 decicycles in ff_vp9_idct_idct_4x4_add_ssse3, 262138 runs, 6 skips
516 decicycles in ff_vp9_idct_idct_4x4_add_ssse3, 524282 runs, 6 skips
474 decicycles in ff_vp9_idct_idct_4x4_add_ssse3, 1048565 runs, 11 skips

(~3.9x faster)

7726 decicycles in idct_idct_8x8_add_c, 1048433 runs, 143 skips
7732 decicycles in idct_idct_8x8_add_c, 2096882 runs, 270 skips
7731 decicycles in idct_idct_8x8_add_c, 4193772 runs, 532 skips

1145 decicycles in ff_vp9_idct_idct_8x8_add_ssse3, 1048549 runs, 27 skips
1137 decicycles in ff_vp9_idct_idct_8x8_add_ssse3, 2097097 runs, 55 skips
1086 decicycles in ff_vp9_idct_idct_8x8_add_ssse3, 4194188 runs, 116 skips

(~7.1x faster)

Overall decode time before commit:
  16.48s user 0.03s system 99% cpu 16.526 total
  16.54s user 0.01s system 99% cpu 16.566 total
  16.46s user 0.03s system 99% cpu 16.511 total

Overall decode time after commit:
  16.34s user 0.02s system 99% cpu 16.378 total
  16.28s user 0.02s system 99% cpu 16.315 total
  16.32s user 0.03s system 99% cpu 16.366 total

Tested on i7 920 with 40s 1080p footage.
2013-11-05 19:25:40 +01:00
..
ac3dsp_init.c Merge remote-tracking branch 'qatar/master' 2013-07-18 09:53:47 +02:00
ac3dsp.asm Merge remote-tracking branch 'qatar/master' 2013-04-27 11:35:03 +02:00
cabac.h avcodec/cabac: support UNCHECKED_BITSTREAM_READER = 0 2013-10-31 11:13:27 +01:00
cavsdsp.c Merge commit '6369ba3c9cc74becfaad2a8882dff3dd3e7ae3c0' 2013-08-30 12:08:28 +02:00
constants.c Merge commit '71469f3b636fbe06b6aca5933f9fdebddd8d5f57' 2013-05-09 11:36:29 +02:00
constants.h Merge commit '71469f3b636fbe06b6aca5933f9fdebddd8d5f57' 2013-05-09 11:36:29 +02:00
dct32.asm
dct_init.c Merge remote-tracking branch 'qatar/master' 2013-08-22 14:28:42 +02:00
deinterlace.asm
dirac_dwt.c Merge commit '1399931d07f0f37ef4526eb8d39d33c64e09618a' 2013-05-14 12:12:20 +02:00
dirac_dwt.h
diracdsp_mmx.c Merge commit '1399931d07f0f37ef4526eb8d39d33c64e09618a' 2013-05-14 12:12:20 +02:00
diracdsp_mmx.h
diracdsp_yasm.asm
dnxhdenc.c Merge commit '6369ba3c9cc74becfaad2a8882dff3dd3e7ae3c0' 2013-08-30 12:08:28 +02:00
dsputil_init.c avcodec/x86/dsputil_init: move ff_idct_xvid_mmxext init 2013-10-15 02:06:12 +02:00
dsputil_mmx.c Merge commit '2ddb35b91131115c094d90e04031451023441b4d' 2013-10-06 11:50:01 +02:00
dsputil_qns_template.c
dsputil_x86.c Merge commit '2ddb35b91131115c094d90e04031451023441b4d' 2013-10-06 11:50:01 +02:00
dsputil_x86.h Merge commit '1399931d07f0f37ef4526eb8d39d33c64e09618a' 2013-05-14 12:12:20 +02:00
dsputil.asm
dsputilenc_mmx.c Merge commit '258414d0771845d20f646ffe4d4e60f22fba217c' 2013-10-06 11:31:01 +02:00
dsputilenc.asm
dwt_yasm.asm
fdct.c Merge remote-tracking branch 'qatar/master' 2013-10-07 11:37:47 +02:00
fft_init.c Merge remote-tracking branch 'qatar/master' 2013-08-22 14:28:42 +02:00
fft.asm x86: Fix compilation with nasm on PPC & OS/2 2013-10-08 12:36:19 +02:00
fft.h Merge remote-tracking branch 'qatar/master' 2013-08-22 14:28:42 +02:00
fmtconvert_init.c Merge commit 'e998b56362c711701b3daa34e7b956e7126336f4' 2013-08-30 12:50:01 +02:00
fmtconvert.asm fmtconvert: Explicitly use int32_t instead of int 2013-07-17 11:02:47 +03:00
fpel_mmx.c Merge commit '1399931d07f0f37ef4526eb8d39d33c64e09618a' 2013-05-14 12:12:20 +02:00
fpel.asm Merge commit '8db00081a37d5b7e23918ee500bb16bc59b57197' 2013-04-20 13:42:51 +02:00
h263_loopfilter.asm
h264_chromamc_10bit.asm Reinstate proper FFmpeg license for all files. 2013-08-30 15:47:38 +00:00
h264_chromamc.asm
h264_deblock_10bit.asm Reinstate proper FFmpeg license for all files. 2013-08-30 15:47:38 +00:00
h264_deblock.asm Merge commit 'bbe4a6db44f0b55b424a5cc9d3e89cd88e250450' 2013-10-08 11:23:00 +02:00
h264_i386.h
h264_idct_10bit.asm Reinstate proper FFmpeg license for all files. 2013-08-30 15:47:38 +00:00
h264_idct.asm Merge remote-tracking branch 'qatar/master' 2013-10-08 12:10:02 +02:00
h264_intrapred_10bit.asm Reinstate proper FFmpeg license for all files. 2013-08-30 15:47:38 +00:00
h264_intrapred_init.c Merge remote-tracking branch 'qatar/master' 2013-07-18 09:53:47 +02:00
h264_intrapred.asm
h264_qpel_8bit.asm
h264_qpel_10bit.asm Reinstate proper FFmpeg license for all files. 2013-08-30 15:47:38 +00:00
h264_qpel.c Merge remote-tracking branch 'qatar/master' 2013-07-18 09:53:47 +02:00
h264_weight_10bit.asm Reinstate proper FFmpeg license for all files. 2013-08-30 15:47:38 +00:00
h264_weight.asm
h264chroma_init.c Merge remote-tracking branch 'qatar/master' 2013-07-18 09:53:47 +02:00
h264dsp_init.c Merge commit 'e998b56362c711701b3daa34e7b956e7126336f4' 2013-08-30 12:50:01 +02:00
hpeldsp_init.c Merge commit '6369ba3c9cc74becfaad2a8882dff3dd3e7ae3c0' 2013-08-30 12:08:28 +02:00
hpeldsp_mmx.c Merge commit '1399931d07f0f37ef4526eb8d39d33c64e09618a' 2013-05-14 12:12:20 +02:00
hpeldsp_rnd_template.c Merge commit '46bb456853b197f4562de7acf5d42abf11ded9be' 2013-05-14 10:18:46 +02:00
hpeldsp.asm x86: hpeldsp: Use PAVGB instruction macro where necessary 2013-11-04 01:29:23 +01:00
idct_mmx_xvid.c Merge commit '0b8b2ae5e93d616c2ece59f7175f483154cff918' 2013-10-06 11:25:22 +02:00
idct_sse2_xvid.c Merge commit '0b8b2ae5e93d616c2ece59f7175f483154cff918' 2013-10-06 11:25:22 +02:00
idct_xvid.h
imdct36.asm
lpc.c avcodec/x86/lpc: Fix cpu flag checks so they work 2013-08-30 12:34:52 +02:00
Makefile Merge commit '1700b4e678ed329611a16b20d11e64b7abda4839' 2013-11-02 10:13:14 +01:00
mathops.h mathops/x86: work around inline asm miscompilation with GCC 4.8.1 2013-09-15 11:15:07 -04:00
mlpdsp.c Merge commit '2b379a925162b6783bd9a81dc03e647e8b65494c' 2013-07-12 13:10:53 +02:00
motion_est.c Merge commit '6369ba3c9cc74becfaad2a8882dff3dd3e7ae3c0' 2013-08-30 12:08:28 +02:00
mpeg4qpel.asm
mpegaudiodsp.c Merge commit 'e998b56362c711701b3daa34e7b956e7126336f4' 2013-08-30 12:50:01 +02:00
mpegvideo.c Merge commit 'e998b56362c711701b3daa34e7b956e7126336f4' 2013-08-30 12:50:01 +02:00
mpegvideoenc_template.c
mpegvideoenc.c Merge remote-tracking branch 'qatar/master' 2013-07-18 09:53:47 +02:00
pngdsp_init.c Merge remote-tracking branch 'qatar/master' 2013-07-18 09:53:47 +02:00
pngdsp.asm Reinstate proper FFmpeg license for all files. 2013-08-30 15:47:38 +00:00
proresdsp_init.c Merge remote-tracking branch 'qatar/master' 2013-07-18 09:53:47 +02:00
proresdsp.asm
qpel.asm Merge commit '8db00081a37d5b7e23918ee500bb16bc59b57197' 2013-04-20 13:42:51 +02:00
rnd_mmx.c Merge commit '1399931d07f0f37ef4526eb8d39d33c64e09618a' 2013-05-14 12:12:20 +02:00
rnd_template.c Merge commit '46bb456853b197f4562de7acf5d42abf11ded9be' 2013-05-14 10:18:46 +02:00
rv34dsp_init.c Reinstate proper FFmpeg license for all files. 2013-08-30 15:47:38 +00:00
rv34dsp.asm Reinstate proper FFmpeg license for all files. 2013-08-30 15:47:38 +00:00
rv40dsp_init.c Merge commit 'e998b56362c711701b3daa34e7b956e7126336f4' 2013-08-30 12:50:01 +02:00
rv40dsp.asm Merge commit 'e2b5b097898c9155f4bdff4d83cdc54d5eef6930' 2013-11-05 10:26:07 +01:00
sbrdsp_init.c Reinstate proper FFmpeg license for all files. 2013-08-30 15:47:38 +00:00
sbrdsp.asm Reinstate proper FFmpeg license for all files. 2013-08-30 15:47:38 +00:00
simple_idct.c x86/simple_idct: use LOCAL_ALIGNED instead of DECLARE_ALIGNED 2013-09-03 17:02:49 +00:00
snowdsp.c Merge commit '1399931d07f0f37ef4526eb8d39d33c64e09618a' 2013-05-14 12:12:20 +02:00
v210-init.c
v210.asm Reinstate proper FFmpeg license for all files. 2013-08-30 15:47:38 +00:00
vc1dsp_init.c x86: avcodec: Consistently structure CPU extension initialization 2013-08-29 13:07:37 +02:00
vc1dsp_mmx.c Merge commit '1399931d07f0f37ef4526eb8d39d33c64e09618a' 2013-05-14 12:12:20 +02:00
vc1dsp.asm
vc1dsp.h
videodsp_init.c avcodec/x86/videodsp: Properly mark sse2 instructions in emulated_edge_mc x86 simd as such. 2013-10-24 13:36:55 +02:00
videodsp.asm avcodec/x86/videodsp: Small speedups in ff_emulated_edge_mc x86 SIMD. 2013-10-27 15:02:48 +01:00
vorbisdsp_init.c Merge commit '6369ba3c9cc74becfaad2a8882dff3dd3e7ae3c0' 2013-08-30 12:08:28 +02:00
vorbisdsp.asm
vp3dsp_init.c Merge remote-tracking branch 'qatar/master' 2013-07-18 09:53:47 +02:00
vp3dsp.asm
vp6dsp_init.c Merge commit '8506ff97c9ea4a1f52983497ecf8d4ef193403a9' 2013-08-24 11:04:11 +02:00
vp6dsp.asm Merge commit '8506ff97c9ea4a1f52983497ecf8d4ef193403a9' 2013-08-24 11:04:11 +02:00
vp8dsp_init.c avcodec/x86/vp8dsp: Fix cpu flag checks so they work 2013-08-30 12:33:56 +02:00
vp8dsp_loopfilter.asm Merge commit '1700b4e678ed329611a16b20d11e64b7abda4839' 2013-11-02 10:13:14 +01:00
vp8dsp.asm Merge commit '1700b4e678ed329611a16b20d11e64b7abda4839' 2013-11-02 10:13:14 +01:00
vp9dsp_init.c avcodec/vp9: add ff_vp9_idct_idct_{4x4,8x8}_ssse3(). 2013-11-05 19:25:40 +01:00
vp9dsp.asm avcodec/vp9: add ff_vp9_idct_idct_{4x4,8x8}_ssse3(). 2013-11-05 19:25:40 +01:00
vp56_arith.h
w64xmmtest.c x86: Add an xmm clobbering wrapper for avcodec_encode_video2 2013-09-17 10:53:23 +02:00