COMPVARS 結構 (vfw.h)
COMPVARS 結構描述ICCompressorChoose、ICSeqCompressFrame和ICCompressorFree等函式的壓縮設定。
語法
typedef struct {
LONG cbSize;
DWORD dwFlags;
HIC hic;
DWORD fccType;
DWORD fccHandler;
LPBITMAPINFO lpbiIn;
LPBITMAPINFO lpbiOut;
LPVOID lpBitsOut;
LPVOID lpBitsPrev;
LONG lFrame;
LONG lKey;
LONG lDataRate;
LONG lQ;
LONG lKeyCount;
LPVOID lpState;
LONG cbState;
} COMPVARS, *PCOMPVARS;
成員
cbSize
這個 結構的大小,以位元組為單位。 這個成員必須先設定為驗證結構,才能使用此結構呼叫任何函式。
dwFlags
適用的旗標。 已定義下列值:
名稱 | 描述 |
---|---|
|
此結構中的數據有效且已手動輸入。 如果您手動填入此結構,請在呼叫任何函式之前設定此旗標。 如果您讓 ICCompressorChoose 初始化此結構,請勿設定此旗標。 |
hic
要使用的冰箱句柄。 您可以使用 ICOpen 函式開啟並取得它的句柄。 您也可以使用 ICCompressorChoose來選擇冰箱。 ICCompressorChoose 會開啟所選的冰箱,並傳回此成員中的冰箱控點。 您可以使用 ICCompressorFree 來關閉冰箱。
fccType
使用的冰箱類型。 目前僅支援 ICTYPE_VIDEO ( VIDC) 。 這個成員可以設定為零。
fccHandler
四個字元的冰箱代碼。 指定 NULL 表示數據不會重新壓縮。 指定 「DIB」 表示數據是未壓縮的完整框架。 您可以使用這個成員來指定顯示對話框時,預設會選取哪一個冰箱。
lpbiIn
保留;請勿使用 。
lpbiOut
包含影像輸出格式 之 BITMAPINFO 結構的指標。 您可以指定要使用的特定格式,也可以指定 NULL 以使用與輸入格式相關聯的預設冰箱。 您也可以使用 ICCompressorChoose來設定影像輸出格式。
lpBitsOut
保留;請勿使用 。
lpBitsPrev
保留;請勿使用 。
lFrame
保留;請勿使用 。
lKey
主要畫面格速率。 指定整數,指出主要畫面格在壓縮序列中發生的頻率,或指定零不使用主要畫面格的頻率。 您也可以讓 ICCompressorChoose 設定對話框中選取的主要畫面格速率。 ICSeqCompressFrameStart 函式會使用這個成員的值來製作主要畫面格。
lDataRate
數據速率,每秒以 KB 為單位。 ICCompressorChoose 會將選取的數據速率從對話框複製到這個成員。
lQ
質量設定。 指定 1 到 10,000 的品質設定,或指定 ICQUALITY_DEFAULT 使用預設質量設定。 您也可以讓 ICCompressorChoose 設定對話框中選取的品質值。 ICSeqCompressFrameStart 會使用此成員的值作為其質量設定。
lKeyCount
保留;請勿使用 。
lpState
保留;請勿使用 。
cbState
保留;請勿使用 。
備註
您可以讓 ICCompressorChoose 填滿此結構的內容,也可以手動執行。 如果您手動填滿結構,則必須提供下列成員的資訊: cbSize、 hic、 lpbiOut、 lKey 和 lQ。 此外,您必須在 dwFlags 成員中設定ICMF_COMPVARS_VALID旗標。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
標頭 | vfw.h |
另請參閱
視訊壓縮管理員