aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/x86/vp9lpf.asm
Commit message (Collapse)AuthorAgeFilesLines
* x86/vp9lpf: simplify 2nd transpose in 44/48/88/84.Clément Bœsch2014-02-081-66/+48
| | | | | | | | | | | | | | | | For non-avx optims, this saves 8 movs. before: 1785 decicycles in ff_vp9_loop_filter_h_44_16_ssse3, 524129 runs, 159 skips 3327 decicycles in ff_vp9_loop_filter_h_48_16_ssse3, 262116 runs, 28 skips 2712 decicycles in ff_vp9_loop_filter_h_88_16_ssse3, 4193729 runs, 575 skips 3237 decicycles in ff_vp9_loop_filter_h_84_16_ssse3, 524061 runs, 227 skips after: 1768 decicycles in ff_vp9_loop_filter_h_44_16_ssse3, 524062 runs, 226 skips 3310 decicycles in ff_vp9_loop_filter_h_48_16_ssse3, 262107 runs, 37 skips 2719 decicycles in ff_vp9_loop_filter_h_88_16_ssse3, 4193954 runs, 350 skips 3184 decicycles in ff_vp9_loop_filter_h_84_16_ssse3, 524236 runs, 52 skips
* x86/vp9lpf: remove 8 SWAPs in 84/48 transpose.Clément Bœsch2014-02-051-23/+10
|
* x86/vp9lpf: remove braindead double pxor.Clément Bœsch2014-02-051-5/+5
|
* x86/vp9lpf: save a few mov in flat8in/hev masks calc.Clément Bœsch2014-02-051-7/+5
|
* x86/vp9lpf: add ff_vp9_loop_filter_[vh]_44_16_{sse2,ssse3,avx}.Clément Bœsch2014-02-051-27/+100
|
* x86/vp9lpf: add ff_vp9_loop_filter_h_{48,84}_16_{sse2,ssse3,avx}().Clément Bœsch2014-01-301-28/+31
| | | | | 5.40s → 5.30s overall decode time with -threads 1 on ped1080p.webm (i7 920, ssse3)
* x86/vp9lpf: add ff_vp9_loop_filter_[vh]_88_16_sse2()James Almer2014-01-281-3/+17
| | | | | | Similar gains as the ssse3 version once again Signed-off-by: James Almer <jamrial@gmail.com>
* x86/vp9lpf: add ff_vp9_loop_filter_[vh]_88_16_{ssse3,avx}.Clément Bœsch2014-01-281-27/+182
| | | | | | | | | | | | | 9680 decicycles in loop_filter_v_88_16_c, 4193765 runs, 539 skips 9233 decicycles in loop_filter_h_88_16_c, 4193751 runs, 553 skips 1929 decicycles in ff_vp9_loop_filter_v_88_16_ssse3, 4194118 runs, 186 skips 2738 decicycles in ff_vp9_loop_filter_h_88_16_ssse3, 4193861 runs, 443 skips 5.978 → 5.417 overall decode time on ped1080p.webm (-threads 1) Adding SSE2 support should be relatively trivial (just a matter of changing the pshufb [mask_mix] with something else), patch welcome.
* x86/vp9lpf: add a preload system in FILTER_UPDATE.Clément Bœsch2014-01-271-27/+20
| | | | Allow some macro refactoring in filter14().
* x86/vp9lpf: refactor v/h using common macros for P7 to Q7.Clément Bœsch2014-01-271-136/+80
|
* x86/vp9lpf: faster P7..Q7 accesses.Clément Bœsch2014-01-271-113/+114
| | | | | | | | | Introduce 2 additional registers for stride3 and mstride3 to allow direct accesses (lea drops). 3931 → 3827 decicycles in ff_vp9_loop_filter_v_16_16_ssse3 Also uses defines to clarify the code.
* vp9/x86: add ff_vp9_loop_filter_[vh]_16_16_sse2().James Almer2014-01-171-6/+8
| | | | | | Similar gains in performance as the SSSE3 version Signed-off-by: James Almer <jamrial@gmail.com>
* vp9/x86: add AVX for itxfm and lpf.Clément Bœsch2014-01-151-1/+6
| | | | | | | | | | | | | | | | | 4412 decicycles in ff_vp9_loop_filter_h_16_16_ssse3, 4193462 runs, 842 skips 3600 decicycles in ff_vp9_loop_filter_h_16_16_avx, 4193621 runs, 683 skips 3010 decicycles in ff_vp9_loop_filter_v_16_16_ssse3, 4193528 runs, 776 skips 2678 decicycles in ff_vp9_loop_filter_v_16_16_avx, 4193742 runs, 562 skips 23025 decicycles in ff_vp9_idct_idct_32x32_add_ssse3, 2096871 runs, 281 skips 19943 decicycles in ff_vp9_idct_idct_32x32_add_avx, 2096815 runs, 337 skips 4675 decicycles in ff_vp9_idct_idct_16x16_add_ssse3, 4194018 runs, 286 skips 3980 decicycles in ff_vp9_idct_idct_16x16_add_avx, 4194022 runs, 282 skips 967 decicycles in ff_vp9_idct_idct_8x8_add_ssse3, 16776972 runs, 244 skips 887 decicycles in ff_vp9_idct_idct_8x8_add_avx, 16777002 runs, 214 skips
* vp9/x86: add ff_vp9_loop_filter_[vh]_16_16_ssse3().Clément Bœsch2014-01-121-0/+666
16662 decicycles in loop_filter_h_16_16_c, 8387355 runs, 1253 skips 17510 decicycles in loop_filter_v_16_16_c, 8387516 runs, 1092 skips 4941 decicycles in ff_vp9_loop_filter_h_16_16_ssse3, 8387887 runs, 721 skips 3899 decicycles in ff_vp9_loop_filter_v_16_16_ssse3, 8387980 runs, 628 skips Overall decode time goes from: ./ffmpeg -v 0 -nostats -threads 1 -i ~/samples/vp9/ped1080p.webm -f null - 8.10s user 0.02s system 99% cpu 8.126 total to: ./ffmpeg -v 0 -nostats -threads 1 -i ~/samples/vp9/ped1080p.webm -f null - 6.15s user 0.04s system 99% cpu 6.199 total (46 to 61 fps)