Scale up exhaustive_search_thresh to work with 128x128 partitions Also use int instead of int64_t since sf->exhaustive_searches_thresh is an int and we only make it smaller. Change-Id: I38c9ebd97f085cb7ce5094dfc98942bb2171ee0f
diff --git a/av1/encoder/mcomp.c b/av1/encoder/mcomp.c index c6e11a5..c77a43c 100644 --- a/av1/encoder/mcomp.c +++ b/av1/encoder/mcomp.c
@@ -2301,9 +2301,9 @@ // Should we allow a follow on exhaustive search? if (is_exhaustive_allowed(cpi, x)) { - int64_t exhuastive_thr = sf->exhaustive_searches_thresh; + int exhuastive_thr = sf->exhaustive_searches_thresh; exhuastive_thr >>= - 8 - (b_width_log2_lookup[bsize] + b_height_log2_lookup[bsize]); + 10 - (b_width_log2_lookup[bsize] + b_height_log2_lookup[bsize]); // Threshold variance for an exhaustive full search. if (var > exhuastive_thr) {
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c index 0f9ea75..3bf2df0 100644 --- a/av1/encoder/speed_features.c +++ b/av1/encoder/speed_features.c
@@ -424,9 +424,9 @@ sf->allow_exhaustive_searches = 1; int speed = (oxcf->speed > MAX_MESH_SPEED) ? MAX_MESH_SPEED : oxcf->speed; if (cpi->twopass.fr_content_type == FC_GRAPHICS_ANIMATION) - sf->exhaustive_searches_thresh = (1 << 22); + sf->exhaustive_searches_thresh = (1 << 24); else - sf->exhaustive_searches_thresh = (1 << 23); + sf->exhaustive_searches_thresh = (1 << 25); sf->max_exaustive_pct = good_quality_max_mesh_pct[speed]; if (speed > 0) sf->exhaustive_searches_thresh = sf->exhaustive_searches_thresh << 1;