[FFmpeg-user] propagation of frames in a filter complex

Paul B Mahol onemda at gmail.com
Thu Apr 16 18:58:46 EEST 2020


On 4/16/20, Mark Filipak <markfilipak.windows+ffmpeg at gmail.com> wrote:
> To overcome a problem, I'm trying to understand the propagation of frames in
> a filter complex.
>
> Filter graph:
>
> split[A]    select='not(eq(mod(n+1\,5)\,3))'       [C]interleave
>       [B]split[D]select='eq(mod(n+1\,5)\,2)'[F]blend[D]
>               [E]select='eq(mod(n+1\,5)\,3)'[G]
>
> What I expected/hoped:
>
> split[A]         0 1 _ 3 4         [C]interleave 0 1 B 3 4  //5 frames
>       [B]split[D] _ 1 _ _ _ [F]blend[D]               |
>               [E] _ _ 2 _ _ [G]                       blend of 1+2
>
> What appears to be happening:
>
> split[A]         0 1 _ 3 4         [C]interleave 0 1 _ 3 4  //4 frames
>       [B]split[D] _ _ _ _ _ [F]blend[D]
>               [E] _ _ 2 _ _ [G]
>
> The behavior is as though because frame n+1==1 can take the [A][C] path, it
> does take it & that
> leaves nothing left to also take the [B][D][F] path, so blend never outputs.
>
> I've used 'datascope' in various parts of the filter graph in an attempt to
> confirm this on my own.
> It's difficult because my test video doesn't display frame #s.
>

Use testsrc2 filter?

> If that indeed is the behavior, then ...
>
> I need a way to duplicate a frame, # n+1%5==1 in this case, so that the
> 'blend' operates.
>
> Thanks for your thoughts,
> Mark.
>
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-user mailing list