Home - Waterfall Grid T-Grid Console Builders Recent Builds Buildslaves Changesources - JSON API - About

Change #276712

Category ffmpeg
Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
Changed at Sat 01 Aug 2026 16:50:06
Repository https://git.ffmpeg.org/ffmpeg.git
Project ffmpeg
Branch master
Revision 8f05c446a1e3f16785b3768623050a23c7d7bfb1

Comments

avcodec/x86/vc1dsp_loopfilter: Use psignw when available
The VC1 loop filter uses something equivalent to
if (a0_sign ^ clip_sign) {
    if (clip_sign) d = -d;
} else d = 0;
which can be mapped to psignw.

Old benchmarks:
  vc1dsp.vc1_h_loop_filter4_bestcase_c:            3.0
  vc1dsp.vc1_h_loop_filter4_bestcase_ssse3:       32.4 ( 0.09x)
  vc1dsp.vc1_h_loop_filter4_worstcase_c:          42.3
  vc1dsp.vc1_h_loop_filter4_worstcase_ssse3:      32.7 ( 1.29x)
  vc1dsp.vc1_h_loop_filter8_bestcase_c:            6.1
  vc1dsp.vc1_h_loop_filter8_bestcase_sse2:        37.1 ( 0.17x)
  vc1dsp.vc1_h_loop_filter8_bestcase_ssse3:       36.4 ( 0.17x)
  vc1dsp.vc1_h_loop_filter8_bestcase_sse4:        36.6 ( 0.17x)
  vc1dsp.vc1_h_loop_filter8_worstcase_c:          87.2
  vc1dsp.vc1_h_loop_filter8_worstcase_sse2:       36.9 ( 2.36x)
  vc1dsp.vc1_h_loop_filter8_worstcase_ssse3:      35.8 ( 2.35x)
  vc1dsp.vc1_h_loop_filter8_worstcase_sse4:       36.7 ( 2.38x)
  vc1dsp.vc1_h_loop_filter16_bestcase_c:          12.0
  vc1dsp.vc1_h_loop_filter16_bestcase_sse2:       40.0 ( 0.30x)
  vc1dsp.vc1_h_loop_filter16_bestcase_ssse3:      39.8 ( 0.30x)
  vc1dsp.vc1_h_loop_filter16_bestcase_sse4:       44.4 ( 0.27x)
  vc1dsp.vc1_h_loop_filter16_worstcase_c:        166.4
  vc1dsp.vc1_h_loop_filter16_worstcase_sse2:      39.9 ( 4.17x)
  vc1dsp.vc1_h_loop_filter16_worstcase_ssse3:     39.7 ( 4.19x)
  vc1dsp.vc1_h_loop_filter16_worstcase_sse4:      43.8 ( 3.80x)
  vc1dsp.vc1_v_loop_filter4_bestcase_c:            3.6
  vc1dsp.vc1_v_loop_filter4_bestcase_ssse3:       16.3 ( 0.22x)
  vc1dsp.vc1_v_loop_filter4_worstcase_c:          49.3
  vc1dsp.vc1_v_loop_filter4_worstcase_ssse3:      16.2 ( 3.04x)
  vc1dsp.vc1_v_loop_filter8_bestcase_c:            6.4
  vc1dsp.vc1_v_loop_filter8_bestcase_sse2:        16.3 ( 0.39x)
  vc1dsp.vc1_v_loop_filter8_bestcase_ssse3:       15.8 ( 0.40x)
  vc1dsp.vc1_v_loop_filter8_worstcase_c:          85.7
  vc1dsp.vc1_v_loop_filter8_worstcase_sse2:       16.3 ( 5.24x)
  vc1dsp.vc1_v_loop_filter8_worstcase_ssse3:      15.8 ( 5.42x)
  vc1dsp.vc1_v_loop_filter16_bestcase_c:          12.7
  vc1dsp.vc1_v_loop_filter16_bestcase_sse2:       24.7 ( 0.52x)
  vc1dsp.vc1_v_loop_filter16_bestcase_ssse3:      22.7 ( 0.56x)
  vc1dsp.vc1_v_loop_filter16_worstcase_c:        169.4
  vc1dsp.vc1_v_loop_filter16_worstcase_sse2:      24.1 ( 7.03x)
  vc1dsp.vc1_v_loop_filter16_worstcase_ssse3:     24.6 ( 6.88x)

New benchmarks:
  vc1dsp.vc1_h_loop_filter4_bestcase_c:            3.0
  vc1dsp.vc1_h_loop_filter4_bestcase_ssse3:       32.0 ( 0.09x)
  vc1dsp.vc1_h_loop_filter4_worstcase_c:          43.2
  vc1dsp.vc1_h_loop_filter4_worstcase_ssse3:      31.8 ( 1.36x)
  vc1dsp.vc1_h_loop_filter8_bestcase_c:            6.0
  vc1dsp.vc1_h_loop_filter8_bestcase_sse2:        36.9 ( 0.16x)
  vc1dsp.vc1_h_loop_filter8_bestcase_ssse3:       35.5 ( 0.17x)
  vc1dsp.vc1_h_loop_filter8_bestcase_sse4:        36.2 ( 0.17x)
  vc1dsp.vc1_h_loop_filter8_worstcase_c:          87.3
  vc1dsp.vc1_h_loop_filter8_worstcase_sse2:       37.6 ( 2.33x)
  vc1dsp.vc1_h_loop_filter8_worstcase_ssse3:      35.3 ( 2.40x)
  vc1dsp.vc1_h_loop_filter8_worstcase_sse4:       36.1 ( 2.42x)
  vc1dsp.vc1_h_loop_filter16_bestcase_c:          11.8
  vc1dsp.vc1_h_loop_filter16_bestcase_sse2:       40.1 ( 0.29x)
  vc1dsp.vc1_h_loop_filter16_bestcase_ssse3:      39.2 ( 0.30x)
  vc1dsp.vc1_h_loop_filter16_bestcase_sse4:       42.9 ( 0.28x)
  vc1dsp.vc1_h_loop_filter16_worstcase_c:        166.5
  vc1dsp.vc1_h_loop_filter16_worstcase_sse2:      39.8 ( 4.18x)
  vc1dsp.vc1_h_loop_filter16_worstcase_ssse3:     39.1 ( 4.26x)
  vc1dsp.vc1_h_loop_filter16_worstcase_sse4:      42.9 ( 3.88x)
  vc1dsp.vc1_v_loop_filter4_bestcase_c:            3.6
  vc1dsp.vc1_v_loop_filter4_bestcase_ssse3:       15.7 ( 0.22x)
  vc1dsp.vc1_v_loop_filter4_worstcase_c:          49.1
  vc1dsp.vc1_v_loop_filter4_worstcase_ssse3:      15.8 ( 3.10x)
  vc1dsp.vc1_v_loop_filter8_bestcase_c:            6.4
  vc1dsp.vc1_v_loop_filter8_bestcase_sse2:        16.3 ( 0.39x)
  vc1dsp.vc1_v_loop_filter8_bestcase_ssse3:       15.3 ( 0.42x)
  vc1dsp.vc1_v_loop_filter8_worstcase_c:          85.7
  vc1dsp.vc1_v_loop_filter8_worstcase_sse2:       16.3 ( 5.26x)
  vc1dsp.vc1_v_loop_filter8_worstcase_ssse3:      15.2 ( 5.62x)
  vc1dsp.vc1_v_loop_filter16_bestcase_c:          13.6
  vc1dsp.vc1_v_loop_filter16_bestcase_sse2:       24.8 ( 0.55x)
  vc1dsp.vc1_v_loop_filter16_bestcase_ssse3:      21.3 ( 0.64x)
  vc1dsp.vc1_v_loop_filter16_worstcase_c:        170.0
  vc1dsp.vc1_v_loop_filter16_worstcase_sse2:      23.9 ( 7.11x)
  vc1dsp.vc1_v_loop_filter16_worstcase_ssse3:     23.3 ( 7.28x)

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

Changed files