From: Ronald S. Bultje Date: Wed, 21 Oct 2015 13:13:59 +0000 (-0400) Subject: vp10: don't allow comp_inter_inter on keyframes. X-Git-Tag: v1.5.0~14^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6a032503caec65c1f5fdf609c79b377a06a034d8;p=libvpx vp10: don't allow comp_inter_inter on keyframes. Change-Id: Ibd0e13721a2bb71c532d20b36c42f4cccf5c5de2 --- diff --git a/vp10/decoder/decodeframe.c b/vp10/decoder/decodeframe.c index fa28e7cf7..5c95e16bc 100644 --- a/vp10/decoder/decodeframe.c +++ b/vp10/decoder/decodeframe.c @@ -47,6 +47,8 @@ static int is_compound_reference_allowed(const VP10_COMMON *cm) { int i; + if (frame_is_intra_only(cm)) + return 0; for (i = 1; i < REFS_PER_FRAME; ++i) if (cm->ref_frame_sign_bias[i + 1] != cm->ref_frame_sign_bias[1]) return 1; diff --git a/vp10/encoder/encodeframe.c b/vp10/encoder/encodeframe.c index e038fe675..f303b01fc 100644 --- a/vp10/encoder/encodeframe.c +++ b/vp10/encoder/encodeframe.c @@ -2807,6 +2807,8 @@ void vp10_encode_frame(VP10_COMP *cpi) { cm->comp_var_ref[0] = LAST_FRAME; cm->comp_var_ref[1] = GOLDEN_FRAME; } + } else { + cpi->allow_comp_inter_inter = 0; } if (cpi->sf.frame_parameter_update) {