avfilter/vf_yadif: fix extra leading dup frame when deint=1
authorNeil Birkbeck <neil.birkbeck@gmail.com>
Sat, 29 Nov 2014 20:23:58 +0000 (12:23 -0800)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 29 Nov 2014 20:59:47 +0000 (21:59 +0100)
commite4788e9cd9878a51b7780fa3e2d070288a2918b9
tree5e85b53caa1ff0385e508732e18ae13acdc2b4d2
parentfc9ced41e48f7a10f0f472766e21d3103b93cc9a
avfilter/vf_yadif: fix extra leading dup frame when deint=1

Logic for handling single frame in yadif (0f9f24c9), caused deint=1 (e.g., yadif=0:-1:1) to output extra duplicate leading frame:

ffmpeg -i fate-suite/ffmpeg-synthetic/vsynth1/%02d.pgm  -vf yadif=0:-1:1,showinfo -f null -y /dev/null
 [Parsed_showinfo_1 @ 0x1d967d0] n:0 pts:0 pts_time:0 pos:-1 fmt:gray sar:0/1 s:352x432 i:P iskey:1 type:I checksum:E457EEA0 plane_checksum:[E457EEA0] mean:[126] stdev:[46.6]
 [Parsed_showinfo_1 @ 0x1d967d0] n:1 pts:0 pts_time:0 pos:-1 fmt:gray sar:0/1 s:352x432 i:P iskey:1 type:I checksum:E457EEA0 plane_checksum:[E457EEA0] mean:[126] stdev:[46.6]
(Outputs 51 frames)

After patch, vf "yadif=0:-1:1" behaves correctly (like "yadif=0:-1:0") and outputs 50 frames, first two:

[Parsed_showinfo_1 @ 0x1e307d0] n:0 pts:0 pts_time:0 pos:-1 fmt:gray sar:0/1 s:352x432 i:P iskey:1 type:I checksum:68E8D1EB plane_checksum:[68E8D1EB] mean:[126] stdev:[46.0]
[Parsed_showinfo_1 @ 0x1e307d0] n:1 pts:2 pts_time:0.04 pos:-1 fmt:gray sar:0/1 s:352x432 i:P iskey:1 type:I checksum:4E674BC7 plane_checksum:[4E674BC7] mean:[125] stdev:[46.0]
(Outputs 50 frames)

Signed-off-by: Neil Birkbeck <neil.birkbeck@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavfilter/vf_yadif.c