aom/aom_dsp
Steinar Midtskogen 4f0b3ed8b8 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
2017-02-10 23:00:16 +00:00
..
arm change to use AOMedia copyright notice 2016-11-29 00:01:36 +00:00
mips Remove unused assembly sources and associated tests. 2017-02-02 17:48:17 +00:00
simd Remove aom_simd.c and replace simd_check with macro 2016-12-13 08:25:12 +00:00
x86 Remove unused assembly sources and associated tests. 2017-02-02 17:48:17 +00:00
add_noise.c change to use AOMedia copyright notice 2016-11-29 00:01:36 +00:00
ans.h ans: Increase the base state to 1<<17. 2017-02-08 17:56:30 +00:00
ansreader.h ans: Switch from uABS to rABS 2017-02-04 02:40:26 +00:00
answriter.h ans: Switch from uABS to rABS 2017-02-04 02:40:26 +00:00
aom_convolve.c Add new convolve variant for loop-restoration 2017-01-03 17:15:29 +00:00
aom_convolve.h Change to use aom copyright notice 2016-09-02 08:22:07 -07:00
aom_dsp.mk ans: Remove some dead code. 2017-02-01 23:24:02 +00:00
aom_dsp_common.h Change to use aom copyright notice 2016-09-02 08:22:07 -07:00
aom_dsp_rtcd.c Change to use aom copyright notice 2016-09-02 08:22:07 -07:00
aom_dsp_rtcd_defs.pl Retune the CLPF kernel 2017-02-10 23:00:16 +00:00
aom_filter.h Change to use aom copyright notice 2016-09-02 08:22:07 -07:00
aom_simd.h Disable unsupported SIMD optimisations for CLPF for 32 bit VS targets 2017-01-07 08:59:56 +00:00
aom_simd_inline.h Define SIMD_INLINE using AOM_FORCE_INLINE 2016-10-19 15:14:27 -07:00
avg.c Change to use aom copyright notice 2016-09-02 08:22:07 -07:00
bitreader.h ans: Switch from uABS to rABS 2017-02-04 02:40:26 +00:00
bitreader_buffer.c Change to use aom copyright notice 2016-09-02 08:22:07 -07:00
bitreader_buffer.h Change to use aom copyright notice 2016-09-02 08:22:07 -07:00
bitwriter.h ans: Switch from uABS to rABS 2017-02-04 02:40:26 +00:00
bitwriter_buffer.c Add overwrite functions which do not zero bytes. 2016-11-16 03:57:10 +00:00
bitwriter_buffer.h Add overwrite functions which do not zero bytes. 2016-11-16 03:57:10 +00:00
blend.h Change to use aom copyright notice 2016-09-02 08:22:07 -07:00
blend_a64_hmask.c Fix a compiler warning of unused variable 2016-09-06 14:52:49 +00:00
blend_a64_mask.c Change to use aom copyright notice 2016-09-02 08:22:07 -07:00
blend_a64_vmask.c Change to use aom copyright notice 2016-09-02 08:22:07 -07:00
buf_ans.c ans: Switch from uABS to rABS 2017-02-04 02:40:26 +00:00
buf_ans.h ans: Switch from uABS to rABS 2017-02-04 02:40:26 +00:00
daalaboolreader.c Change return type of tell and tell_frac to uint32_t. 2016-10-19 10:53:52 -07:00
daalaboolreader.h Explicitly call daala read/write bit functions. 2016-12-15 02:05:58 +00:00
daalaboolwriter.c Free memory allocated by daala_ec encoder. 2016-10-19 15:14:27 -07:00
daalaboolwriter.h Explicitly call daala read/write bit functions. 2016-12-15 02:05:58 +00:00
dkboolreader.c change to use AOMedia copyright notice 2016-11-29 00:01:36 +00:00
dkboolreader.h Fix msvc compiler warnings 2016-11-09 19:38:21 +00:00
dkboolwriter.c dkboolwriter.c: change copyright notice 2016-10-25 10:32:33 -07:00
dkboolwriter.h Refactor bitreader and bitwriter wrapper. 2016-09-28 12:07:00 -07:00
entcode.c New experiment: Perceptual Vector Quantization from Daala 2016-11-06 22:18:01 -08:00
entcode.h New experiment: Perceptual Vector Quantization from Daala 2016-11-06 22:18:01 -08:00
entdec.c Fix msvc compiler warnings 2016-11-09 19:38:21 +00:00
entdec.h New experiment: Perceptual Vector Quantization from Daala 2016-11-06 22:18:01 -08:00
entenc.c Use an alternative fix to ubsan warning. 2016-11-17 21:11:23 +00:00
entenc.h New experiment: Perceptual Vector Quantization from Daala 2016-11-06 22:18:01 -08:00
fastssim.c Change to use aom copyright notice 2016-09-02 08:22:07 -07:00
fwd_txfm.c Fix warnings reported by -Wshadow: Part1: aom_dsp directory 2016-10-18 17:22:12 -07:00
fwd_txfm.h Remove saturate_int16 from fdct_round_shift 2016-12-09 18:13:32 +00:00
intrapred.c ALT_INTRA: Integerize the weights for SMOOTH_PRED. 2017-02-07 06:36:14 +00:00
inv_txfm.c Merge dct_const_round_shift functions. 2017-02-01 16:35:09 +00:00
inv_txfm.h Merge dct_const_round_shift functions. 2017-02-01 16:35:09 +00:00
loopfilter.c Change to use AOM copyright notice 2016-09-02 19:52:03 +00:00
postproc.h change to use AOMedia copyright notice 2016-11-29 00:01:36 +00:00
prob.c ec_multisymbol: Add defines CDF_PROB_BITS, CDF_PROB_TOP 2017-02-02 15:09:10 +00:00
prob.h Remove unused aom_complement() 2017-02-02 17:31:44 +00:00
psnr.c Misc cleanups and enhancements on loop restoration 2016-12-15 19:11:46 +00:00
psnr.h Misc cleanups and enhancements on loop restoration 2016-12-15 19:11:46 +00:00
psnrhvs.c Change to use aom copyright notice 2016-09-02 08:22:07 -07:00
quantize.c Support 64x64 quantizer functions 2016-11-09 21:59:14 +00:00
quantize.h Support 64x64 quantizer functions 2016-11-09 21:59:14 +00:00
sad.c Renamings for OBMC experiment 2016-10-13 15:51:22 -07:00
ssim.c Change to use aom copyright notice 2016-09-02 08:22:07 -07:00
ssim.h Change to use aom copyright notice 2016-09-02 08:22:07 -07:00
subtract.c Change to use aom copyright notice 2016-09-02 08:22:07 -07:00
sum_squares.c change to use AOMedia copyright notice 2016-11-29 00:01:36 +00:00
txfm_common.h Change to use aom copyright notice 2016-09-02 08:22:07 -07:00
variance.c Add 2x2 block level variance functions for high bd 2016-12-20 17:28:13 +00:00
variance.h Renamings for OBMC experiment 2016-10-13 15:51:22 -07:00