Retune the CLPF kernel
CLPF performance had degraded by about 0.5% over the past six months, which isn't totally surprising since the codec is a moving target. About half of that degradation comes from the improved 7 bit filter coefficients. Therefore, CLPF needs to be retuned for the current codec. This patch makes two (normative) changes to the CLPF kernel: * The clipping function was changed from clamp(x, -s, s) to sign(x) * max(0, abs(x) - max(0, abs(x) - s + (abs(x) >> (bitdepth - 3 - log2(s))))) This adds a rampdown to 0 at -32 and 32 (for 8 bit, -128 & 128 for 10 bit, etc), so large differences are ignored. * 8 taps instead of 6 taps: 1 4 3 13 31 -> 13 31 4 3 1 AWCY results: low delay high delay PSNR: -0.40% -0.47% PSNR HVS: 0.00% -0.11% SSIM: -0.31% -0.39% CIEDE 2000: -0.22% -0.31% APSNR: -0.40% -0.48% MS SSIM: 0.01% -0.12% About 3/4 of the gains come from the new clipping function. Change-Id: Idad9dc4004e71a9c7ec81ba62ebd12fb76fb044a
parent
76ebf7ce
No related branches found
No related tags found
Showing
- aom_dsp/aom_dsp_rtcd_defs.pl 6 additions, 6 deletionsaom_dsp/aom_dsp_rtcd_defs.pl
- av1/av1_common.mk 1 addition, 0 deletionsav1/av1_common.mk
- av1/common/clpf.c 54 additions, 35 deletionsav1/common/clpf.c
- av1/common/clpf.h 2 additions, 1 deletionav1/common/clpf.h
- av1/common/clpf_simd.h 137 additions, 149 deletionsav1/common/clpf_simd.h
- av1/common/clpf_simd_kernel.h 48 additions, 0 deletionsav1/common/clpf_simd_kernel.h
- av1/encoder/clpf_rdo.c 75 additions, 57 deletionsav1/encoder/clpf_rdo.c
- av1/encoder/clpf_rdo_simd.h 81 additions, 107 deletionsav1/encoder/clpf_rdo_simd.h
- test/clpf_test.cc 21 additions, 14 deletionstest/clpf_test.cc
Loading
Please register or sign in to comment