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;