avfilter/trim: improve rounding precission

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>
This commit is contained in:
Michael Niedermayer 2013-05-01 13:17:48 +02:00
parent 24939d567b
commit 1a94d7c7c8

View 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;
}