On 12/11/2014 23:38, Aleksey Vasenev wrote:
Signed-off-by: Aleksey Vasenev <margtu-f...@ya.ru>
---
  libavfilter/vf_interlace.c | 2 --
  1 file changed, 2 deletions(-)

diff --git a/libavfilter/vf_interlace.c b/libavfilter/vf_interlace.c
index e07963f..42e2c9a 100644
--- a/libavfilter/vf_interlace.c
+++ b/libavfilter/vf_interlace.c
@@ -111,7 +111,6 @@ 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,7 +203,6 @@ 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->cur, out, inlink, tff ? FIELD_UPPER : FIELD_LOWER, 
s->lowpass);
This does not look correct to me.
The pts are relative to the time base/frame rate so if you are going to change one you have to take care of the other. In the end the interlaced stream will have wrong timing and you might experience frame drops.

I advise reverting.
Vittorio



_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to