Struttura COMPVARS (vfw.h)

La struttura COMPVARS descrive le impostazioni del compressore per funzioni quali ICCompressorChoose, ICSeqCompressFrame e ICCompressorFree.

Sintassi

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;

Members

cbSize

Dimensioni, in byte, di questa struttura. Questo membro deve essere impostato per convalidare la struttura prima di chiamare qualsiasi funzione usando questa struttura.

dwFlags

Flag applicabili. Il valore seguente è definito:

Nome Descrizione
ICMF_COMPVARS_VALID
I dati in questa struttura sono validi ed è stato immesso manualmente. Impostare questo flag prima di chiamare una funzione se si riempie manualmente questa struttura. Non impostare questo flag se si consente a ICCompressorChoose di inizializzare questa struttura.

hic

Handle per il compressore da utilizzare. È possibile aprire un compressore e ottenere un handle di esso usando la funzione ICOpen . È anche possibile scegliere un compressore utilizzando ICCompressorChoose. ICCompressorChoose apre il compressore scelto e restituisce la maniglia del compressore in questo membro. È possibile chiudere il compressore usando ICCompressorFree.

fccType

Tipo di compressore utilizzato. Attualmente è supportato solo ICTYPE_VIDEO (VIDC). Questo membro può essere impostato su zero.

fccHandler

Codice a quattro caratteri del compressore. Specificare NULL per indicare che i dati non devono essere compressi. Specificare "DIB" per indicare che i dati sono un frame completo non compresso. È possibile utilizzare questo membro per specificare il compressore selezionato per impostazione predefinita quando viene visualizzata la finestra di dialogo.

lpbiIn

Riservati; non usare.

lpbiOut

Puntatore a una struttura BITMAPINFO contenente il formato di output dell'immagine. È possibile specificare un formato specifico da utilizzare oppure è possibile specificare NULL per utilizzare il compressore predefinito associato al formato di input. È anche possibile impostare il formato di output dell'immagine usando ICCompressorChoose.

lpBitsOut

Riservati; non usare.

lpBitsPrev

Riservati; non usare.

lFrame

Riservati; non usare.

lKey

Frequenza dei fotogrammi chiave. Specificare un numero intero per indicare la frequenza di esecuzione dei fotogrammi chiave nella sequenza compressa o zero per non usare fotogrammi chiave. È anche possibile consentire a ICCompressorChoose di impostare la frequenza dei fotogrammi chiave selezionata nella finestra di dialogo. La funzione ICSeqCompressFrameStart usa il valore di questo membro per creare fotogrammi chiave.

lDataRate

Velocità dei dati, espressa in kilobyte al secondo. ICCompressorChoose copia la frequenza dei dati selezionata dalla finestra di dialogo a questo membro.

lQ

Impostazione di qualità. Specificare un'impostazione di qualità da 1 a 10.000 o specificare ICQUALITY_DEFAULT per usare l'impostazione di qualità predefinita. È anche possibile consentire a ICCompressorChoose di impostare il valore di qualità selezionato nella finestra di dialogo. ICSeqCompressFrameStart usa il valore di questo membro come impostazione di qualità.

lKeyCount

Riservati; non usare.

lpState

Riservati; non usare.

cbState

Riservati; non usare.

Commenti

È possibile consentire a ICCompressorChoose di riempire il contenuto di questa struttura oppure è possibile farlo manualmente. Se si riempie manualmente la struttura, è necessario fornire informazioni per i membri seguenti: cbSize, hic, lpbiOut, lKey e lQ. Inoltre, è necessario impostare il flag ICMF_COMPVARS_VALID nel membro dwFlags .

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione vfw.h

Vedi anche

ICCompressorChoose

ICCompressorFree

ICSeqCompressFrame

ICSeqCompressFrameStart

Gestione compressione video

Strutture di compressione video