- MALIB_FILTER_NEW(type, prev)
フィルタの生成を簡潔に記述するための汎用マクロ定義。 typeには作成したいフィルタを記述し、prevには前段の フィルタへのポインタを代入する。ただし、間に生成される バッファはMalibPlainBufに限定されるため、 それ以外のバッファを要求する場合には利用できない- MALIB_FILTER_NEW_X(type, extention, prev, arg)
フィルタの生成を簡潔に記述するための汎用マクロ定義。 typeには作成したいフィルタを記述し、prevには前段の フィルタへのポインタを代入する。また、extentionに with_argなどと記述することにより、引数をとる コンストラクタの一部にも対応することができる。argには その引数を記述する- MALIB_FILTER_GENERIC_NEW(klass, vtbl, accepts)
フィルタの各サブクラスの定義において、コンストラクタを 簡潔に記述することを目的とした汎用マクロ定義。このマクロは クラスの作成者に対して用意されているもので、ユーザが用いる マクロではない。klassには作成したいクラス名、vtblは そのクラスが定義するバーチャル関数テーブル、 acceptsにはそのフィルタが許容するデータ種別を 表すフラグを記述する- MALIB_FILTER_GENERIC_NEW_0(klass, vtbl, accepts, retptr)
上記と同様であるが、クラスの作成と同時にメンバ変数に対して 初期設定を行ないたい場合にこのマクロを利用する。最後の retptrには作成したいクラス型のポインタ変数を 渡しておくと、マクロ実行後に作成途中のデータへのポインタが 確保される。その後、メンバ変数の初期設定などを実施したのち、 ユーザに対してそのポインタを返すようにする- MALIB_FILTER_GENERIC_NEW_WITH_BUF
(klass, creator, setbuffer, buf)
入力バッファを引数にとるようなコンストラクタを簡潔に記述 するためのマクロ定義。klassには作成したいクラス名、 creatorはバッファを引数に取らない単純なコンストラクタ名、 setbufferはバッファをセットする関数名、 bufは入力バッファへのポインタを記述する。 本マクロ定義もクラス実装者向けに用意されているマクロである- MALIB_FILTER_ACCEPT_ALL
入力データの種別として全てを許容する場合のフラグ。本 マクロ定義を利用しない場合は、 MalibFrameで定義するカラーモデルの定義を用 いる- MALIB_FILTER_NOT_ACCEPTABLE(filter, colormodel)
filterがcolormodelのデータ形式を許容するかどう かを判定する- MALIB_FILTER_VFUNC_TBL(obj)
フィルタクラスのバーチャル関数テーブルに変換する
- buf
フィルタに入力するバッファへのポインタ- acceptable
許容できるデータ形式を示すフラグ
- malib_filter_set_buffer (MalibFilter* filter, MalibBuffer* buf)
入力バッファを設定する。サブクラスから呼ばれるべき関数であり、 ユーザがこの関数を直接呼んではいけない- malib_filter_set_buffer_with_frame (MalibFilter* filter,
MalibBuffer* buf, MalibFrame* frame_info)
入力バッファを設定する。また、引数で新たなサンプルフレーム情報を 設定する。本関数は、データ形式やフレームのサイズが変化するため サンプルフレーム情報が変化するような場合に用いる- malib_filter_set_frame_info (MalibFilter* filter,
MalibFrame* frame_info)
サンプルフレーム情報をセットする- malib_filter_calc_output_image_size (MalibFilter* filter)
フィルタが出力するフレームが持つ 実データを格納するメモリ領域に必要なサイズを返す- malib_filter_set_acceptable (MalibFilter* filter, int acceptable)
フィルタが入力するデータとして許容する形式を設定する- malib_filter_delete (MalibFilter* filter)
デストラクタ- malib_filter_set_buffer_with_colormodel (MalibFilter* filter,
MalibBuffer* buf, int colormodel)
入力バッファを設定する。引数として与えるカラーモデルの フレームを新規に作成し、サンプルフレーム情報として設定する- malib_filter_set_buffer_with_colormodel_and_depth (MalibFilter* filter,
MalibBuffer* buf, int colormodel, int depth)
入力バッファを設定する。引数として与えるカラーモデルおよび 色深度を持つフレームを新規に作成し、 サンプルフレーム情報として設定する
- malib_filter_get_previous_frame_info (MalibFilter* filter)
このフィルタに入力として接続されているバッファに対し、 さらにその入力となるソースが生成するサンプルフレーム情報への ポインタを取得する