From: Yunqing Wang Date: Tue, 9 Sep 2014 17:18:55 +0000 (-0700) Subject: Remove the use of use_lastframe_partitioning at speed 4 X-Git-Tag: v1.4.0~816^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f10d7eeda23bfccdb49a7fefc471132ae3eacca1;p=platform%2Fupstream%2Flibvpx.git Remove the use of use_lastframe_partitioning at speed 4 The use of use_lastframe_partitioning is totally removed in good- quality encoding. Its usage in real-time encoding needs to be evaluated to see if it can be removed too. The Borg tests at speed 4 showed: stdhd set: 0.220% psnr gain, 0.166% ssim gain; derf set: 0.329% psnr gain, 0.476% ssim gain. Speed test on selected clips showed 1.54% speedup.(Worst case: pedestrian_area_1080p25.y4m, speed loss: 1.5%) Change-Id: I1c844d329b0b5678558439b887297c1be7ddab00 --- diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index 72ced05..c62b52f 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -2466,6 +2466,9 @@ static void encode_rd_sb_row(VP9_COMP *cpi, const TileInfo *const tile, vp9_zero(cpi->mb.pred_mv); cpi->pc_root->index = 0; + // TODO(yunqingwang): use_lastframe_partitioning is no longer used in good- + // quality encoding. Need to evaluate it in real-time encoding later to + // decide if it can be removed too. And then, do the code cleanup. if ((sf->partition_search_type == SEARCH_PARTITION && sf->use_lastframe_partitioning) || sf->partition_search_type == FIXED_PARTITION || diff --git a/vp9/encoder/vp9_speed_features.c b/vp9/encoder/vp9_speed_features.c index df0e0a1..04f3cc2 100644 --- a/vp9/encoder/vp9_speed_features.c +++ b/vp9/encoder/vp9_speed_features.c @@ -104,15 +104,11 @@ static void set_good_speed_feature(VP9_COMP *cpi, VP9_COMMON *cm, : USE_LARGESTALL; if (MIN(cm->width, cm->height) >= 720) { - sf->lf_motion_threshold = LOW_MOTION_THRESHOLD; - sf->last_partitioning_redo_frequency = 3; sf->disable_split_mask = cm->show_frame ? DISABLE_ALL_SPLIT : DISABLE_ALL_INTER_SPLIT; sf->adaptive_pred_interp_filter = 0; } else { sf->disable_split_mask = LAST_AND_INTRA_SPLIT_ONLY; - sf->last_partitioning_redo_frequency = 2; - sf->lf_motion_threshold = NO_MOTION_THRESHOLD; } sf->reference_masking = 1; @@ -123,7 +119,6 @@ static void set_good_speed_feature(VP9_COMP *cpi, VP9_COMMON *cm, sf->disable_filter_search_var_thresh = 100; sf->comp_inter_joint_search_thresh = BLOCK_SIZES; sf->auto_min_max_partition_size = CONSTRAIN_NEIGHBORING_MIN_MAX; - sf->adjust_partitioning_from_last_frame = 1; if (MIN(cm->width, cm->height) >= 720) sf->partition_search_breakout_dist_thr = (1 << 24); @@ -147,8 +142,6 @@ static void set_good_speed_feature(VP9_COMP *cpi, VP9_COMMON *cm, sf->cb_pred_filter_search = 1; sf->alt_ref_search_fp = 1; sf->motion_field_mode_search = !boosted; - sf->lf_motion_threshold = LOW_MOTION_THRESHOLD; - sf->last_partitioning_redo_frequency = 2; sf->recode_loop = ALLOW_RECODE_KFMAXBW; sf->adaptive_rd_thresh = 3; sf->mode_skip_start = 6; @@ -171,7 +164,6 @@ static void set_good_speed_feature(VP9_COMP *cpi, VP9_COMMON *cm, sf->mode_search_skip_flags |= FLAG_SKIP_COMP_REFMISMATCH | FLAG_EARLY_TERMINATE; sf->disable_filter_search_var_thresh = 200; - sf->use_lastframe_partitioning = LAST_FRAME_PARTITION_ALL; sf->use_lp32x32fdct = 1; sf->use_fast_coef_updates = ONE_LOOP_REDUCED; sf->use_fast_coef_costing = 1;