shithub: libvpx

Download patch

ref: 38d79453457e12ddc735243a701c980c068c0d0b
parent: 4eb537c0e69c7d94cea64c52016ccdfd1c69d639
author: Ronald S. Bultje <rbultje@google.com>
date: Thu Apr 11 05:14:55 EDT 2013

Slight simplification of SB RD loop recursion conditions.

Change-Id: I87a406fcd18ab043253ca0c009d1182fdc5c3046

--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -1097,9 +1097,8 @@
         sb64_skip += splitmodes_used;
       }
 
-      if ( !sb32_skip &&
-           !(((cm->mb_cols & 1) && mb_col + x_idx == cm->mb_cols - 1) ||
-             ((cm->mb_rows & 1) && mb_row + y_idx == cm->mb_rows - 1))) {
+      if (!sb32_skip && !(mb_col + x_idx + 1 >= cm->mb_cols ||
+                          mb_row + y_idx + 1 >= cm->mb_rows)) {
         /* Pick a mode assuming that it applies to all 4 of the MBs in the SB */
         pick_sb_modes(cpi, mb_row + y_idx, mb_col + x_idx,
                       tp, &sb_rate, &sb_dist);
@@ -1137,9 +1136,8 @@
     memcpy(cm->left_context, &l, sizeof(l));
     sb32_rate += vp9_cost_bit(cm->prob_sb64_coded, 0);
 
-    if (!sb64_skip &&
-        !(((cm->mb_cols & 3) && mb_col + 3 >= cm->mb_cols) ||
-          ((cm->mb_rows & 3) && mb_row + 3 >= cm->mb_rows))) {
+    if (!sb64_skip && !(mb_col + 3 >= cm->mb_cols ||
+                        mb_row + 3 >= cm->mb_rows)) {
       pick_sb64_modes(cpi, mb_row, mb_col, tp, &sb64_rate, &sb64_dist);
       sb64_rate += vp9_cost_bit(cm->prob_sb64_coded, 1);
     }