]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/matroskaenc.c
wrap_timestamp: remove unneeded check
[ffmpeg] / libavformat / matroskaenc.c
index 2a8a2eaaa1b5b233ec43b050bcb96fd4b0d6c3f1..c0c0a2d03e6aea839f576b2407c40ec156eaa30d 100644 (file)
@@ -637,7 +637,11 @@ static int mkv_write_tracks(AVFormatContext *s)
                 }
 
                 if (st->sample_aspect_ratio.num) {
-                    int d_width = codec->width*av_q2d(st->sample_aspect_ratio);
+                    int64_t d_width = av_rescale(codec->width, st->sample_aspect_ratio.num, st->sample_aspect_ratio.den);
+                    if (d_width > INT_MAX) {
+                        av_log(s, AV_LOG_ERROR, "Overflow in display width\n");
+                        return AVERROR(EINVAL);
+                    }
                     put_ebml_uint(pb, MATROSKA_ID_VIDEODISPLAYWIDTH , d_width);
                     put_ebml_uint(pb, MATROSKA_ID_VIDEODISPLAYHEIGHT, codec->height);
                 }