From 41f1d3afebd64b02e9cabd5f0ae0c62a8647b9f4 Mon Sep 17 00:00:00 2001 From: Stefano Sabatini Date: Tue, 2 Nov 2010 19:42:08 +0000 Subject: [PATCH] Fix timestamp handling in more filters after the change which set the timebase in the filter link. Originally committed as revision 25649 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavfilter/vf_blackframe.c | 2 +- libavfilter/vf_cropdetect.c | 2 +- libavfilter/vf_frei0r.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libavfilter/vf_blackframe.c b/libavfilter/vf_blackframe.c index 47553f0fe7..47ab3cfc1d 100644 --- a/libavfilter/vf_blackframe.c +++ b/libavfilter/vf_blackframe.c @@ -99,7 +99,7 @@ static void end_frame(AVFilterLink *inlink) if (pblack >= blackframe->bamount) av_log(ctx, AV_LOG_INFO, "frame:%u pblack:%u pos:%"PRId64" pts:%"PRId64" t:%f\n", blackframe->frame, pblack, picref->pos, picref->pts, - picref->pts == AV_NOPTS_VALUE ? -1 : (double)picref->pts / AV_TIME_BASE); + picref->pts == AV_NOPTS_VALUE ? -1 : picref->pts * av_q2d(inlink->time_base)); blackframe->frame++; blackframe->nblack = 0; diff --git a/libavfilter/vf_cropdetect.c b/libavfilter/vf_cropdetect.c index 983e380539..2fe75308dd 100644 --- a/libavfilter/vf_cropdetect.c +++ b/libavfilter/vf_cropdetect.c @@ -184,7 +184,7 @@ static void end_frame(AVFilterLink *inlink) av_log(ctx, AV_LOG_INFO, "x1:%d x2:%d y1:%d y2:%d w:%d h:%d x:%d y:%d pos:%"PRId64" pts:%"PRId64" t:%f crop=%d:%d:%d:%d\n", cd->x1, cd->x2, cd->y1, cd->y2, w, h, x, y, picref->pos, picref->pts, - picref->pts == AV_NOPTS_VALUE ? -1 : (double)picref->pts / AV_TIME_BASE, + picref->pts == AV_NOPTS_VALUE ? -1 : picref->pts * av_q2d(inlink->time_base), w, h, x, y); } diff --git a/libavfilter/vf_frei0r.c b/libavfilter/vf_frei0r.c index 9ff325fd38..4afbded5a8 100644 --- a/libavfilter/vf_frei0r.c +++ b/libavfilter/vf_frei0r.c @@ -330,7 +330,7 @@ static void end_frame(AVFilterLink *inlink) AVFilterBufferRef *inpicref = inlink->cur_buf; AVFilterBufferRef *outpicref = outlink->out_buf; - frei0r->update(frei0r->instance, (double)inpicref->pts / AV_TIME_BASE, + frei0r->update(frei0r->instance, inpicref->pts * av_q2d(inlink->time_base) * 1000, (const uint32_t *)inpicref->data[0], (uint32_t *)outpicref->data[0]); avfilter_unref_buffer(inpicref);