shithub: libvpx

Download patch

ref: e14026ac21a6b6c93fd0fc954055643ed30972e0
parent: 9f57bc4d6c7a577538042a49ede8ee98dc8cc300
author: Paul Wilkins <paulwilkins@google.com>
date: Thu Apr 29 07:06:16 EDT 2021

Add assert for zero_motion_factor range

Change clamp to an assert so we are warned if changes to input
ranges or defaults in the future lead to an invalid value.

Change-Id: Idb4e0729f477a519bfff3083cdce3891e2fc6faa

--- a/vp9/encoder/vp9_firstpass.c
+++ b/vp9/encoder/vp9_firstpass.c
@@ -1882,13 +1882,8 @@
   double zero_motion_factor =
       twopass->zm_factor * (frame_stats->pcnt_inter - frame_stats->pcnt_motion);
 
-  // Clamp value to range 0.0 to 1.0
-  // This should happen anyway if input values are sensibly clamped but checked
-  // here just in case.
-  if (zero_motion_factor > 1.0)
-    zero_motion_factor = 1.0;
-  else if (zero_motion_factor < 0.0)
-    zero_motion_factor = 0.0;
+  // Check that the zero motion factor is valid
+  assert(zero_motion_factor >= 0.0 && zero_motion_factor <= 1.0);
 
   return VPXMAX(zero_motion_factor,
                 (sr_decay_rate + ((1.0 - sr_decay_rate) * zero_motion_factor)));