[FFmpeg-user] Wanted: Fields-to-frames filter that does not add cosmetics

Mark Filipak (ffmpeg) markfilipak at bog.us
Fri Mar 5 21:42:35 EET 2021

On 2021-03-05 11:13, James Darnley wrote:
> On 05/03/2021, Mark Filipak (ffmpeg) <markfilipak at bog.us> wrote:
>> I seek a fields-to-frames filter that does not add cosmetics. In my pursuit,
>> I look for such a
>> filter every time I peruse the filter docs for anything. I've yet to find
>> such a filter.
>> Do you know of a fields-to-frames filter that does not add cosmetics?
> separatefields - "splits each frame into its components fields,
> producing a new half height clip with twice the frame rate and twice
> the frame count"

Yes, I could do (and have done) that, followed by 'shuffleframes=00', followed by 'tinterlace' [1]. 
But that seems like a lengthy (slow) way to do what should be a simple (faster) thing [2].

[1] [A+b] ==> [A][b] ==> [A][A] ==> [A+A]
[2] [A+b] ==> [A+A]

If you're curious about what I'm doing, look:
[A+a][B+c][C+d][D+d][D+d]   ...SOURCE is a (consistent) mess [3]
[A+A][a+a][B+B][c+c][C+C][d+d][D+D][d+d][D+D][d+d]   ...yadif=mode=send_field
[A+A][a+a][B+B][B+B][C+C][c+c][D+D][d+d]   ...shuffleframes=0 1 2 2 4 3 6 7 -1 -1
[A+a][B+B][C+c][D+d]   ...tinterlace=mode=interleave_bottom to make TARGET [4]

[3] Telecined (=30fps) ==> frame 1 discard (=24fps) ==> frame 3 repeat (=30fps).
[4] The TARGET is beautiful. No cosmetic filtering needed (or possible).

[A+a][B+c][C+d][D+d][D+d]   ...SOURCE
[A][a][B][c][C][d][D][d][D][d]   ...separatefields
[A][a][B][B][C][c][D][d]   ...shuffleframes=0 1 2 2 4 3 6 7 -1 -1
[A+a][B+B][C+c][D+d]   ...weave=first_field=top to make TARGET

Hmmm... That appears to work. I'll try it.

I guess I got stuck on using tinterlace as the last step and couldn't see that separatefields & 
weave would be simpler (and faster) than yadif and without yadif's cosmetics.


More information about the ffmpeg-user mailing list