• paulwilkins's avatar
    New content type to improve grain retention. · a73cee28
    paulwilkins authored
    For new VP9 only content type adjust  the rate distortion and ARF
    filter based on the relative spatial variance of the source and
    reconstruction.
    
    In regards to the RD loop the method favors modes where the
    reconstruction variance is similar to the source variance. However it
    is currently only applied to regions where the source variance is quite
    low.
    
    For very low variance blocks it applies a further bias against intra
    coding and large prediction block sizes (the later in particular limit
    the usefulness of the loop filter).
    
    The final part of this change is to lower the strength of the ARF
    filter for blocks where the source has very low spatial variance, to
    encourage some low amplitude texture or noise to pass through
    the filter.
    
    This change improves the retention of film grain and fine noise /
    texture in spatially flat regions, but as expected causes a significant
    drop in PSNR on many clips. This is to be expected because similar
    but misaligned noise or texture will give a lower PSNR than a flat
    noise free reconstruction. However, it is worth noting that most clips
    show a strong gain in FAST SSIM.
    
    The features are enabled on the vpxenc command line by setting
    --tune-content=film.
    
    VPX_ENCODER_ABI_VERSION bumped for this change and cvbr.
    
    Change-Id: I26a4e4edfa3dc5cacead82fa701fe7a9118ccd0a
    a73cee28
Name
Last commit
Last update
build Loading commit data...
examples Loading commit data...
test Loading commit data...
third_party Loading commit data...
tools Loading commit data...
vp8 Loading commit data...
vp9 Loading commit data...
vpx Loading commit data...
vpx_dsp Loading commit data...
vpx_mem Loading commit data...
vpx_ports Loading commit data...
vpx_scale Loading commit data...
vpx_util Loading commit data...
.clang-format Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
AUTHORS Loading commit data...
CHANGELOG Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README Loading commit data...
args.c Loading commit data...
args.h Loading commit data...
codereview.settings Loading commit data...
configure Loading commit data...
docs.mk Loading commit data...
examples.mk Loading commit data...
ivfdec.c Loading commit data...
ivfdec.h Loading commit data...
ivfenc.c Loading commit data...
ivfenc.h Loading commit data...
keywords.dox Loading commit data...
libs.doxy_template Loading commit data...
libs.mk Loading commit data...
mainpage.dox Loading commit data...
md5_utils.c Loading commit data...
md5_utils.h Loading commit data...
rate_hist.c Loading commit data...
rate_hist.h Loading commit data...
solution.mk Loading commit data...
tools.mk Loading commit data...
tools_common.c Loading commit data...
tools_common.h Loading commit data...
usage.dox Loading commit data...
usage_cx.dox Loading commit data...
usage_dx.dox Loading commit data...
video_common.h Loading commit data...
video_reader.c Loading commit data...
video_reader.h Loading commit data...
video_writer.c Loading commit data...
video_writer.h Loading commit data...
vpxdec.c Loading commit data...
vpxenc.c Loading commit data...
vpxenc.h Loading commit data...
vpxstats.c Loading commit data...
vpxstats.h Loading commit data...
warnings.c Loading commit data...
warnings.h Loading commit data...
webmdec.cc Loading commit data...
webmdec.h Loading commit data...
webmenc.cc Loading commit data...
webmenc.h Loading commit data...
y4menc.c Loading commit data...
y4menc.h Loading commit data...
y4minput.c Loading commit data...
y4minput.h Loading commit data...