Condition the zbin_boost increase to 1 layer.
Condition the existing zbin boost logic for gf/altf mode to temporal layers==1,
since gf/altf reference frames are used in temporal layers as reference frames.
Change-Id: I618bb20730e5f193e078215d06f54997c363dd7b
diff --git a/vp8/encoder/encodeframe.c b/vp8/encoder/encodeframe.c
index 5baeb3c..b550f6b 100644
--- a/vp8/encoder/encodeframe.c
+++ b/vp8/encoder/encodeframe.c
@@ -1299,8 +1299,9 @@
}
{
- /* Experimental code. Special case for gf and arf zeromv modes.
- * Increase zbin size to supress noise
+ /* Experimental code.
+ * Special case for gf and arf zeromv modes, for 1 temporal layer.
+ * Increase zbin size to supress noise.
*/
x->zbin_mode_boost = 0;
if (x->zbin_mode_boost_enabled)
@@ -1309,7 +1310,8 @@
{
if (xd->mode_info_context->mbmi.mode == ZEROMV)
{
- if (xd->mode_info_context->mbmi.ref_frame != LAST_FRAME)
+ if (xd->mode_info_context->mbmi.ref_frame != LAST_FRAME &&
+ cpi->oxcf.number_of_layers == 1)
x->zbin_mode_boost = GF_ZEROMV_ZBIN_BOOST;
else
x->zbin_mode_boost = LF_ZEROMV_ZBIN_BOOST;