summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorHui Su <huisu@google.com>2018-06-08 13:41:05 -0700
committerHui Su <huisu@google.com>2018-06-08 13:42:57 -0700
commit693c9a70f056289aa56fda3fa59576fbdb836519 (patch)
tree03d1ad2592216366966d3a78742947037e9f0de2 /vp9
parent3ac2b57015000dde5731ceb9fc824e86747c5945 (diff)
downloadlibvpx-693c9a70f056289aa56fda3fa59576fbdb836519.tar
libvpx-693c9a70f056289aa56fda3fa59576fbdb836519.tar.gz
libvpx-693c9a70f056289aa56fda3fa59576fbdb836519.tar.bz2
libvpx-693c9a70f056289aa56fda3fa59576fbdb836519.zip
Small speedup of ml_pruning_partition()
Terminate early and skip neural net model when linear score is already high enough, which indicates that we should not skip split and rectangular partitions. No changes on compression; encoding speed improves slightly. Change-Id: I4e0995090200eb4889344da905d2f7048673af5f
Diffstat (limited to 'vp9')
-rw-r--r--vp9/encoder/vp9_encodeframe.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c
index cfa832207..6d1d455fc 100644
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -3305,6 +3305,7 @@ static int ml_pruning_partition(VP9_COMMON *const cm, MACROBLOCKD *const xd,
linear_weights = &partition_linear_weights[offset];
linear_score = linear_weights[7];
for (i = 0; i < 7; ++i) linear_score += linear_weights[i] * features[i];
+ if (linear_score > 0.1f) return 0;
// Predict using neural net model.
nn_predict(features, nn_config, &nn_score);