shithub: libvpx

Download patch

ref: 6f5a1e033fd0f1465fbe874c71d662140eb6610b
parent: 1f08824d6db735e4cacb0419785a789395e42b2b
author: Yaowu Xu <yaowu@google.com>
date: Tue Mar 11 07:13:38 EDT 2014

Increase redo_frequency to 4 and cleanups

Clean-ups include
a. redundant code in rt -5 speed feature settings
b. code that guarantees square block availability in
rd_auto_partition_range()

Change-Id: Ic7b04d45b6dc15c461e0edbbb4e78aec20348291

--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -1644,8 +1644,8 @@
   // partition is allowed by selecting the next smaller square size as
   // *min_block_size.
   if (cpi->sf.use_square_partition_only &&
-      (*max_block_size - *min_block_size) < 2) {
-    *min_block_size = next_square_size[*min_block_size];
+      next_square_size[*max_block_size] < *min_block_size) {
+    *min_block_size = next_square_size[*max_block_size];
   }
 }
 
--- a/vp9/encoder/vp9_onyx_if.c
+++ b/vp9/encoder/vp9_onyx_if.c
@@ -840,14 +840,12 @@
   }
   if (speed >= 5) {
     int i;
-    sf->mode_search_skip_flags |= FLAG_SKIP_COMP_REFMISMATCH |
-                                  FLAG_EARLY_TERMINATE;
-    sf->use_fast_coef_costing = 0;
+    sf->last_partitioning_redo_frequency = 4;
     sf->adaptive_rd_thresh = 5;
-    sf->auto_min_max_partition_size = frame_is_intra_only(cm) ?
-        RELAXED_NEIGHBORING_MIN_MAX : STRICT_NEIGHBORING_MIN_MAX;
+    sf->use_fast_coef_costing = 0;
+    sf->auto_min_max_partition_size = STRICT_NEIGHBORING_MIN_MAX;
     sf->adjust_partitioning_from_last_frame =
-        cm->last_frame_type == KEY_FRAME || (0 ==
+        cm->last_frame_type != cm->frame_type || (0 ==
         (cm->current_video_frame + 1) % sf->last_partitioning_redo_frequency);
     sf->subpel_force_stop = 1;
     for (i = 0; i < TX_SIZES; i++) {