avfilter/trim: improve rounding precission
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 1 May 2013 11:17:48 +0000 (13:17 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 1 May 2013 11:55:30 +0000 (13:55 +0200)
Note, the design is still flawed, dont expect this to be frame
accurate. float/double first needs to be removed and frames
itself trimmed instead of drop vs nodrop

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavfilter/trim.c

index 1ac33e9..34963ae 100644 (file)
@@ -89,17 +89,17 @@ static int config_input(AVFilterLink *inlink)
                      inlink->time_base : (AVRational){ 1, inlink->sample_rate };
 
     if (s->start_time != DBL_MAX) {
-        int64_t start_pts = lrintf(s->start_time / av_q2d(tb));
+        int64_t start_pts = lrint(s->start_time / av_q2d(tb));
         if (s->start_pts == AV_NOPTS_VALUE || start_pts < s->start_pts)
             s->start_pts = start_pts;
     }
     if (s->end_time != DBL_MAX) {
-        int64_t end_pts = lrintf(s->end_time / av_q2d(tb));
+        int64_t end_pts = lrint(s->end_time / av_q2d(tb));
         if (s->end_pts == AV_NOPTS_VALUE || end_pts > s->end_pts)
             s->end_pts = end_pts;
     }
     if (s->duration)
-        s->duration_tb = lrintf(s->duration / av_q2d(tb));
+        s->duration_tb = lrint(s->duration / av_q2d(tb));
 
     return 0;
 }