Commit b04d7668 authored by Yunqing Wang's avatar Yunqing Wang
Browse files

Use small transform size in non-rd real-time mode

In non-rd real-time mode, choosing smaller transform size in
encoding gives better video quality and good speed gain than
choosing larger transform size. This patch set tx size search
method to ALLOW_8X8, which is better than using 4x4 or other
larger sizes.

Borg tests on rtc set at speed 6 showed significant gain on quality.
PSNR gain: 11.034% and SSIM gain: 15.466%.

The speed gain is 5% - 12% for <720p clips, and 2% - 7% for
720p clips.

Change-Id: If4dc74ed2df359346b059f47fb73b4a0193ec548
parent 61c4295a
......@@ -2418,6 +2418,8 @@ static TX_MODE select_tx_mode(const VP9_COMP *cpi) {
return rd_opt->tx_select_threshes[frame_type][ALLOW_32X32] >
rd_opt->tx_select_threshes[frame_type][TX_MODE_SELECT] ?
ALLOW_32X32 : TX_MODE_SELECT;
} else if (cpi->sf.tx_size_search_method == USE_TX_8X8) {
return ALLOW_8X8;
} else {
unsigned int total = 0;
int i;
......
......@@ -269,6 +269,8 @@ static void set_rt_speed_feature(VP9_COMP *cpi, SPEED_FEATURES *sf,
sf->partition_search_type = SOURCE_VAR_BASED_PARTITION;
sf->search_type_check_frequency = 50;
sf->source_var_thresh = 360;
sf->tx_size_search_method = USE_TX_8X8;
}
if (speed >= 7) {
......
......@@ -58,7 +58,8 @@ typedef enum {
USE_FULL_RD = 0,
USE_LARGESTINTRA,
USE_LARGESTINTRA_MODELINTER,
USE_LARGESTALL
USE_LARGESTALL,
USE_TX_8X8
} TX_SIZE_SEARCH_METHOD;
typedef enum {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment