[FFmpeg-user] ffmpeg architecture question

Paul B Mahol onemda at gmail.com
Fri Apr 17 18:23:04 EEST 2020


On 4/17/20, Mark Filipak <markfilipak.windows+ffmpeg at gmail.com> wrote:
> 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.
>

datascope appears if you switch order of interleave pads, or use
hstack/vstack filter instead of interleave filter.

> 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