Dana 25. 3. 2015. 19:07 osoba Himangi Saraogi himangi...@gmail.com
napisala je:
---
libavfilter/vf_telecine.c | 12 +++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/libavfilter/vf_telecine.c b/libavfilter/vf_telecine.c
index a0f28d4..aaad2b5 100644
--- a/libavfilter/vf_telecine.c
+++ b/libavfilter/vf_telecine.c
@@ -38,6 +38,8 @@ typedef struct {
int first_field;
char *pattern;
unsigned int pattern_pos;
+int ts_mode;
+int64_t start_time;
AVRational pts;
double ts_unit;
@@ -62,6 +64,7 @@ static const AVOption telecine_options[] = {
{bottom, select bottom field first, 0,
AV_OPT_TYPE_CONST, {.i64=1}, 0, 0, FLAGS, field},
{b, select bottom field first, 0,
AV_OPT_TYPE_CONST, {.i64=1}, 0, 0, FLAGS, field},
{pattern, pattern that describe for how many fields a frame is to
be displayed, OFFSET(pattern), AV_OPT_TYPE_STRING, {.str=23}, 0, 0,
FLAGS},
+{ts_mode, set to choose timestamp handling as being with respect
to the input, OFFSET(ts_mode), AV_OPT_TYPE_INT, {.i64=0}, 0, 1, FLAGS},
{NULL}
Why ts_mode is not by default 1?
};
@@ -89,6 +92,10 @@ static av_cold int init(AVFilterContext *ctx)
s-pts.den += *p - '0';
}
+s-start_time = 0;
+if (s-ts_mode)
+ s-start_time = -1;
+
s-out_cnt = (max + 1) / 2;
av_log(ctx, AV_LOG_INFO, Telecine pattern %s yields up to %d frames
per frame, pts advance factor: %d/%d\n,
s-pattern, s-out_cnt, s-pts.num, s-pts.den);
@@ -173,6 +180,9 @@ static int filter_frame(AVFilterLink *inlink, AVFrame
*inpicref)
TelecineContext *s = ctx-priv;
int i, len, ret = 0, nout = 0;
+if (s-start_time 0)
+s-start_time = inpicref-pts;
+
len = s-pattern[s-pattern_pos] - '0';
s-pattern_pos++;
@@ -235,7 +245,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame
*inpicref)
return AVERROR(ENOMEM);
}
-frame-pts = outlink-frame_count * s-ts_unit;
+frame-pts = s-start_time + outlink-frame_count * s-ts_unit;
ret = ff_filter_frame(outlink, frame);
}
av_frame_free(inpicref);
--
1.9.1
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel