Revert "avfilter/vf_interlace: more accurate pts calculation"
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 2 Dec 2014 17:48:03 +0000 (18:48 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 2 Dec 2014 17:48:03 +0000 (18:48 +0100)
This reverts commit df8248f66e362c3015d95ac86d1917dde8dc0a0c.

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

Hoped-by: koda
libavfilter/vf_interlace.c

index a63f915..2828e36 100644 (file)
@@ -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);