[FFmpeg-user] ffmpeg architecture question

Mark Filipak markfilipak.windows+ffmpeg at gmail.com
Fri Apr 17 16:30:30 EEST 2020


I reran the tests with these command lines:

SET FFREPORT=file=FOO-GH.LOG:level=32

ffmpeg -i %1 -filter_complex 
"telecine=pattern=46,split[A][B],[A]select='not(eq(mod(n+1\,5)\,3))'[C],[B]split[E][F],[E]select='eq(mod(n+1\,5)\,2)',datascope=size=1920x1080:x=45:y=340:mode=color2[G],[F]select='eq(mod(n+1\,5)\,3)'[H],[G][H]blend[D],[C][D]interleave" 
-map 0 -c:v libx264 -crf 20 -an -sn "C:\AVOut\FOO-GH.MKV"

SET FFREPORT=file=FOO-HG.LOG:level=32

ffmpeg -i %1 -filter_complex 
"telecine=pattern=46,split[A][B],[A]select='not(eq(mod(n+1\,5)\,3))'[C],[B]split[E][F],[E]select='eq(mod(n+1\,5)\,2)',datascope=size=1920x1080:x=45:y=340:mode=color2[G],[F]select='eq(mod(n+1\,5)\,3)'[H],[H][G]blend[D],[C][D]interleave" 
-map 0 -c:v libx264 -crf 20 -an -sn "C:\AVOut\FOO-HG.MKV"

The datascope doesn't appear in either output, so frame 1 (zero-based) is not traversing [E][H] 
(upper command) or [E][G] (lower command).

Therefore, I'm pretty confident that once frame 1 gets enqueued at [C], the filter chain is not 
recursed.

Another interesting thing is the behavior of 'blend'.

If blend gets a hit to its 2nd input (but not the 1st) the total frames output = 479.

If blend gets a hit to its 1st input (but not the 2nd) the total frames output = 594.


More information about the ffmpeg-user mailing list