[FFmpeg-cvslog] lavc/vvc_parser: Fix integer overflow calculating framerate

Frank Plowman git at videolan.org
Tue Apr 9 17:44:41 EEST 2024


ffmpeg | branch: master | Frank Plowman <post at frankplowman.com> | Mon Apr  8 18:20:59 2024 +0000| [f499503073804e55540cad13743849a791449a98] | committer: Nuo Mi

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 at frankplowman.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f499503073804e55540cad13743849a791449a98
---

 libavcodec/vvc_parser.c | 4 ++--
 1 file 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,



More information about the ffmpeg-cvslog mailing list