From: Yaowu Xu Date: Tue, 25 Feb 2014 16:22:49 +0000 (-0800) Subject: Merge changes I7e96d619,I9a7631d5 X-Git-Tag: v1.4.0~2277 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b67bd637e01a2dccadd5704c7e4419bfd546d0ef;p=libvpx Merge changes I7e96d619,I9a7631d5 * changes: normalize int64_t high value to INT64_MAX resolve issue with arm code failing unit test --- b67bd637e01a2dccadd5704c7e4419bfd546d0ef diff --cc vp9/encoder/vp9_encodeframe.c index 038586981,847f32fb1..77db79abf --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@@ -2262,17 -2257,15 +2258,17 @@@ static void rtc_use_partition(VP9_COMP 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; diff --cc vp9/encoder/vp9_rdopt.c index 506afe01a,e712e1e53..376224e5a --- a/vp9/encoder/vp9_rdopt.c +++ b/vp9/encoder/vp9_rdopt.c @@@ -3238,30 -3223,45 +3238,30 @@@ int64_t vp9_rd_pick_inter_mode_sb(VP9_C 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.