From e62ce79e1a297985b86f5dde8a88ab723b1266ba Mon Sep 17 00:00:00 2001 From: Jingning Han Date: Mon, 20 Oct 2014 15:00:24 -0700 Subject: [PATCH] Remove deprecated use_lastframe_partitioning feature This speed feature has been deprecated in both yt and rtc coding modes. This commit removes the related operations. Change-Id: I079c79c6adafe45581af2ebf8b98faebcface1ce --- vp9/encoder/vp9_encodeframe.c | 26 -------------------------- vp9/encoder/vp9_speed_features.c | 3 --- vp9/encoder/vp9_speed_features.h | 17 ----------------- 3 files changed, 46 deletions(-) diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index 9436b0adc..c8b299ab1 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -2554,10 +2554,6 @@ static void encode_rd_sb_row(VP9_COMP *cpi, const TileInfo *const tile, const int idx_str = cm->mi_stride * mi_row + mi_col; MODE_INFO *mi = cm->mi + idx_str; - MODE_INFO *prev_mi = NULL; - - if (cm->frame_type != KEY_FRAME) - prev_mi = (cm->prev_mip + cm->mi_stride + 1 + idx_str)->src_mi; if (sf->adaptive_pred_interp_filter) { for (i = 0; i < 64; ++i) @@ -2574,9 +2570,6 @@ 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. cpi->mb.source_variance = UINT_MAX; if (sf->partition_search_type == FIXED_PARTITION) { set_offsets(cpi, tile, mi_row, mi_col, BLOCK_64X64); @@ -2596,25 +2589,6 @@ static void encode_rd_sb_row(VP9_COMP *cpi, const TileInfo *const tile, choose_partitioning(cpi, tile, mi_row, mi_col); rd_use_partition(cpi, tile, mi, tp, mi_row, mi_col, BLOCK_64X64, &dummy_rate, &dummy_dist, 1, cpi->pc_root); - } else if (sf->partition_search_type == SEARCH_PARTITION && - sf->use_lastframe_partitioning && - (cpi->rc.frames_since_key % - sf->last_partitioning_redo_frequency) && - cm->prev_mi && - cm->show_frame && - cm->frame_type != KEY_FRAME && - !cpi->rc.is_src_frame_alt_ref && - ((sf->use_lastframe_partitioning != - LAST_FRAME_PARTITION_LOW_MOTION) || - !sb_has_motion(cm, prev_mi, sf->lf_motion_threshold))) { - if (sf->constrain_copy_partition && - sb_has_motion(cm, prev_mi, sf->lf_motion_threshold)) - constrain_copy_partitioning(cpi, tile, mi, prev_mi, - mi_row, mi_col, BLOCK_16X16); - else - copy_partitioning(cm, mi, prev_mi); - rd_use_partition(cpi, tile, mi, tp, mi_row, mi_col, BLOCK_64X64, - &dummy_rate, &dummy_dist, 1, cpi->pc_root); } else { // If required set upper and lower partition size limits if (sf->auto_min_max_partition_size) { diff --git a/vp9/encoder/vp9_speed_features.c b/vp9/encoder/vp9_speed_features.c index b138a87ff..5cc703fc3 100644 --- a/vp9/encoder/vp9_speed_features.c +++ b/vp9/encoder/vp9_speed_features.c @@ -205,7 +205,6 @@ static void set_rt_speed_feature(VP9_COMP *cpi, SPEED_FEATURES *sf, sf->disable_filter_search_var_thresh = 50; sf->comp_inter_joint_search_thresh = BLOCK_SIZES; sf->auto_min_max_partition_size = RELAXED_NEIGHBORING_MIN_MAX; - sf->use_lastframe_partitioning = LAST_FRAME_PARTITION_LOW_MOTION; sf->lf_motion_threshold = LOW_MOTION_THRESHOLD; sf->adjust_partitioning_from_last_frame = 1; sf->last_partitioning_redo_frequency = 3; @@ -217,7 +216,6 @@ static void set_rt_speed_feature(VP9_COMP *cpi, SPEED_FEATURES *sf, if (speed >= 3) { sf->use_square_partition_only = 1; sf->disable_filter_search_var_thresh = 100; - sf->use_lastframe_partitioning = LAST_FRAME_PARTITION_ALL; sf->constrain_copy_partition = 1; sf->use_uv_intra_rd_estimate = 1; sf->skip_encode_sb = 1; @@ -348,7 +346,6 @@ void vp9_set_speed_features(VP9_COMP *cpi) { sf->mv.fullpel_search_step_param = 6; sf->comp_inter_joint_search_thresh = BLOCK_4X4; sf->adaptive_rd_thresh = 0; - sf->use_lastframe_partitioning = LAST_FRAME_PARTITION_OFF; sf->tx_size_search_method = USE_FULL_RD; sf->use_lp32x32fdct = 0; sf->adaptive_motion_search = 0; diff --git a/vp9/encoder/vp9_speed_features.h b/vp9/encoder/vp9_speed_features.h index 951b4af22..58372aca8 100644 --- a/vp9/encoder/vp9_speed_features.h +++ b/vp9/encoder/vp9_speed_features.h @@ -92,12 +92,6 @@ typedef enum { LOW_MOTION_THRESHOLD = 7 } MOTION_THRESHOLD; -typedef enum { - LAST_FRAME_PARTITION_OFF = 0, - LAST_FRAME_PARTITION_LOW_MOTION = 1, - LAST_FRAME_PARTITION_ALL = 2 -} LAST_FRAME_PARTITION_METHOD; - typedef enum { USE_FULL_RD = 0, USE_LARGESTALL, @@ -242,15 +236,6 @@ typedef struct SPEED_FEATURES { // level within a frame. int allow_skip_recode; - // This variable allows us to reuse the last frames partition choices - // (64x64 v 32x32 etc) for this frame. It can be set to only use the last - // frame as a starting point in low motion scenes or always use it. If set - // we use last partitioning_redo frequency to determine how often to redo - // the partitioning from scratch. Adjust_partitioning_from_last_frame - // enables us to adjust up or down one partitioning from the last frames - // partitioning. - LAST_FRAME_PARTITION_METHOD use_lastframe_partitioning; - // The threshold is to determine how slow the motino is, it is used when // use_lastframe_partitioning is set to LAST_FRAME_PARTITION_LOW_MOTION MOTION_THRESHOLD lf_motion_threshold; @@ -264,8 +249,6 @@ typedef struct SPEED_FEATURES { // precise but significantly faster than the non lp version. int use_lp32x32fdct; - // TODO(JBB): remove this as its no longer used. - // After looking at the first set of modes (set by index here), skip // checking modes for reference frames that don't match the reference frame // of the best so far. -- 2.40.0