]> granicus.if.org Git - libvpx/commitdiff
Merge changes I7e96d619,I9a7631d5
authorYaowu Xu <yaowu@google.com>
Tue, 25 Feb 2014 16:22:49 +0000 (08:22 -0800)
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>
Tue, 25 Feb 2014 16:22:49 +0000 (08:22 -0800)
* changes:
  normalize int64_t high value to INT64_MAX
  resolve issue with arm code failing unit test

1  2 
vp9/encoder/vp9_encodeframe.c
vp9/encoder/vp9_rdopt.c

index 038586981ce617a9b87f47f816b72803815833fa,847f32fb10a60e61b03eb6a09ddaad1f20ce4c56..77db79abfbb09497233260295ce545be21ad1317
@@@ -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;
index 506afe01a0e6523efead27826e3c0895bbb69325,e712e1e5364bfe7b05ab76e0fd487d6d1aa7baa3..376224e5a529d73b97e2ae69611cfcb22495bbf5
@@@ -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.