vp9: speed 8: Compute y sad without int_pro_motion_estimation.
authorJerome Jiang <jianj@google.com>
Wed, 5 Apr 2017 00:47:03 +0000 (17:47 -0700)
committerJerome Jiang <jianj@google.com>
Thu, 6 Apr 2017 00:25:47 +0000 (17:25 -0700)
Little change in overall PSNR in rtc. 2-4% speedup on VGA on ARM.

Change-Id: I3395806d7afd456deacd4077c330adca13ab0645

vp9/encoder/vp9_encodeframe.c

index 1a4512f..473b29f 100644 (file)
@@ -1141,7 +1141,13 @@ static int choose_partitioning(VP9_COMP *cpi, const TileInfo *const tile,
     mi->mv[0].as_int = 0;
     mi->interp_filter = BILINEAR;
 
-    y_sad = vp9_int_pro_motion_estimation(cpi, x, bsize, mi_row, mi_col);
+    if (cpi->oxcf.speed >= 8)
+      y_sad = cpi->fn_ptr[bsize].sdf(
+          x->plane[0].src.buf, x->plane[0].src.stride, xd->plane[0].pre[0].buf,
+          xd->plane[0].pre[0].stride);
+    else
+      y_sad = vp9_int_pro_motion_estimation(cpi, x, bsize, mi_row, mi_col);
+
     y_sad_last = y_sad;
     // Pick ref frame for partitioning, bias last frame when y_sad_g and y_sad
     // are close if short_circuit_low_temp_var is on.