aboutsummaryrefslogtreecommitdiff
path: root/libvpx/vp8/encoder/ratectrl.c
diff options
context:
space:
mode:
Diffstat (limited to 'libvpx/vp8/encoder/ratectrl.c')
-rw-r--r--libvpx/vp8/encoder/ratectrl.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/libvpx/vp8/encoder/ratectrl.c b/libvpx/vp8/encoder/ratectrl.c
index d8d55fce2..d93fb59a4 100644
--- a/libvpx/vp8/encoder/ratectrl.c
+++ b/libvpx/vp8/encoder/ratectrl.c
@@ -349,8 +349,12 @@ static void calc_iframe_target_size(VP8_COMP *cpi) {
}
if (cpi->oxcf.rc_max_intra_bitrate_pct) {
- unsigned int max_rate =
- cpi->per_frame_bandwidth * cpi->oxcf.rc_max_intra_bitrate_pct / 100;
+ unsigned int max_rate;
+ // This product may overflow unsigned int
+ uint64_t product = cpi->per_frame_bandwidth;
+ product *= cpi->oxcf.rc_max_intra_bitrate_pct;
+ product /= 100;
+ max_rate = (unsigned int)VPXMIN(INT_MAX, product);
if (target > max_rate) target = max_rate;
}