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

pdr0 pdr0 at shaw.ca
Sat Mar 6 04:31:03 EET 2021


Mark Filipak (ffmpeg) wrote
> On 2021-03-05 11:13, James Darnley wrote:
>> On 05/03/2021, Mark Filipak (ffmpeg) <

> markfilipak@

> > 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.
> 
> Thanks!


Yes, yadif is not the right filter for what you're doing, because of the
spatial interpolation. Yadif is a deinterlacer, and as a general rule you
don't deinterlace progressive content (that has matching field pairs), or
you'll degrade it


Mark Filipak (ffmpeg) wrote
> [4] The TARGET is beautiful. No cosmetic filtering needed (or possible).

Cosmetic filter is wanted and possible on B+B. 

B is an orphaned field, missing it's partner "b" . B+B is going to be full
of aliasing/stairstepping. The field interpolation algorithm used to
generate the pseudo "b" makes a difference. For example, -vf nnedi=field=t
applied selectively on that B+B frame will look substantially better, almost
like a fake B+b . Or temporally filtered B+b (from A+a and C+c data), such
as with QTGMC in vapoursynth or avisynth will look better than either. If
you want demos or more info let me know













--
Sent from: http://ffmpeg-users.933282.n4.nabble.com/


More information about the ffmpeg-user mailing list