From: Marco Date: Mon, 10 Apr 2017 21:56:46 +0000 (-0700) Subject: vp9: 1 pass CBR: avoid nonrd_pick_partition on segment. X-Git-Tag: v1.7.0~569 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6557baf3363e967c05da910daf3ec41d22594e2d;p=libvpx vp9: 1 pass CBR: avoid nonrd_pick_partition on segment. For speed 5, 1 pass CBR: Don't use the nonrd_pick_partition on the segment, rather use choose_partitioning followed by nonrd_select_partition (as is done on base segment). Little/no quality loss on RTC and RTC_derf (< 0.3%), speedup of at least 5%. Change-Id: I5273d5f950e60adf5e437b4ca8c4f63964641e83 --- diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index 9b09e3891..244d477f8 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -4152,14 +4152,11 @@ static void encode_nonrd_sb_row(VP9_COMP *cpi, ThreadData *td, break; case REFERENCE_PARTITION: set_offsets(cpi, tile_info, x, mi_row, mi_col, BLOCK_64X64); - // Use nonrd_pick_partition on scene-cut for VBR, or on qp-segment - // if cyclic_refresh is enabled. + // Use nonrd_pick_partition on scene-cut for VBR mode. // nonrd_pick_partition does not support 4x4 partition, so avoid it // on key frame for now. if ((cpi->oxcf.rc_mode == VPX_VBR && cpi->rc.high_source_sad && - cm->frame_type != KEY_FRAME) || - (cpi->oxcf.aq_mode == CYCLIC_REFRESH_AQ && cm->seg.enabled && - xd->mi[0]->segment_id)) { + cm->frame_type != KEY_FRAME)) { // Use lower max_partition_size for low resoultions. if (cm->width <= 352 && cm->height <= 288) x->max_partition_size = BLOCK_32X32;