To implement a transform filter, you have to derive from this class.
FrameFilterImpl-derived filters copy image data in their transform method from a source to a destination frame.
FrameUpdateFilterImpl-derived filters 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 transform filter, you do at least have to implement:
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 FrameFilterImpl, use the name of your derived class as a template parameter:
class MyFilter : public DShowLib::FrameFilterImpl<MyFilter> { // ... };
Every class derived from FrameFilterImpl has to have a static method getStaticFilterInfo, returning 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 | ||
addBoolParam | Registers a boolean parameter than can be accessed using the methods of IFrameFilter. |
||
addDataParam | Registers a data parameter than can be accessed using the methods of IFrameFilter. |
||
addFloatParam | Registers a float parameter than can be accessed using the methods of IFrameFilter. |
||
addLongParam | Registers a long (integer) parameter than can be accessed using the methods of IFrameFilter. |
||
addStringParam | Registers a string parameter than can be accessed using the methods of IFrameFilter. |
||
checkInputType | Determines whether a specific input type is supported by the filter. |
||
checkTransformTypes | Determines whether a specific conversion is supported by the filter. |
||
getSupportedInputTypes | This method is called to request the types which this transform filter supports as input types. |
||
getTransformOutputTypes | This method is called to request the possible output types. |
||
notifyStart | This method is called when the transformation process (live mode) is started. |
||
notifyStop | This method is called when the transformation process (live mode) is stopped. |
||
transform | This method is called when a frame must be transformed or copied from the source to the destination IFrame. |
||