From 01860f6fe4ad45c86630d4b5b3079afada6f0628 Mon Sep 17 00:00:00 2001 From: Marco Date: Tue, 22 Sep 2015 10:42:55 -0700 Subject: [PATCH] Non-rd mode: Limit transform size for intra to 16x16. Limit transform size for intra to 16x16, for non-screen content mode. Little/no change in speed or metrics. 32x32 intra block is rarley selected in RTC (non-screen content) case, but some visual improvement can be seen in some example, e.g., captured_video_dark_whd.yuv. Change-Id: I68e2db87875343b3fb9bb407a7709f0088f84072 --- vp9/encoder/vp9_pickmode.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c index 5a4b26a..fc4d9ae 100644 --- a/vp9/encoder/vp9_pickmode.c +++ b/vp9/encoder/vp9_pickmode.c @@ -1532,11 +1532,13 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, (!x->skip && best_rdc.rdcost > inter_mode_thresh && bsize <= cpi->sf.max_intra_bsize)) { struct estimate_block_intra_args args = { cpi, x, DC_PRED, 0, 0 }; - const TX_SIZE intra_tx_size = - VPXMIN(max_txsize_lookup[bsize], - tx_mode_to_biggest_tx_size[cpi->common.tx_mode]); int i; TX_SIZE best_intra_tx_size = TX_SIZES; + TX_SIZE intra_tx_size = + VPXMIN(max_txsize_lookup[bsize], + tx_mode_to_biggest_tx_size[cpi->common.tx_mode]); + if (cpi->oxcf.content != VP9E_CONTENT_SCREEN && intra_tx_size > TX_16X16) + intra_tx_size = TX_16X16; if (reuse_inter_pred && best_pred != NULL) { if (best_pred->data == orig_dst.buf) { -- 2.7.4