From 44473e7eb9cd8a83fba8f68604e371b03237423d Mon Sep 17 00:00:00 2001 From: paulwilkins Date: Thu, 16 Nov 2017 16:15:06 +0000 Subject: [PATCH] Disable allow_partition_search_skip for speed 2. When allow_partition_search_skip is set the two pass code can optionally skip the partition search in the rd loop if the image appears static (based on selection of 0,0 motion). Unfortunately 0,0 motion does not necessarily mean that there are no meaningful changes or that motion or intra modes will not be selected in the second pass. Disabling "allow_partition_search_skip" may hurt the encode speed a little for a small number of clips but can have a big impact on compression. The most notable example of this in our test sets is "bridge_close_cif" where this change gives a gains of 18%, 12% and 16% in opsnr, ssim and psnr-hvs. Change-Id: I765e288b5c0cd82bce00a148e7653a21e9203024 --- vp9/encoder/vp9_speed_features.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vp9/encoder/vp9_speed_features.c b/vp9/encoder/vp9_speed_features.c index 14df8daba..47878c49e 100644 --- a/vp9/encoder/vp9_speed_features.c +++ b/vp9/encoder/vp9_speed_features.c @@ -245,7 +245,6 @@ static void set_good_speed_feature_framesize_independent(VP9_COMP *cpi, sf->disable_filter_search_var_thresh = 100; sf->comp_inter_joint_search_thresh = BLOCK_SIZES; sf->auto_min_max_partition_size = RELAXED_NEIGHBORING_MIN_MAX; - sf->allow_partition_search_skip = 1; sf->recode_tolerance_low = 15; sf->recode_tolerance_high = 45; @@ -276,6 +275,7 @@ static void set_good_speed_feature_framesize_independent(VP9_COMP *cpi, sf->intra_y_mode_mask[TX_32X32] = INTRA_DC; sf->intra_uv_mode_mask[TX_32X32] = INTRA_DC; sf->adaptive_interp_filter_search = 1; + sf->allow_partition_search_skip = 1; if (cpi->twopass.fr_content_type == FC_GRAPHICS_ANIMATION) { for (i = 0; i < MAX_MESH_STEP; ++i) {