aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorFrank Plowman <post@frankplowman.com>2024-04-08 18:20:59 +0000
committerNuo Mi <nuomi2021@gmail.com>2024-04-09 22:15:29 +0800
commitf499503073804e55540cad13743849a791449a98 (patch)
tree2fa4e8c33bc63198f34865a48b965ab0a3a6d61a /libavcodec
parentb4baa4c0b3839387361077545765b53cd1153279 (diff)
downloadffmpeg-f499503073804e55540cad13743849a791449a98.tar.gz
lavc/vvc_parser: Fix integer overflow calculating framerate
num_units_in_tick and time_scale are both 32-bit unsigned integers. Storing them as ints was causing overflows. Signed-off-by: Frank Plowman <post@frankplowman.com>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/vvc_parser.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/vvc_parser.c b/libavcodec/vvc_parser.c
index a6a5be27ae..e3501fa139 100644
--- a/libavcodec/vvc_parser.c
+++ b/libavcodec/vvc_parser.c
@@ -191,8 +191,8 @@ static void set_parser_ctx(AVCodecParserContext *s, AVCodecContext *avctx,
if (sps->sps_ptl_dpb_hrd_params_present_flag &&
sps->sps_timing_hrd_params_present_flag) {
- int num = sps->sps_general_timing_hrd_parameters.num_units_in_tick;
- int den = sps->sps_general_timing_hrd_parameters.time_scale;
+ uint32_t num = sps->sps_general_timing_hrd_parameters.num_units_in_tick;
+ uint32_t den = sps->sps_general_timing_hrd_parameters.time_scale;
if (num != 0 && den != 0)
av_reduce(&avctx->framerate.den, &avctx->framerate.num,