one level less of tx size search for blocks larger than 64 3~5% encoding speedup for speed 0; no quality loss. Change-Id: I0e31755f45253e5e99d8d9eed0d7a6fe6050f49f
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c index ac2bd16..44deb05 100644 --- a/av1/encoder/rdopt.c +++ b/av1/encoder/rdopt.c
@@ -2493,8 +2493,12 @@ static int get_search_init_depth(int mi_width, int mi_height, const SPEED_FEATURES *sf) { if (sf->tx_size_search_method == USE_LARGESTALL) return MAX_VARTX_DEPTH; - return (mi_height != mi_width) ? sf->tx_size_search_init_depth_rect - : sf->tx_size_search_init_depth_sqr; + int init_depth = (mi_height != mi_width) ? sf->tx_size_search_init_depth_rect + : sf->tx_size_search_init_depth_sqr; + // If either dimension is 128, search one level less. + if (mi_width == 32 || mi_height == 32) + init_depth = AOMMIN(init_depth + 1, MAX_TX_DEPTH); + return init_depth; } static void choose_tx_size_type_from_rd(const AV1_COMP *const cpi,