FrameUpdateFilterImpl

アップデートフィルタを実装するためにはこのクラスを継承する必要があります。

FrameFilterImpl と FrameUpdateFilterImpl

FrameFilterImplクラスライブラリリファレンス>クラス>FrameFilterImplを継承したフィルタはそのtransformクラスライブラリリファレンス>クラス>FrameFilterImpl>FrameFilterImpl::transform Methodメッド内で画像データをソースからディスティネーションフレームにコピーします。
FrameUpdateFilterImpl を継承したフィルタはupdateInPlaceクラスライブラリリファレンス>クラス>FrameUpdateFilterImpl>FrameUpdateFilterImpl::updateInPlace Methodで受け取ったシングルバッファの分析・操作を行います。
タスクに応じて上記の2つを使い分けることが推奨されます。

実装

FrameUpdateFilterImplから継承させるにはテンプレートのパラメータとして導出クラスの名前を使用します。

class MyFilter
  : public DShowLib::FrameUpdateFilterImpl<MyFilter>
{
  // ...
};

FrameUpdateFilterImplより継承したすべてのクラスは静的メソッドgetStaticFilterInfoを持たなければなりません。これはフィルタの情報を保持するFilterInfoクラスライブラリリファレンス>構造体>FlterInfo Structure構造体を返すものです。

public:
  // FrameFilterImplの実装
  static DShowLib::FilterInfo getStaticFilterInfo();

インフォメーション

ヘッダファイル: tisudshl.h
ネームスペース: DShowLib
IC Imaging Control 3.0より導入

メソッド

メソッド 説明
modifiesDataクラスライブラリリファレンス>クラス>FrameUpdateFilterImpl>FrameUpdateFilterImpl::modifiesData Method frame updateコールバックが渡された画像データに処理を加えたかどうかを返します。デフォルトの実装ではtrueを返します。
updateInPlaceクラスライブラリリファレンス>クラス>FrameUpdateFilterImpl>FrameUpdateFilterImpl::updateInPlace Method フレームが更新可能な時にコールされます。