ref: 6557baf3363e967c05da910daf3ec41d22594e2d
parent: ff1fef9607354869c034ce8b40f55d8a7988727e
author: Marco <[email protected]>
date: Mon Apr 10 10:56:46 EDT 2017
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
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -4152,14 +4152,11 @@
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;