Use round to be more accurate casting float to int
authorJerome Jiang <jianj@google.com>
Thu, 15 Jul 2021 23:05:16 +0000 (16:05 -0700)
committerJerome Jiang <jianj@google.com>
Wed, 21 Jul 2021 00:02:38 +0000 (17:02 -0700)
Change-Id: Ifd5961917831752b176dd75d39d6b2cba6ce72fa

vp8/encoder/onyx_if.c
vp9/encoder/vp9_svc_layercontext.c

index aeed719..71ef057 100644 (file)
@@ -301,9 +301,9 @@ static void init_temporal_layer_context(VP8_COMP *cpi, VP8_CONFIG *oxcf,
   /* Work out the average size of a frame within this layer */
   if (layer > 0) {
     lc->avg_frame_size_for_layer =
-        (int)((cpi->oxcf.target_bitrate[layer] -
-               cpi->oxcf.target_bitrate[layer - 1]) *
-              1000 / (lc->framerate - prev_layer_framerate));
+        (int)round((cpi->oxcf.target_bitrate[layer] -
+                    cpi->oxcf.target_bitrate[layer - 1]) *
+                   1000 / (lc->framerate - prev_layer_framerate));
   }
 
   lc->active_worst_quality = cpi->oxcf.worst_allowed_q;
index f9a0de6..ad3a8f7 100644 (file)
@@ -322,8 +322,8 @@ void vp9_update_temporal_layer_framerate(VP9_COMP *const cpi) {
     const int prev_layer_target_bandwidth =
         oxcf->layer_target_bitrate[st_idx - 1];
     lc->avg_frame_size =
-        (int)((lc->target_bandwidth - prev_layer_target_bandwidth) /
-              (lc->framerate - prev_layer_framerate));
+        (int)round((lc->target_bandwidth - prev_layer_target_bandwidth) /
+                   (lc->framerate - prev_layer_framerate));
   }
 }