Hello!
On 04/15/2020 07:13 PM, pdr0 wrote:
On 04/15/2020 00:25 AM, I wrote:
This:

ffmpeg -i IN -filter_complex
"telecine=pattern=5,split[A][B],[A]select='not(eq(mod(n+1\,5)\,3))'[C],[B]select='eq(mod(n+1\,5)\,3)',split[E][F],[E][F]blend[D],[C][D]interleave"
OUT

outputs 598 frames. 'blend' outputs as expected.

May I make it plainer?

Filtergraph using 'blend':

IN (240 fr) > telecine (600 fr) > (cont. below)

split#1 [A] > select (480 progressive frames) > [C]
        [B] > select (120 combed frames) > [D]

                [C] > (480 progressive frames) > interleave (600 fr)
[D] > split#2 > (120 Cframes) > blend (120 fr) >
              > (120 Cframes) >

Note: interleave output is actually 598 frames.

This:

ffmpeg -i IN -filter_complex
"telecine=pattern=5,split[A][B],[A]select='not(eq(mod(n+1\,5)\,3))'[C],[B]select='eq(mod(n+1\,5)\,3)',separatefields,scale=height=2*in_h:sws_flags=neighbor,setsar=1,tblend[D],[C][D]interleave"
OUT

outputs 716 frames. 'tblend' (documented in the same article) outputs extra
frames.

Filtergraph using 'tblend':

IN (240 fr) > telecine (600 fr) > (cont. below)

                 [C] > (480 progressive frames) > interleave (720 fr)
[D] > separatefields (240 fr) > tblend (240 fr) >

Note: interleave output is actually 716 frames.

My point is that 'blend' outputs 120 frames while 'tblend' outputs 240 
(actually, 219) frames.
Due to slipshod documentation -- the documentation is combined -- the 
difference is not noted.
Of course, my complaint began as a bug complaint, not a documentation complaint.
I can live with behavior differences.

You would expect 719 frame output if you started with a 240 frame, 23.976p
clip

Sure.

tblend changes the frame count by -1 . Default mode doesn't appear to do
anything except drop the original frame zero. When you use all_mode=average,
it blends adjacent frames.  The new frame zero becomes 50/50 mix of (old
frame 0,1). New frame one becomes a 50/50 mix of (old frame 1,2).  You can
test the filter by itself to verify this

When you separate fields, you have 2 times the number of original frames.
If you resize them to full height and treat them as frames, you still have 2
times the number of frames on that selection set

Of course.

If you started with a 240 frame clip , you should end up with a 600 frame
clip after that telecine filter only with those settings.

Of course.

If you take every 5th frame from the telecine output ; 600/5 =120 .
Separating fields give you 120*2 =240. Applying tblend=all_mode=average
after gives you 240-1=239 frames. This is [D] .

Of course.

[C] is the other frame selection set; 600-120=480

Interleaving selection [C] with [D] should give you (600-120) + (240-1) =
719

The 716 might be from interleave dropping frames at the end when it hangs.
Expect it to hang because there is no end-of-stream signal when used with
select.

https://ffmpeg.org/ffmpeg-filters.html#interleave_002c-ainterleave

You have confirmed everything that I assert. Thank you.
_______________________________________________
ffmpeg-user mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to