ffmpeg/tests
Thomas Mundt a7f6bfdc18 avfilter/interlace: prevent over-sharpening with the complex low-pass filter
The complex vertical low-pass filter slightly over-sharpens the picture. This becomes visible when several transcodings are cascaded and the error potentises, e.g. some generations of HD->SD SD->HD.
To prevent this behaviour the destination pixel must not exceed the source pixel when the average of the pixels above and below is less than the source pixel. And the other way around.

Tested and approved in a visual transcoding cascade test by video professionals.
SSIM/PSNR test with the first generation of an HD->SD file as a reference against the 6th generation(3 x SD->HD HD->SD):
Results without the patch:
SSIM Y:0.956508 (13.615881) U:0.991601 (20.757750) V:0.993004 (21.551382) All:0.974405 (15.918463)
PSNR y:31.838009 u:48.424280 v:48.962711 average:34.759466 min:31.699297 max:40.857847
Results with the patch:
SSIM Y:0.970051 (15.236232) U:0.991883 (20.905857) V:0.993174 (21.658049) All:0.981290 (17.279202)
PSNR y:34.412108 u:48.504454 v:48.969496 average:37.264644 min:34.310637 max:42.373392

Signed-off-by: Thomas Mundt <tmundt75@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-15 22:40:21 +02:00
..
api
checkasm checkasm: use perf API on Linux ARM* 2017-09-08 18:51:05 +02:00
fate fate: add test for asetnsamples filter with padding disabled 2017-09-08 08:54:20 +02:00
filtergraphs
ref avfilter/interlace: prevent over-sharpening with the complex low-pass filter 2017-09-15 22:40:21 +02:00
.gitignore
Makefile fate/pixlet : add test for rgb 2017-08-31 02:53:11 +02:00
audiogen.c
audiomatch.c
base64.c
copycooker.sh
extended.ffconcat
fate-run.sh fate: use do_md5sum instead of the md5 protocol for most md5 fate tests 2017-06-18 23:19:48 +02:00
fate-valgrind.supp
fate.sh
ffserver-regression.sh
ffserver.conf
ffserver.regression.ref
lavf-regression.sh FATE: Add FITS tests 2017-08-30 12:13:02 +02:00
md5.sh
reference.pnm
regression-funcs.sh
rotozoom.c
simple1.ffconcat
simple2.ffconcat
test.ffmeta
tiny_psnr.c
tiny_ssim.c
utils.c
videogen.c