To implement an update filter, you have to derive from this class.
Filters that are derived from FrameFilterImpl copy image data in their transform method from a source to a destination frame.
Filters that are derived from FrameUpdateFilterImpl can analyze and modify a single buffer that is presented to them in updateInPlace.
Depending on your task, it is better to either derive from FrameFilterImpl or from FrameUpdateFilterImpl.
To get a working update filter, you need to have implemented at least the following:
To customize the behavior of the filter, you can also override:
To add a dialog box to your transform filter, you have to override methods from IFrameFilter:
To register parameters that can be queried and modified using IFrameFilter::getAvailableParameters, IFrameFilter::setParameter and IFrameFilter::getParameter, use
To derive from FrameUpdateFilterImpl, use the name of your derived class as a template parameter:
class MyFilter : public DShowLib::FrameUpdateFilterImpl<MyFilter> { // ... };
Every class derived from FrameUpdateFilterImpl has to have a static method getStaticFilterInfo that returns a FilterInfo structure, containing information about the filter:
public: // FrameFilterImpl implementation static DShowLib::FilterInfo getStaticFilterInfo();
See Writing a Frame Filter: Binarization to see how to implement that method.
Header File: tisudshl.h
Namespace: DShowLib
Introduced in version 3.0
IFrameFilter
FrameFilterImpl
FrameUpdateFilterImpl
Method | Description | ||
modifiesData | This method returns whether this frame update callback modifies the presented image data. The default implementation returns true. |
||
updateInPlace | This method is called when a frame can be updated. |
||