Hey,

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

Huh, I didn't know you could reuse filter pad labels. I've translated the 
graph2dot output to svg, it doesn't look like it'll help much though.
I think graphmonitor would be more helpful for this kind of 
split-chained-to-split complex graph.
But I think you could use the multiple output option for select filter, where 
you use the value to select which pad the frame gets sent to. (It isn't 
evaluated as a boolean in that case, so if value is 3.??? it goes to output pad 
3, if it's 0.??? it goes to 0, etc)

Regards,
Ted Park

_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to