]> granicus.if.org Git - libvpx/commitdiff
vp9: Speed >8: Set subpel_search_method for low motion.
authorMarco <marpan@google.com>
Thu, 1 Jun 2017 23:07:15 +0000 (16:07 -0700)
committerMarco <marpan@google.com>
Thu, 1 Jun 2017 23:16:13 +0000 (16:16 -0700)
Speed >=8: for resolutions above CIF, and for low motion content,
set subpel_search_method to SUBPEL_TREE_PRUNED_EVENMORE.

Small speed gain (~2%) on vga clips,
RTC metrics up by ~2-3% on average.

Change-Id: Ie26ba0264589652f92dfe74308740debf94cf0cc

vp9/encoder/vp9_speed_features.c

index c4b9ad55a149f07c667c3f842e5c8bfe6c503333..011be9710e96cc3941e519ed0f25264a9bd96553 100644 (file)
@@ -585,8 +585,11 @@ static void set_rt_speed_feature_framesize_independent(
 
     if (content == VP9E_CONTENT_SCREEN)
       sf->mv.subpel_force_stop = 3;
-    else if (cm->width * cm->height > 352 * 288)
+    else if (cm->width * cm->height > 352 * 288) {
       sf->mv.subpel_force_stop = 2;
+      if (cpi->rc.avg_frame_low_motion > 87 && cm->current_video_frame > 30)
+        sf->mv.subpel_search_method = SUBPEL_TREE_PRUNED_EVENMORE;
+    }
 
     if (content == VP9E_CONTENT_SCREEN) sf->lpf_pick = LPF_PICK_MINIMAL_LPF;
     // Only keep INTRA_DC mode for speed 8.