diff options
author | Paul Wilkins <paulwilkins@google.com> | 2014-11-07 16:32:50 +0000 |
---|---|---|
committer | Paul Wilkins <paulwilkins@google.com> | 2014-11-20 16:23:35 -0800 |
commit | d0312379991b81f2aec5a1fa4a50406ca764cdee (patch) | |
tree | c9c4838405f185adde18b7777b113bcd727627ff /vp9/encoder/vp9_aq_variance.h | |
parent | 3d1e8c9a85d0bb16049cb1622f1d2d9a034c5379 (diff) | |
download | libvpx-d0312379991b81f2aec5a1fa4a50406ca764cdee.tar libvpx-d0312379991b81f2aec5a1fa4a50406ca764cdee.tar.gz libvpx-d0312379991b81f2aec5a1fa4a50406ca764cdee.tar.bz2 libvpx-d0312379991b81f2aec5a1fa4a50406ca764cdee.zip |
Add variance restriction to AQ2.
Add an additional restriction to bit/complexity based
segmentation based on spatial variance.
Only lower Q when both the number of bits spent
in the initial encoding pass and the spatial complexity are
below a threshold. This will prevent the low Q segments
being used just because there is a surfeit of bits.
Small metrics gains especially opsnr.
derf ~0.2% std-hd ~0.3%
Change-Id: I6a8496d466d673f9b0e2b2ca6304ea7b6d8e1cce
Diffstat (limited to 'vp9/encoder/vp9_aq_variance.h')
-rw-r--r-- | vp9/encoder/vp9_aq_variance.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_aq_variance.h b/vp9/encoder/vp9_aq_variance.h index ac144fb32..a0effa311 100644 --- a/vp9/encoder/vp9_aq_variance.h +++ b/vp9/encoder/vp9_aq_variance.h @@ -22,6 +22,7 @@ unsigned int vp9_vaq_segment_id(int energy); void vp9_vaq_frame_setup(VP9_COMP *cpi); int vp9_block_energy(VP9_COMP *cpi, MACROBLOCK *x, BLOCK_SIZE bs); +double vp9_log_block_var(VP9_COMP *cpi, MACROBLOCK *x, BLOCK_SIZE bs); #ifdef __cplusplus } // extern "C" |