]> granicus.if.org Git - libvpx/commitdiff
vp9: Speed >= 8: Enable simple_block_yrd speed feature.
authorMarco <marpan@google.com>
Mon, 13 Mar 2017 05:38:52 +0000 (22:38 -0700)
committerMarco <marpan@google.com>
Tue, 14 Mar 2017 16:10:28 +0000 (09:10 -0700)
Enable speed feature for resolutions > VGA.
avgPSNR on RTC down by ~1.7%.
Speedup on ARM: ~5%.

Change-Id: I7a3fe5f7425aa8df3f4a2eced1afa355bc0d4c95

vp9/encoder/vp9_pickmode.c
vp9/encoder/vp9_speed_features.c

index ea0f2ca1aac1b70729c518fa44a9409cdc1a8e37..12234d72160dfa550a7b1e7db126dc10650b88e4 100644 (file)
@@ -652,7 +652,7 @@ static void block_yrd(VP9_COMP *cpi, MACROBLOCK *x, RD_COST *this_rdc,
 #endif
 
   if (cpi->sf.use_simple_block_yrd && cpi->common.frame_type != KEY_FRAME &&
-      !cyclic_refresh_segment_id_boosted(xd->mi[0]->segment_id)) {
+      bsize < BLOCK_32X32) {
     unsigned int var_y, sse_y;
     (void)tx_size;
     model_rd_for_sb_y(cpi, bsize, x, xd, &this_rdc->rate, &this_rdc->dist,
index 7b78d1d5ec53d1ce5e0356f22b9e2a6d517fff42..f68d906298a8e699457fd4323ee55590a216a91d 100644 (file)
@@ -568,7 +568,7 @@ static void set_rt_speed_feature_framesize_independent(
       sf->adaptive_rd_thresh = 2;
     }
     sf->limit_newmv_early_exit = 0;
-    sf->use_simple_block_yrd = 0;
+    if (cm->width > 640 && cm->height > 480) sf->use_simple_block_yrd = 1;
   }
   // Turn off adaptive_rd_thresh if row_mt is on for all the non-rd paths. This
   // causes too many locks in realtime mode in certain platforms (Android ARM,