vp9: Fix condition for intra search in non-rd pickmode.
Fixes an issue when the LAST and golden is not used as a reference, in which case its possible no encoding mode is set (since intra may be skipped under certain codtions). Fix is to make sure intra is searched if no inter mode is checked. Issue can happen for temporal layer pattern#7 in vpx_temporal_svc_encoder.c Change-Id: I5ab4999b2f9dbd739044888e0916b5ec491d966b
This commit is contained in:
@@ -1985,11 +1985,10 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, TileDataEnc *tile_data,
|
||||
perform_intra_pred = 0;
|
||||
// Perform intra prediction search, if the best SAD is above a certain
|
||||
// threshold.
|
||||
if ((!force_skip_low_temp_var || bsize < BLOCK_32X32) && perform_intra_pred &&
|
||||
(best_rdc.rdcost == INT64_MAX ||
|
||||
(!x->skip && best_rdc.rdcost > inter_mode_thresh &&
|
||||
bsize <= cpi->sf.max_intra_bsize)) &&
|
||||
!x->skip_low_source_sad) {
|
||||
if (best_rdc.rdcost == INT64_MAX ||
|
||||
((!force_skip_low_temp_var || bsize < BLOCK_32X32) &&
|
||||
perform_intra_pred && !x->skip && best_rdc.rdcost > inter_mode_thresh &&
|
||||
bsize <= cpi->sf.max_intra_bsize && !x->skip_low_source_sad)) {
|
||||
struct estimate_block_intra_args args = { cpi, x, DC_PRED, 1, 0 };
|
||||
int i;
|
||||
TX_SIZE best_intra_tx_size = TX_SIZES;
|
||||
|
||||
Reference in New Issue
Block a user