framesync2 will be the base for the version using activate. Most of the logic will be the same, but the code cannot be shared. Copying the file initially without change will make the diff easier to read.
cffea1b lavfi: copy framesync into framesync2.
libavfilter/framesync2.c | 343 +++++++++++++++++++++++++++++++++++++++++++++++
libavfilter/framesync2.h | 297 ++++++++++++++++++++++++++++++++++++++++
2 files changed, 640 insertions(+)