summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_aq_variance.h
diff options
context:
space:
mode:
authorPaul Wilkins <paulwilkins@google.com>2014-11-07 16:32:50 +0000
committerPaul Wilkins <paulwilkins@google.com>2014-11-20 16:23:35 -0800
commitd0312379991b81f2aec5a1fa4a50406ca764cdee (patch)
treec9c4838405f185adde18b7777b113bcd727627ff /vp9/encoder/vp9_aq_variance.h
parent3d1e8c9a85d0bb16049cb1622f1d2d9a034c5379 (diff)
downloadlibvpx-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.h1
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"