[FFmpeg-cvslog] Revert "avfilter/vf_interlace: more accurate pts calculation"

Michael Niedermayer git at videolan.org
Tue Dec 2 18:55:38 CET 2014


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Tue Dec  2 18:48:03 2014 +0100| [46b64e30989519b0a04cba3c32c34fa187687440] | committer: Michael Niedermayer

Revert "avfilter/vf_interlace: more accurate pts calculation"

This reverts commit df8248f66e362c3015d95ac86d1917dde8dc0a0c.

the revert produces a timebase and timestamps that are more close
to what users expect

Hoped-by: koda

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=46b64e30989519b0a04cba3c32c34fa187687440
---

 libavfilter/vf_interlace.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavfilter/vf_interlace.c b/libavfilter/vf_interlace.c
index a63f915..2828e36 100644
--- a/libavfilter/vf_interlace.c
+++ b/libavfilter/vf_interlace.c
@@ -109,6 +109,7 @@ static int config_out_props(AVFilterLink *outlink)
     outlink->time_base = inlink->time_base;
     outlink->frame_rate = inlink->frame_rate;
     // half framerate
+    outlink->time_base.num *= 2;
     outlink->frame_rate.den *= 2;
     outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
 
@@ -204,6 +205,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *buf)
     av_frame_copy_props(out, s->cur);
     out->interlaced_frame = 1;
     out->top_field_first  = tff;
+    out->pts             /= 2;  // adjust pts to new framerate
 
     /* copy upper/lower field from cur */
     copy_picture_field(s, s->cur, out, inlink, tff ? FIELD_UPPER : FIELD_LOWER, s->lowpass);



More information about the ffmpeg-cvslog mailing list