<Return[I]><Top>

ICSeqCompressFrame

Declare Function Api_ICSeqCompressFrame& Lib "msvfw32" Alias "ICSeqCompressFrame" (ByRef pc As PCOMPVARS, ByVal uiFlags&, lpBits As Any, ByRef pfKey&, ByRef plSize&)

Declare Function ICSeqCompressFrame Lib "msvfw32" (ByRef pc As PCOMPVARS, ByVal uiFlags As Long, lpBits As Any, ByRef pfKey As Long, ByRef plSize As Long) As Long

コンプレッサ(圧縮処理)にメッセージを送信する。

パラメータ
pc
    圧縮に関する情報に従って初期化された COMPVARS 構造体のアドレスを指定する。
uiFlags
    予約されている。0 を指定する。
lpBits
    圧縮するデータビットのアドレスを指定する(データビットには、ヘッダーまたは形式情報は含まれない)。
pfKey
    フレームがキーフレームに圧縮されたかどうかを返す。
plSize
    圧縮イメージに必要な最大サイズを指定する。コンプレッサ(圧縮処理)はこのサイズ内でデータを圧縮できない場合がある。関数が戻ると、

    パラメータは圧縮後のイメージのサイズを示す。イメージのサイズはバイト単位で指定する。

戻り値
    関数が成功すると、圧縮されたビットのアドレスが返る。失敗すると、NULL が返る。

解説
    この関数は、COMPVARS 構造体を使って指定されたコンプレッサの設定を提供し、ICSeqCompressorFrameStart 関数で指定されたレ

    ートでキーフレームを挿入する。COMPVARS 構造体の適切なメンバを使い、シーケンスとキーフレームの頻度に対するデータレートの値を指

    定することができる。
    ビデオシーケンスを圧縮するには、ICCompress 関数ではなくこの関数を使う。ICCompressorChoose 関数を使うと、コンプレッサを指定

    し、COMPVARS 構造体を初期化することができる。COMPVARS 構造体は手動で初期化することもできる。
    フレームシーケンスを指定されたデータレートとキーフレーム数に圧縮するには、ICSeqCompressFrameStart 関数、ICSeqCompressFrame

    関数および ICSeqCompressFrameEnd 関数を使う。ICSeqCompressFrame 関数は圧縮するフレームごとに 1 度ずつ使う。
    圧縮が終了したら、ICCompressorFree 関数を使って COMPVARS 構造体で指定されたリソースを解放する。