On Fri, Mar 27, 2015 at 02:53:42AM +0530, Himangi Saraogi wrote:
> ---
>  libavfilter/vf_telecine.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/libavfilter/vf_telecine.c b/libavfilter/vf_telecine.c
> index c75395a..74f0931 100644
> --- a/libavfilter/vf_telecine.c
> +++ b/libavfilter/vf_telecine.c
> @@ -243,6 +243,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame 
> *inpicref)
>  
>          frame->pts = ((s->start_time == AV_NOPTS_VALUE) ? 0 : s->start_time) 
> +
>                       outlink->frame_count * s->ts_unit;
> +        av_frame_copy_props(frame, inpicref);
>          ret = ff_filter_frame(outlink, frame);

this corrupts the pts, there are now 2 frames with identical pts:

[Parsed_showinfo_1 @ 0x347d260] n:   3 pts:  10800 pts_time:0.096   pos:    
34830 fmt:yuv420p sar:16/15 s:720x576 i:B iskey:0 type:P checksum:86526FAE 
plane_checksum:[5B1185CC AC409CC3 2F814D10] mean:[36 127 128] stdev:[32.8 2.9 
2.2]
[Parsed_showinfo_1 @ 0x347d260]   side data - pan/scan
[Parsed_showinfo_1 @ 0x347d260] n:   4 pts:  10800 pts_time:0.096   pos:    
34830 fmt:yuv420p sar:16/15 s:720x576 i:B iskey:0 type:P checksum:95E6E040 
plane_checksum:[A478F17F F98C9C37 DA9E527B] mean:[36 127 128] stdev:[32.6 2.9 
2.2]

i think moving it before frame->pts = ...
would fix that

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Old school: Use the lowest level language in which you can solve the problem
            conveniently.
New school: Use the highest level language in which the latest supercomputer
            can solve the problem without the user falling asleep waiting.

Attachment: signature.asc
Description: Digital signature

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

Reply via email to