Hi,
> This specific filter can have two input clips
No, it is not input clips.
the two sets of mpSourceFrames are generated by PrefetchProc from same source:
prefetcher->PrefetchFrame(0, frame, 0); --> mpSourceFrames[0]
prefetcher->PrefetchFrame(0, frame+param.width, 0); --> mpSourceFrames[1]
Btw I have cloned sdk.chm, here is related stuff:
prefetching
multiple sources
Haven't experimented with multiple sources yet, this is a bit complex.
videofilter.h provides helpers for the plugin, it is not part of binary interface.
VDXFilterDefinition2 is helper struct, this is full code:
Code:
struct VDXFilterDefinition2: public VDXFilterDefinition{
FilterModDefinition filterMod;
VDXFilterDefinition2() {
fm = 0;
}
VDXFilterDefinition2(const VDXFilterDefinition2& a)
:VDXFilterDefinition(a)
{
filterMod = a.filterMod;
fm = &filterMod;
}
};
Its purpose is to supply FilterModDefinition pointer to VDXFilterDefinition, the added size is plugin's private, not used by host.
Unrolled:
Code:
VDXFilterDefinition2{
VDXFilterDefinition{
...
// NEW - V17 / 1.10.2
VDXShowStaticAboutProc mpStaticAboutProc;
VDXShowStaticConfigureProc mpStaticConfigureProc;
// NEW - V20
FilterModDefinition* fm; ---------\ points to filterMod
} |
FilterModDefinition filterMod; <---/
}