diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index c7ba70ac168641fa226b82048e843eb4252873c2..f894544512cbfabcc4c69d2d80391bdefdf8e6f6 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -1644,8 +1644,8 @@ static void rd_auto_partition_range(VP9_COMP *cpi, const TileInfo *const tile, // partition is allowed by selecting the next smaller square size as // *min_block_size. if (cpi->sf.use_square_partition_only && - (*max_block_size - *min_block_size) < 2) { - *min_block_size = next_square_size[*min_block_size]; + next_square_size[*max_block_size] < *min_block_size) { + *min_block_size = next_square_size[*max_block_size]; } } diff --git a/vp9/encoder/vp9_onyx_if.c b/vp9/encoder/vp9_onyx_if.c index 0a5033f097240c21a9645e506c65de746e2a5838..3775a42596396a0d5cf80e52a84dc998a7741624 100644 --- a/vp9/encoder/vp9_onyx_if.c +++ b/vp9/encoder/vp9_onyx_if.c @@ -840,14 +840,12 @@ static void set_rt_speed_feature(VP9_COMMON *cm, } if (speed >= 5) { int i; - sf->mode_search_skip_flags |= FLAG_SKIP_COMP_REFMISMATCH | - FLAG_EARLY_TERMINATE; - sf->use_fast_coef_costing = 0; + sf->last_partitioning_redo_frequency = 4; sf->adaptive_rd_thresh = 5; - sf->auto_min_max_partition_size = frame_is_intra_only(cm) ? - RELAXED_NEIGHBORING_MIN_MAX : STRICT_NEIGHBORING_MIN_MAX; + sf->use_fast_coef_costing = 0; + sf->auto_min_max_partition_size = STRICT_NEIGHBORING_MIN_MAX; sf->adjust_partitioning_from_last_frame = - cm->last_frame_type == KEY_FRAME || (0 == + cm->last_frame_type != cm->frame_type || (0 == (cm->current_video_frame + 1) % sf->last_partitioning_redo_frequency); sf->subpel_force_stop = 1; for (i = 0; i < TX_SIZES; i++) {