• 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
..
arm/neon Loading commit data...
mips/msa Loading commit data...
x86 Loading commit data...
vp9_alt_ref_aq.c Loading commit data...
vp9_alt_ref_aq.h Loading commit data...
vp9_aq_360.c Loading commit data...
vp9_aq_360.h Loading commit data...
vp9_aq_complexity.c Loading commit data...
vp9_aq_complexity.h Loading commit data...
vp9_aq_cyclicrefresh.c Loading commit data...
vp9_aq_cyclicrefresh.h Loading commit data...
vp9_aq_variance.c Loading commit data...
vp9_aq_variance.h Loading commit data...
vp9_bitstream.c Loading commit data...
vp9_bitstream.h Loading commit data...
vp9_block.h Loading commit data...
vp9_blockiness.c Loading commit data...
vp9_context_tree.c Loading commit data...
vp9_context_tree.h Loading commit data...
vp9_cost.c Loading commit data...
vp9_cost.h Loading commit data...
vp9_dct.c Loading commit data...
vp9_denoiser.c Loading commit data...
vp9_denoiser.h Loading commit data...
vp9_encodeframe.c Loading commit data...
vp9_encodeframe.h Loading commit data...
vp9_encodemb.c Loading commit data...
vp9_encodemb.h Loading commit data...
vp9_encodemv.c Loading commit data...
vp9_encodemv.h Loading commit data...
vp9_encoder.c Loading commit data...
vp9_encoder.h Loading commit data...
vp9_ethread.c Loading commit data...
vp9_ethread.h Loading commit data...
vp9_extend.c Loading commit data...
vp9_extend.h Loading commit data...
vp9_firstpass.c Loading commit data...
vp9_firstpass.h Loading commit data...
vp9_frame_scale.c Loading commit data...
vp9_job_queue.h Loading commit data...
vp9_lookahead.c Loading commit data...
vp9_lookahead.h Loading commit data...
vp9_mbgraph.c Loading commit data...
vp9_mbgraph.h Loading commit data...
vp9_mcomp.c Loading commit data...
vp9_mcomp.h Loading commit data...
vp9_multi_thread.c Loading commit data...
vp9_multi_thread.h Loading commit data...
vp9_noise_estimate.c Loading commit data...
vp9_noise_estimate.h Loading commit data...
vp9_picklpf.c Loading commit data...
vp9_picklpf.h Loading commit data...
vp9_pickmode.c Loading commit data...
vp9_pickmode.h Loading commit data...
vp9_quantize.c Loading commit data...
vp9_quantize.h Loading commit data...
vp9_ratectrl.c Loading commit data...
vp9_ratectrl.h Loading commit data...
vp9_rd.c Loading commit data...
vp9_rd.h Loading commit data...
vp9_rdopt.c Loading commit data...
vp9_rdopt.h Loading commit data...
vp9_resize.c Loading commit data...
vp9_resize.h Loading commit data...
vp9_segmentation.c Loading commit data...
vp9_segmentation.h Loading commit data...
vp9_skin_detection.c Loading commit data...
vp9_skin_detection.h Loading commit data...
vp9_speed_features.c Loading commit data...
vp9_speed_features.h Loading commit data...
vp9_subexp.c Loading commit data...
vp9_subexp.h Loading commit data...
vp9_svc_layercontext.c Loading commit data...
vp9_svc_layercontext.h Loading commit data...
vp9_temporal_filter.c Loading commit data...
vp9_temporal_filter.h Loading commit data...
vp9_tokenize.c Loading commit data...
vp9_tokenize.h Loading commit data...
vp9_treewriter.c Loading commit data...
vp9_treewriter.h Loading commit data...