]> granicus.if.org Git - libvpx/commitdiff
Condition use of minmax in variance partition on speed setting.
authorMarco <marpan@google.com>
Mon, 30 Nov 2015 23:34:57 +0000 (15:34 -0800)
committerMarco <marpan@google.com>
Tue, 1 Dec 2015 01:23:32 +0000 (17:23 -0800)
For non-rd variance partition: only allow minmax computation
(which currently has no arm-neon optimization) for speeds < 8.

Performance loss is small: On RTC set with speed 8, few clips lose ~2/3%,
average loss is < 1%.

Change-Id: Ia9414f4d0b77dc83c3e73ca8de5d903f64b425ce

vp9/encoder/vp9_encodeframe.c

index 7e569899ea822ac304a3b7564e6eef92c62eb71b..98ab9d4d362a7c53022c8ae0d0e959b8611ad77e 100644 (file)
@@ -843,7 +843,8 @@ static int choose_partitioning(VP9_COMP *cpi,
           force_split[split_index] = 1;
           force_split[i + 1] = 1;
           force_split[0] = 1;
-        } else if (vt.split[i].split[j].part_variances.none.variance >
+        } else if (cpi->oxcf.speed < 8 &&
+                   vt.split[i].split[j].part_variances.none.variance >
                    thresholds[1] &&
                    !cyclic_refresh_segment_id_boosted(segment_id)) {
           // We have some nominal amount of 16x16 variance (based on average),