Next: MalibBuffer
Up: 各クラスのAPI詳細
Previous: ファイル一覧
Subsections
Video4Linuxを利用したビデオキャプチャデバイスへのアダプタを提供する。
bttv.c、bttv.h
ビデオキャプチャ設定のMAlibにおける標準として以下のマクロが定義される。
- MALIB_STD_V4L_DEVICE
-
ビデオキャプチャデバイス
- MALIB_STD_V4L_VIDEOMODE
-
ビデオ形式
- MALIB_STD_V4L_PALETTE
-
ビデオパレット
- MALIB_STD_V4L_CHANNEL
-
ビデオ入力チャネル
- MALIB_STD_V4L_WIDTH
-
キャプチャ画像のサイズ(幅)
- MALIB_STD_V4L_HEIGHT
-
キャプチャ画像のサイズ(高さ)
- MALIB_STD_V4L_DEPTH
-
キャプチャ画像の色深度
- MALIB_STD_V4L_VIDEODEVNAME_SIZE
-
ビデオデバイス名の長さ
MalibBttvに追加されるメンバ変数は以下のとおりである。
- vch
-
ビデオチャンネル構造体(Video4Linux で定義される
video_channel)
- vmbuf
-
ビデオメモリバッファ構造体(Video4Linux で定義される
video_mbuf)
- vmmap
-
ビデオメモリマップ構造体(Video4Linux で定義される
video_mmap)
- buf
-
メモリマップ領域へのポインタ
- fd
-
ビデオキャプチャデバイスのファイル記述子
- device
-
ビデオキャプチャデバイス名
- capture_hook
-
キャプチャ時にフックされる関数へのポインタ
- capture_hook_arg
-
上記関数の引数へのポインタ
- malib_bttv_new ()
-
コンストラクタ
- malib_bttv_new_with_device (const unsigned char* device)
-
コンストラクタ。引数でビデオキャプチャデバイスを指定することが可能
- malib_bttv_new_with_size (unsigned int width, unsigned int height)
-
コンストラクタ。引数でキャプチャ画像の幅と高さを指定することが可能。
キャプチャデバイスの能力を越える範囲の値を指定した場合はエラーとなる
- malib_bttv_new_with_config (const unsigned char* device,
unsigned int width, unsigned int height, unsigned int format,
unsigned int channel, unsigned int videomode)
-
コンストラクタ。ビデオキャプチャデバイス、キャプチャ画像の幅、高さ、
ビデオデータ形式(RGB/GREY/BWなどカラーモデルで指定)、
キャプチャ対象チャネル、ビデオモード(NTSC/PAL/SECAMなど
Video4Linux のAPIを利用して指定)を引数で設定することが可能
- malib_bttv_start_capture (MalibBttv* bttv)
-
ビデオキャプチャを開始する。実際のキャプチャ画像は接続した
ホルダに対してmalib_holder_increment_frame()を呼ぶことで
書き出されるが、ビデオキャプチャ準備を整えた後にキャプチャ画像を
得る前に、必ず1回、この関数を呼び出しておく必要がある
- malib_bttv_set_hook (MalibBttv* bttv,
void (* hook)(void* arg), void* arg)
-
キャプチャ時にフックされる関数をセットする。
NULL を指定した場合にはキャプチャ時に関数は実行されない。
標準では関数はフックされない状態とされる
- malib_bttv_delete (MalibBttv* bttv)
-
デストラクタ
- malib_bttv_init (MalibBttv* bttv, unsigned int width,
unsigned int height, unsigned int format,
unsigned int channel, unsigned int videomode)
-
引数で与える設定のもと、ビデオキャプチャデバイスの初期化を行なう
- malib_bttv_convert_colorinfo (unsigned int format,
unsigned int* colormodel, unsigned int* depth)
-
Video4Linux API で指定されるビデオデータ形式から、
MAlib で用いるカラーモデルおよび色深度に変換する
- malib_bttv_swap_rb_and_copy (unsigned int i,
unsigned char* src, int* dest)
-
Video4Linux で得られるカラー画像のキャプチャデータは
BGRの順に並んで格納されるので、並び順がRGBとなるよう
入れ替えつつ、指定のバッファにコピーする
- malib_bttv_capture_next_frame (MalibBttv* bttv, MalibFrame* frame)
-
フレーム画像を更新する。リファレンスカウンタの同期チェックに
より、実際のキャプチャは行なわれない場合もある
- malib_bttv_write_frame_data (MalibBttv* bttv, MalibFrame* frame)
-
ビデオキャプチャデバイスにメモリマップされた
キャプチャ済フレームバッファ領域から指定のフレームデータ領域へ
の書き込みを行なう
Next: MalibBuffer
Up: 各クラスのAPI詳細
Previous: ファイル一覧
Jun IIO
2001-06-14