From 5eeabfffcb9eb03d8f52693f6201380ec7110818 Mon Sep 17 00:00:00 2001 From: Debargha Mukherjee Date: Mon, 2 Dec 2019 14:49:50 -0800 Subject: [PATCH] Avoid dividing by 0 in vp8 gf_group bits compute BUG=webm:1653 Change-Id: Ic59fe5e573f08dbca678d3927d4a750ae75f903c --- vp8/encoder/firstpass.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vp8/encoder/firstpass.c b/vp8/encoder/firstpass.c index 72c9642..981c0fd 100644 --- a/vp8/encoder/firstpass.c +++ b/vp8/encoder/firstpass.c @@ -2072,9 +2072,10 @@ static void define_gf_group(VP8_COMP *cpi, FIRSTPASS_STATS *this_frame) { * score, otherwise it may be worse off than an "un-boosted" frame */ else { + // Avoid division by 0 by clamping cpi->twopass.kf_group_error_left to 1 int alt_gf_bits = (int)((double)cpi->twopass.kf_group_bits * mod_frame_err / - DOUBLE_DIVIDE_CHECK((double)cpi->twopass.kf_group_error_left)); + (double)VPXMAX(cpi->twopass.kf_group_error_left, 1)); if (alt_gf_bits > gf_bits) { gf_bits = alt_gf_bits; -- 2.7.4