diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index ddb836e0e9d91afe8b889fb51c291fe77a10005a..c5feb63d6c4ac5f268eda7aa7e8027e9c23817ff 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -2402,6 +2402,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; diff --git a/vp9/encoder/vp9_speed_features.c b/vp9/encoder/vp9_speed_features.c index b7f8397479b767d80110afdeb38b516dac725006..729fa481b5bfc9e9f1520d8a18566cc484a6e7e4 100644 --- a/vp9/encoder/vp9_speed_features.c +++ b/vp9/encoder/vp9_speed_features.c @@ -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) { diff --git a/vp9/encoder/vp9_speed_features.h b/vp9/encoder/vp9_speed_features.h index 3e7cd27d8b8681605ee68d250fbbca04e0f56f63..09180950df4aa7d740ff56e34859694fd8265299 100644 --- a/vp9/encoder/vp9_speed_features.h +++ b/vp9/encoder/vp9_speed_features.h @@ -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 {