From e29137df05dd8759b9f8757ddf79a90e717c3a87 Mon Sep 17 00:00:00 2001 From: Yaowu Xu Date: Fri, 4 Oct 2013 14:20:26 -0700 Subject: [PATCH] Change to allow less rectangular partion check For CpuUsed 1 & 2, this commit allow to skip retangular partition check when NONE is better than SPLIT. It also changed to allow such logic on alt ref frame coding rather than use square partition all them. The change has gain compressio about .3% on yt and ythd for both 1&2, It helped .6% compression on cif and stdhd for both CpuUsed 1&2. Change-Id: I814b653baf89f59acd20e042629a12938a1bd4e5 --- vp9/encoder/vp9_onyx_if.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/vp9/encoder/vp9_onyx_if.c b/vp9/encoder/vp9_onyx_if.c index 83e51cbb7..e35e5e13f 100644 --- a/vp9/encoder/vp9_onyx_if.c +++ b/vp9/encoder/vp9_onyx_if.c @@ -773,9 +773,10 @@ void vp9_set_speed_features(VP9_COMP *cpi) { if (speed == 1) { sf->use_square_partition_only = !(cpi->common.frame_type == KEY_FRAME || cpi->common.intra_only); - sf->tx_size_search_method = ((cpi->common.frame_type == KEY_FRAME || - cpi->common.intra_only) - ? USE_FULL_RD : USE_LARGESTALL); + sf->less_rectangular_check = 1; + sf->tx_size_search_method = (cpi->common.frame_type == KEY_FRAME || + cpi->common.intra_only) + ? USE_FULL_RD : USE_LARGESTALL; if (MIN(cpi->common.width, cpi->common.height) >= 720) sf->disable_split_mask = DISABLE_ALL_SPLIT; @@ -790,6 +791,7 @@ void vp9_set_speed_features(VP9_COMP *cpi) { if (speed == 2) { sf->use_square_partition_only = !(cpi->common.frame_type == KEY_FRAME || cpi->common.intra_only); + sf->less_rectangular_check = 1; sf->tx_size_search_method = ((cpi->common.frame_type == KEY_FRAME || cpi->common.intra_only) ? USE_FULL_RD : USE_LARGESTALL); @@ -897,11 +899,9 @@ void vp9_set_speed_features(VP9_COMP *cpi) { sf->comp_inter_joint_search_thresh = BLOCK_SIZES; sf->use_one_partition_size_always = 1; sf->always_this_block_size = BLOCK_16X16; - sf->tx_size_search_method = ((cpi->common.frame_type == KEY_FRAME || - cpi->common.intra_only || - cpi->common.show_frame == 0) ? - USE_FULL_RD : - USE_LARGESTALL); + sf->tx_size_search_method = (cpi->common.frame_type == KEY_FRAME || + cpi->common.intra_only) ? + USE_FULL_RD : USE_LARGESTALL; sf->mode_search_skip_flags = FLAG_SKIP_INTRA_DIRMISMATCH | FLAG_SKIP_INTRA_BESTINTER | FLAG_SKIP_COMP_BESTINTRA |