ref: debe4e920f39fa5eccdcf608f416903b9e4b38d7
parent: 90c9ede8e653a10855c583510aa2b071cc2f02c2
author: Marco <[email protected]>
date: Fri Jun 19 12:40:01 EDT 2015
Reduce max_partition_size for low resolutions at speed 5. For speed 5 real-time mode, the selection of the partition size for superblocks on the segment (aq-mode=3) uses the non-rd recursive pick partition search, and can sometimes select 64x64. For low resolutions, visually better to limit this to 32x32. Change-Id: I69657a7ed8899f8b3cf8c9c318a2509c5c72c565
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -3572,7 +3572,11 @@
set_offsets(cpi, tile_info, x, mi_row, mi_col, BLOCK_64X64);
if (cpi->oxcf.aq_mode == CYCLIC_REFRESH_AQ && cm->seg.enabled &&
xd->mi[0]->mbmi.segment_id) {
- x->max_partition_size = BLOCK_64X64;
+ // Use lower max_partition_size for low resoultions.
+ if (cm->width <= 352 && cm->height <= 288)
+ x->max_partition_size = BLOCK_32X32;
+ else
+ x->max_partition_size = BLOCK_64X64;
x->min_partition_size = BLOCK_8X8;
nonrd_pick_partition(cpi, td, tile_data, tp, mi_row, mi_col,
BLOCK_64X64, &dummy_rdc, 1,