diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index e279147b367ed6de4cb9bf6417a37e94e12fa212..e018e445f42faee5599acae8cace4da33a3c8163 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -2760,8 +2760,8 @@ void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode)
 
             if (enc->sample_aspect_ratio.num) {
                 av_reduce(&display_aspect_ratio.num, &display_aspect_ratio.den,
-                          enc->width * enc->sample_aspect_ratio.num,
-                          enc->height * enc->sample_aspect_ratio.den,
+                          enc->width * (int64_t)enc->sample_aspect_ratio.num,
+                          enc->height * (int64_t)enc->sample_aspect_ratio.den,
                           1024 * 1024);
                 snprintf(buf + strlen(buf), buf_size - strlen(buf),
                          " [SAR %d:%d DAR %d:%d]",