共用方式為


COMPVARS 結構 (vfw.h)

COMPVARS 結構描述ICCompressorChooseICSeqCompressFrameICCompressorFree等函式的壓縮設定。

語法

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

適用的旗標。 已定義下列值:

名稱 描述
ICMF_COMPVARS_VALID
此結構中的數據有效且已手動輸入。 如果您手動填入此結構,請在呼叫任何函式之前設定此旗標。 如果您讓 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 填滿此結構的內容,也可以手動執行。 如果您手動填滿結構,則必須提供下列成員的資訊: cbSizehiclpbiOutlKeylQ。 此外,您必須在 dwFlags 成員中設定ICMF_COMPVARS_VALID旗標。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
標頭 vfw.h

另請參閱

ICCompressorChoose

ICCompressorFree

ICSeqCompressFrame

ICSeqCompressFrameStart

視訊壓縮管理員

視訊壓縮結構