From: Jingning Han Date: Thu, 18 Dec 2014 19:54:13 +0000 (-0800) Subject: Add a guard on intra mode skip control for RTC mode X-Git-Tag: v1.4.0~319^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6ec0ef6691d38236de1a2f937351cac1db380640;p=libvpx Add a guard on intra mode skip control for RTC mode This commit adds a guard condition to the intra mode test skip control in RTC coding mode. If all inter modes are skipped, force the encoder to check intra mode. It avoids situations where the encoder processes without properly assigning required mode information. Change-Id: Ibb349fee997d6584ce901d08b06e8df3ca9c01b1 --- diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c index 2a2de5b33..319a47833 100644 --- a/vp9/encoder/vp9_pickmode.c +++ b/vp9/encoder/vp9_pickmode.c @@ -837,8 +837,9 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, // Perform intra prediction search, if the best SAD is above a certain // threshold. - if (!x->skip && best_rdc.rdcost > inter_mode_thresh && - bsize <= cpi->sf.max_intra_bsize) { + if (best_rdc.rdcost == INT64_MAX || + (!x->skip && best_rdc.rdcost > inter_mode_thresh && + bsize <= cpi->sf.max_intra_bsize)) { struct estimate_block_intra_args args = { cpi, x, DC_PRED, 0, 0 }; const TX_SIZE intra_tx_size = MIN(max_txsize_lookup[bsize],