• James Almer's avatar
    x86/hevc: add ff_hevc_sao_band_filter_{8,10,12}_{sse2,avx,avx2} · fa3eccb4
    James Almer authored
    Original x86 intrinsics code and initial 8bit yasm port by Pierre-Edouard Lepere.
    10/12bit yasm ports, refactoring and optimizations by James Almer
    
    Benchmarks of BQTerrace_1920x1080_60_qp22.bin with an Intel Core i5-4200U
    
    width 32
    40338 decicycles in sao_band_filter_0_8, 2048 runs, 0 skips
    8056 decicycles in ff_hevc_sao_band_filter_8_32_sse2, 2048 runs, 0 skips
    7458 decicycles in ff_hevc_sao_band_filter_8_32_avx, 2048 runs, 0 skips
    4504 decicycles in ff_hevc_sao_band_filter_8_32_avx2, 2048 runs, 0 skips
    
    width 64
    136046 decicycles in sao_band_filter_0_8, 16384 runs, 0 skips
    28576 decicycles in ff_hevc_sao_band_filter_8_32_sse2, 16384 runs, 0 skips
    26707 decicycles in ff_hevc_sao_band_filter_8_32_avx, 16384 runs, 0 skips
    14387 decicycles in ff_hevc_sao_band_filter_8_32_avx2, 16384 runs, 0 skips
    Reviewed-by: 's avatarChristophe Gisquet <christophe.gisquet@gmail.com>
    Signed-off-by: 's avatarJames Almer <jamrial@gmail.com>
    fa3eccb4
hevcdsp.c 14.8 KB