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".