shithub: libvpx

Download patch

ref: fbd73648dd022be5096ab3b86661cd747b3eea89
parent: 88e48444da68155f39957b2b4984ad543d4584c3
parent: b30a06b930b1de5651f2df45a1914214140df278
author: Adrian Grange <agrange@google.com>
date: Tue Jul 30 08:59:46 EDT 2013

Merge "Cleanup typos, remove unnecessary lines, replace switch"

--- a/vp9/common/vp9_blockd.h
+++ b/vp9/common/vp9_blockd.h
@@ -493,16 +493,16 @@
     // it to 4x4 block sizes.
     if (xd->mb_to_right_edge < 0)
       max_blocks_wide +=
-          + (xd->mb_to_right_edge >> (5 + xd->plane[plane].subsampling_x));
+          (xd->mb_to_right_edge >> (5 + xd->plane[plane].subsampling_x));
 
     if (xd->mb_to_bottom_edge < 0)
       max_blocks_high +=
-          + (xd->mb_to_bottom_edge >> (5 + xd->plane[plane].subsampling_y));
+          (xd->mb_to_bottom_edge >> (5 + xd->plane[plane].subsampling_y));
 
     i = 0;
     // Unlike the normal case - in here we have to keep track of the
     // row and column of the blocks we use so that we know if we are in
-    // the unrestricted motion border..
+    // the unrestricted motion border.
     for (r = 0; r < (1 << sh); r += (1 << tx_size)) {
       for (c = 0; c < (1 << sw); c += (1 << tx_size)) {
         if (r < max_blocks_high && c < max_blocks_wide)
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -2119,7 +2119,7 @@
     }
 
     vpx_usec_timer_mark(&emr_timer);
-    cpi->time_encode_mb_row += vpx_usec_timer_elapsed(&emr_timer);
+    cpi->time_encode_sb_row += vpx_usec_timer_elapsed(&emr_timer);
   }
 
   if (cpi->sf.skip_encode_sb) {
--- a/vp9/encoder/vp9_onyx_if.c
+++ b/vp9/encoder/vp9_onyx_if.c
@@ -1839,7 +1839,10 @@
     {
       printf("\n_pick_loop_filter_level:%d\n", cpi->time_pick_lpf / 1000);
       printf("\n_frames recive_data encod_mb_row compress_frame  Total\n");
-      printf("%6d %10ld %10ld %10ld %10ld\n", cpi->common.current_video_frame, cpi->time_receive_data / 1000, cpi->time_encode_mb_row / 1000, cpi->time_compress_data / 1000, (cpi->time_receive_data + cpi->time_compress_data) / 1000);
+      printf("%6d %10ld %10ld %10ld %10ld\n", cpi->common.current_video_frame,
+             cpi->time_receive_data / 1000, cpi->time_encode_sb_row / 1000,
+             cpi->time_compress_data / 1000,
+             (cpi->time_receive_data + cpi->time_compress_data) / 1000);
     }
 #endif
 
--- a/vp9/encoder/vp9_onyx_int.h
+++ b/vp9/encoder/vp9_onyx_int.h
@@ -530,7 +530,7 @@
   uint64_t time_receive_data;
   uint64_t time_compress_data;
   uint64_t time_pick_lpf;
-  uint64_t time_encode_mb_row;
+  uint64_t time_encode_sb_row;
 
   struct twopass_rc {
     unsigned int section_intra_rating;
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -1329,6 +1329,7 @@
 
   bmode_costs = mb->mbmode_cost;
 
+  // Pick modes for each sub-block (of size 4x4, 4x8, or 8x4) in an 8x8 block.
   for (idy = 0; idy < 2; idy += num_4x4_blocks_high) {
     for (idx = 0; idx < 2; idx += num_4x4_blocks_wide) {
       const int mis = xd->mode_info_stride;
@@ -1396,7 +1397,7 @@
       txfm_cache[i] = INT64_MAX;
   }
 
-  /* Y Search for 32x32 intra prediction mode */
+  /* Y Search for intra prediction mode */
   for (mode = DC_PRED; mode <= TM_PRED; mode++) {
     int64_t local_txfm_cache[TX_MODES];
     MODE_INFO *const mic = xd->mode_info_context;
@@ -1528,8 +1529,6 @@
           x->intra_uv_mode_cost[cpi->common.frame_type][DC_PRED];
   this_rd = RDCOST(x->rdmult, x->rddiv, *rate, *distortion);
 
-  x->e_mbd.mode_info_context->mbmi.uv_mode = DC_PRED;
-
   return this_rd;
 }
 
@@ -2766,46 +2765,38 @@
   int orig_dst_stride[MAX_MB_PLANE];
   int rs = 0;
 
-  switch (this_mode) {
+  if (this_mode == NEWMV) {
     int rate_mv;
-    case NEWMV:
-      if (is_comp_pred) {
-        // Initialize mv using single prediction mode result.
-        frame_mv[refs[0]].as_int = single_newmv[refs[0]].as_int;
-        frame_mv[refs[1]].as_int = single_newmv[refs[1]].as_int;
+    if (is_comp_pred) {
+      // Initialize mv using single prediction mode result.
+      frame_mv[refs[0]].as_int = single_newmv[refs[0]].as_int;
+      frame_mv[refs[1]].as_int = single_newmv[refs[1]].as_int;
 
-        if (cpi->sf.comp_inter_joint_search_thresh <= bsize) {
-          joint_motion_search(cpi, x, bsize, frame_mv,
-                              mi_row, mi_col, single_newmv, &rate_mv);
-        } else {
-          rate_mv  = vp9_mv_bit_cost(&frame_mv[refs[0]],
-                                     &mbmi->ref_mvs[refs[0]][0],
-                                     x->nmvjointcost, x->mvcost, 96,
-                                     x->e_mbd.allow_high_precision_mv);
-          rate_mv += vp9_mv_bit_cost(&frame_mv[refs[1]],
-                                     &mbmi->ref_mvs[refs[1]][0],
-                                     x->nmvjointcost, x->mvcost, 96,
-                                     x->e_mbd.allow_high_precision_mv);
-        }
-        if (frame_mv[refs[0]].as_int == INVALID_MV ||
-            frame_mv[refs[1]].as_int == INVALID_MV)
-          return INT64_MAX;
-        *rate2 += rate_mv;
+      if (cpi->sf.comp_inter_joint_search_thresh <= bsize) {
+        joint_motion_search(cpi, x, bsize, frame_mv,
+                            mi_row, mi_col, single_newmv, &rate_mv);
       } else {
-        int_mv tmp_mv;
-        single_motion_search(cpi, x, bsize, mi_row, mi_col,
-                             &tmp_mv, &rate_mv);
-        *rate2 += rate_mv;
-        frame_mv[refs[0]].as_int =
-            xd->mode_info_context->bmi[0].as_mv[0].as_int = tmp_mv.as_int;
-        single_newmv[refs[0]].as_int = tmp_mv.as_int;
+        rate_mv  = vp9_mv_bit_cost(&frame_mv[refs[0]],
+                                   &mbmi->ref_mvs[refs[0]][0],
+                                   x->nmvjointcost, x->mvcost, 96,
+                                   x->e_mbd.allow_high_precision_mv);
+        rate_mv += vp9_mv_bit_cost(&frame_mv[refs[1]],
+                                   &mbmi->ref_mvs[refs[1]][0],
+                                   x->nmvjointcost, x->mvcost, 96,
+                                   x->e_mbd.allow_high_precision_mv);
       }
-      break;
-    case NEARMV:
-    case NEARESTMV:
-    case ZEROMV:
-    default:
-      break;
+      if (frame_mv[refs[0]].as_int == INVALID_MV ||
+          frame_mv[refs[1]].as_int == INVALID_MV)
+        return INT64_MAX;
+      *rate2 += rate_mv;
+    } else {
+      int_mv tmp_mv;
+      single_motion_search(cpi, x, bsize, mi_row, mi_col, &tmp_mv, &rate_mv);
+      *rate2 += rate_mv;
+      frame_mv[refs[0]].as_int =
+          xd->mode_info_context->bmi[0].as_mv[0].as_int = tmp_mv.as_int;
+      single_newmv[refs[0]].as_int = tmp_mv.as_int;
+    }
   }
 
   // if we're near/nearest and mv == 0,0, compare to zeromv
@@ -2986,7 +2977,7 @@
       xd->plane[i].dst.stride = orig_dst_stride[i];
     }
   }
-  // Set the appripriate filter
+  // Set the appropriate filter
   mbmi->interp_filter = cm->mcomp_filter_type != SWITCHABLE ?
       cm->mcomp_filter_type : *best_filter;
   vp9_setup_interp_filters(xd, mbmi->interp_filter, cm);
@@ -3272,7 +3263,6 @@
   ctx->frames_with_high_error = 0;
   ctx->modes_with_high_error = 0;
 
-  xd->mode_info_context->mbmi.segment_id = segment_id;
   estimate_ref_frame_costs(cpi, segment_id, ref_costs_single, ref_costs_comp,
                            &comp_mode_p);
   vpx_memset(&best_mbmode, 0, sizeof(best_mbmode));
@@ -3289,7 +3279,8 @@
 
   *returnrate = INT_MAX;
 
-  // Create a mask set to 1 for each frame used by a smaller resolution.
+  // Create a mask set to 1 for each reference frame used by a smaller
+  // resolution.
   if (cpi->sf.use_avoid_tested_higherror) {
     switch (block_size) {
       case BLOCK_64X64:
@@ -3354,7 +3345,7 @@
     second_ref_frame = vp9_mode_order[mode_index].second_ref_frame;
 
     // Skip modes that have been masked off but always consider first mode.
-    if ( mode_index && (bsize > cpi->sf.unused_mode_skip_lvl) &&
+    if (mode_index && (bsize > cpi->sf.unused_mode_skip_lvl) &&
          (cpi->unused_mode_skip_mask & (1 << mode_index)) )
       continue;
 
--- a/vpx_scale/generic/yv12config.c
+++ b/vpx_scale/generic/yv12config.c
@@ -60,7 +60,7 @@
 
     /* Only support allocating buffers that have a border that's a multiple
      * of 32. The border restriction is required to get 16-byte alignment of
-     * the start of the chroma rows without intoducing an arbitrary gap
+     * the start of the chroma rows without introducing an arbitrary gap
      * between planes, which would break the semantics of things like
      * vpx_img_set_rect(). */
     if (border & 0x1f)
@@ -158,7 +158,7 @@
 
     /* Only support allocating buffers that have a border that's a multiple
      * of 32. The border restriction is required to get 16-byte alignment of
-     * the start of the chroma rows without intoducing an arbitrary gap
+     * the start of the chroma rows without introducing an arbitrary gap
      * between planes, which would break the semantics of things like
      * vpx_img_set_rect(). */
     if (border & 0x1f)