From 324d22b2b4aca3c7bfbbfff57a2ae96ac26e6e1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5ns=20Rullg=C3=A5rd?= Date: Fri, 10 Sep 2010 13:16:08 +0000 Subject: [PATCH] nutenc: fix unstable floating-point calculations Originally committed as revision 25095 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/nutenc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavformat/nutenc.c b/libavformat/nutenc.c index 87a7900b4b..8cbc7d4cc3 100644 --- a/libavformat/nutenc.c +++ b/libavformat/nutenc.c @@ -561,11 +561,11 @@ static int write_header(AVFormatContext *s){ if(j==nut->time_base_count) nut->time_base_count++; - if(av_q2d(time_base) >= 0.001) + if(INT64_C(1000) * time_base.num >= time_base.den) nut->stream[i].msb_pts_shift = 7; else nut->stream[i].msb_pts_shift = 14; - nut->stream[i].max_pts_distance= FFMAX(1/av_q2d(time_base), 1); + nut->stream[i].max_pts_distance= FFMAX(time_base.den, time_base.num) / time_base.num; } nut->max_distance = MAX_DISTANCE;