ICCompress 関数 (vfw.h)
ICCompress 関数は、1 つのビデオ 画像を圧縮します。
構文
DWORD VFWAPIV ICCompress(
HIC hic,
DWORD dwFlags,
LPBITMAPINFOHEADER lpbiOutput,
LPVOID lpData,
LPBITMAPINFOHEADER lpbiInput,
LPVOID lpBits,
LPDWORD lpckid,
LPDWORD lpdwFlags,
LONG lFrameNum,
DWORD dwFrameSize,
DWORD dwQuality,
LPBITMAPINFOHEADER lpbiPrev,
LPVOID lpPrev
);
パラメーター
hic
使用するコンプレッサーに取り付ける。
dwFlags
圧縮フラグ。 次の値が定義されています。
ICCOMPRESS_KEYFRAME
コンプレッサーは、このフレームをキーフレームにする必要があります。
lpbiOutput
出力形式を含む BITMAPINFOHEADER 構造体へのポインター。
lpData
圧縮されたフレームを格納するのに十分な大きさの出力バッファーへのポインター。
lpbiInput
入力形式を含む BITMAPINFOHEADER 構造体へのポインター。
lpBits
入力バッファーへのポインター。
lpckid
予約済みです。使わないでください。
lpdwFlags
AVI インデックスで使用される戻りフラグへのポインター。 次の値が定義されています。
AVIIF_KEYFRAME
現在のフレームはキー フレームです。
lFrameNum
フレーム番号。
dwFrameSize
要求されたフレーム サイズ (バイト単位)。 ICGetInfo 関数によって返されるVIDCF_CRUNCH フラグの存在によって示されるように、コンプレッサーが推奨されるフレーム サイズをサポートしている場合は、0 以外の値を指定します。 このフラグが設定されていない場合、またはフレームのデータ速度が指定されていない場合は、このパラメーターに 0 を指定します。
このパラメータで指定されたサイズ目標を得るために、コンプレッサーは画質を犠牲にするか、他のトレードオフを行う必要があります。
dwQuality
フレームに要求された品質値。 ICGetInfo によって返されるVIDCF_QUALITY フラグの存在によって示されるように、コンプレッサーが推奨品質値をサポートしている場合は、0 以外の値を指定します。 それ以外の場合は、このパラメーターに 0 を指定します。
lpbiPrev
前のフレームの形式を含む BITMAPINFOHEADER 構造体へのポインター。
lpPrev
前のフレームの非圧縮イメージへのポインター。 このパラメーターは、高速テンポラル圧縮には使用されません。 キー フレームを圧縮するとき、コンプレッサーがテンポラル圧縮をサポートしていない場合、またはコンプレッサーが前のイメージの形式とデータを格納するために外部バッファーを必要としない場合は、このパラメーターに NULL を 指定します。
戻り値
成功した場合 はICERR_OK を返し、それ以外の場合はエラーを返します。
解説
出力バッファーのサイズで必要な を取得するには、 ICM_COMPRESS_GET_SIZE メッセージを送信します (または ICCompressGetSize マクロを使用します)。
コンプレッサーは、 lpdwFlags の内容を、キー フレームの作成時に AVIIF_KEYFRAME に設定します。 アプリケーションで AVI ファイルを作成する場合は、 lpckid と lpdwFlags に対して返される情報をファイルに保存する必要があります。
コンプレッサーは lpbiPrev と lpPrev を使用してテンポラル圧縮を実行し、前のフレームの形式とデータを格納するために外部バッファーを必要とします。 キー フレームを圧縮する場合、高速圧縮を実行する場合、またはコンプレッサーに前のイメージの形式とデータを格納する独自のバッファーがある場合は、lpbiPrev と lpPrev に NULL を指定します。 ICGetInfo が VIDCF_TEMPORAL フラグを返し、コンプレッサーが通常の圧縮を実行しており、圧縮するフレームがキー フレームでない場合は、これらのパラメーターに NULL 以外の値を指定します。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | vfw.h |
Library | Vfw32.lib |
[DLL] | Msvfw32.dll |