summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_encodeframe.c
diff options
context:
space:
mode:
Diffstat (limited to 'vp9/encoder/vp9_encodeframe.c')
-rw-r--r--vp9/encoder/vp9_encodeframe.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c
index b151ede40..774d15251 100644
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -378,7 +378,8 @@ static void fill_variance(uint32_t s2, int32_t s, int c, var *v) {
static void get_variance(var *v) {
v->variance =
(int)(256 * (v->sum_square_error -
- ((v->sum_error * v->sum_error) >> v->log2_count)) >>
+ (uint32_t)(((int64_t)v->sum_error * v->sum_error) >>
+ v->log2_count)) >>
v->log2_count);
}
@@ -3305,6 +3306,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);