[FFmpeg-user] input to YADIF filter

Human Being egoeimi at mail.ru
Mon Aug 15 15:03:22 EEST 2016

>yes, with the enable option things got a bit better, although now i don't understand what n actually is. it's supposed to be a sequential frame number, but when i try
>-vf "yadif=enable='between(n,0,1)'"
>then the first two frames won't be deinterlaced. instead,
>-vf "yadif=enable='between(n,2,2)'"
>gets the 1st frame deinterlaced,
>-vf "yadif=enable='between(n,3,3)'"
>gets the 2nd frame deinterlaced, and
>-vf "yadif=enable='between(n,2,3)'"
>gets both of them deinterlaced.
>earlier, i ran the following command
>ffmpeg -t 30 -i VTS_01_3.VOB frames/%04d.png
>to look at the frames and manually pick those interlaced. i saw that the first two frames were interlaced [0001.png and 0002.png], and the next frames with combs were on images 0116.png and 0117.png. so, 1 in snapshots corresponds to 2 as n, and 2 to 3. then, much to my surprise, i found out that n values for the next interlaced pair [116 and 117] were 96 and 97. does it make sense to anybody? if yes, i'd love to read your explanation. if not, any suggestions are welcome.

okay, here's my explanation.

1. my 0001.png file turned out to depict the second frame in VTS_01_3.VOB and not the first one, so all those numbers in the file names should be incremented.

2. n, at least in the enable option for YADIF, actually starts from 1 and not from 0.

that's why i had to use between(n,2,3) instead of between(n,0,1). well, i can deal with that.

3. n also ignores repeated frames.

there are 21 repeated frames before 0116.png, so 116 + 1 - 21 = 96. that's why the second pair of combed frames had to be referred to with between(n,96,97). and that's not okay with me.

is there a way to get rid of the manual counting of repeated frames as my procedure is manual enough already?

More information about the ffmpeg-user mailing list