From: Geza Lore Date: Fri, 13 May 2016 13:39:44 +0000 (+0100) Subject: Check if sub8x8 rd stats are valid before reusing them. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d9870c32a9655ef795258bef51f8f2fae165a379;p=libvpx Check if sub8x8 rd stats are valid before reusing them. Change-Id: I5d49f15a07de58c226d4003b4691e001abf1f3f8 --- diff --git a/vp10/encoder/rdopt.c b/vp10/encoder/rdopt.c index 1ddbcd459..490e32fff 100644 --- a/vp10/encoder/rdopt.c +++ b/vp10/encoder/rdopt.c @@ -5598,6 +5598,8 @@ static int64_t rd_pick_best_sub8x8_mode(VP10_COMP *cpi, MACROBLOCK *x, ref_bsi->rdstat[i][mode_idx].mvs[ref].as_int; } + have_ref &= ref_bsi->rdstat[i][mode_idx].brate > 0; + if (filter_idx > 1 && !subpelmv && !have_ref) { ref_bsi = bsi_buf + 1; have_ref = 1; @@ -5613,6 +5615,8 @@ static int64_t rd_pick_best_sub8x8_mode(VP10_COMP *cpi, MACROBLOCK *x, #endif // CONFIG_EXT_INTER have_ref &= mode_mv[this_mode][ref].as_int == ref_bsi->rdstat[i][mode_idx].mvs[ref].as_int; + + have_ref &= ref_bsi->rdstat[i][mode_idx].brate > 0; } if (!subpelmv && have_ref &&