VP9_COMMON *const cm = &cpi->common;
MACROBLOCK *const x = &cpi->mb;
MACROBLOCKD *const xd = &cpi->mb.e_mbd;
+ int mis = cm->mode_info_stride;
+ int br, bc;
int i, j;
int chosen_rate = INT_MAX;
- int64_t chosen_dist = INT_MAX;
+ int64_t chosen_dist = INT64_MAX;
MB_PREDICTION_MODE mode = DC_PRED;
- int row8x8_remaining = MIN(MI_BLOCK_SIZE, tile->mi_row_end - mi_row);
- int col8x8_remaining = MIN(MI_BLOCK_SIZE, tile->mi_col_end - mi_col);
+ int rows = MIN(MI_BLOCK_SIZE, tile->mi_row_end - mi_row);
+ int cols = MIN(MI_BLOCK_SIZE, tile->mi_col_end - mi_col);
- int rows = mi_row + row8x8_remaining;
- int cols = mi_col + col8x8_remaining;
+ int mi_8x8_width = num_8x8_blocks_wide_lookup[bsize];
+ int mi_8x8_hight = num_8x8_blocks_high_lookup[bsize];
int brate;
int64_t bdist;
int64_t tx_cache[TX_MODES];
int i;
int this_skip2 = 0;
- int64_t total_sse = INT_MAX;
+ int64_t total_sse = INT64_MAX;
int early_term = 0;
- for (i = 0; i < TX_MODES; ++i)
- tx_cache[i] = INT64_MAX;
-
- x->skip = 0;
- this_mode = vp9_mode_order[mode_index].mode;
- ref_frame = vp9_mode_order[mode_index].ref_frame[0];
- second_ref_frame = vp9_mode_order[mode_index].ref_frame[1];
-
// Look at the reference frame of the best mode so far and set the
// skip mask to look at a subset of the remaining modes.
- if (mode_index > cpi->sf.mode_skip_start) {
- if (mode_index == (cpi->sf.mode_skip_start + 1)) {
- switch (vp9_mode_order[best_mode_index].ref_frame[0]) {
- case INTRA_FRAME:
- mode_skip_mask = 0;
- break;
- case LAST_FRAME:
- mode_skip_mask = LAST_FRAME_MODE_MASK;
- break;
- case GOLDEN_FRAME:
- mode_skip_mask = GOLDEN_FRAME_MODE_MASK;
- break;
- case ALTREF_FRAME:
- mode_skip_mask = ALT_REF_MODE_MASK;
- break;
- case NONE:
- case MAX_REF_FRAMES:
- assert(0 && "Invalid Reference frame");
- }
+ if (mode_index == mode_skip_start) {
+ switch (vp9_mode_order[best_mode_index].ref_frame[0]) {
+ case INTRA_FRAME:
+ break;
+ case LAST_FRAME:
+ mode_skip_mask |= LAST_FRAME_MODE_MASK;
+ break;
+ case GOLDEN_FRAME:
+ mode_skip_mask |= GOLDEN_FRAME_MODE_MASK;
+ break;
+ case ALTREF_FRAME:
+ mode_skip_mask |= ALT_REF_MODE_MASK;
+ break;
+ case NONE:
+ case MAX_REF_FRAMES:
+ assert(0 && "Invalid Reference frame");
}
- if (mode_skip_mask & (1 << mode_index))
- continue;
}
-
- // Skip if the current reference frame has been masked off
- if (ref_frame_mask & (1 << ref_frame) && this_mode != NEWMV)
+ if (mode_skip_mask & (1 << mode_index))
continue;
// Test best rd so far against threshold for trying this mode.