AVICOMPRESSOPTIONS-Struktur (vfw.h)

Die AVICOMPRESSOPTIONS-Struktur enthält Informationen zu einem Stream und wie er komprimiert und gespeichert wird. Diese Struktur übergibt Daten an die FUNKTION AVIMakeCompressedStream (oder die AVISave-Funktion , die AVIMakeCompressedStream verwendet).

Syntax

typedef struct {
  DWORD  fccType;
  DWORD  fccHandler;
  DWORD  dwKeyFrameEvery;
  DWORD  dwQuality;
  DWORD  dwBytesPerSecond;
  DWORD  dwFlags;
  LPVOID lpFormat;
  DWORD  cbFormat;
  LPVOID lpParms;
  DWORD  cbParms;
  DWORD  dwInterleaveEvery;
} AVICOMPRESSOPTIONS, *LPAVICOMPRESSOPTIONS;

Member

fccType

Vierstelligen Code, der den Streamtyp angibt. Die folgenden Konstanten wurden für die Daten definiert, die häufig in AVI-Streams gefunden werden:

Dauerhaft BESCHREIBUNG
streamtypeAUDIO
Gibt einen Audiodatenstrom an.
streamtypeMIDI
Gibt einen MIDI-Stream an.
streamtypeTEXT
Gibt einen Textstream an.
streamtypeVIDEO
Gibt einen Videostream an.

fccHandler

Vierstelligen Code für den Kompressorhandler, der diesen Videostream komprimiert, wenn er gespeichert wird (z. B. mmioFOURCC ("M','S','V','C')). Dieser Member wird nicht für Audiostreams verwendet.

dwKeyFrameEvery

Maximaler Zeitraum zwischen Video-Keyframes. Dieser Member wird nur verwendet, wenn das flag AVICOMPRESSF_KEYFRAMES festgelegt ist. Andernfalls ist jeder Videoframe ein Keyframe.

dwQuality

Qualitätswert, der an einen Videokompressor übergeben wird. Dieser Member wird nicht für einen Audiokompressor verwendet.

dwBytesPerSecond

Videokompressor-Datenrate. Dieses Element wird nur verwendet, wenn das flag AVICOMPRESSF_DATARATE festgelegt ist.

dwFlags

Für die Komprimierung verwendete Flags. Die folgenden Werte werden definiert:

Name BESCHREIBUNG
AVICOMPRESSF_DATARATE
Komprimiert diesen Videodatenstrom mit der in dwBytesPerSecond angegebenen Datenrate.
AVICOMPRESSF_INTERLEAVE
Interleasiert diesen Stream für alle dwInterleaveEvery-Frames in Bezug auf den ersten Stream.
AVICOMPRESSF_KEYFRAMES
Speichert diesen Videostream mit Keyframes mindestens alle dwKeyFrameEvery-Frames . Standardmäßig ist jeder Frame ein Keyframe.
AVICOMPRESSF_VALID
Verwendet die Daten in dieser Struktur, um die Standardkomprimierungswerte für AVISaveOptions festzulegen. Wenn eine leere Struktur übergeben wird und dieses Flag nicht festgelegt ist, werden einige Standardwerte ausgewählt.

lpFormat

Zeiger auf eine Struktur, die das Datenformat definiert. Für einen Audiostream ist dies eine LPWAVEFORMAT-Struktur .

cbFormat

Größe der Daten, auf die von lpFormat verwiesen wird, in Bytes.

lpParms

Videokompressorspezifische Daten; intern verwendet.

cbParms

Größe der Daten, auf die von lpParms verwiesen wird, in Bytes

dwInterleaveEvery

Interleave factor for interspersing stream data with data from the first stream. Wird nur verwendet, wenn das flag AVICOMPRESSF_INTERLEAVE festgelegt ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile vfw.h

Weitere Informationen

AVIFile-Funktionen und -Makros

AVIFile-Strukturen

AVIMakeCompressedStream

AVISave

AVISaveOptions

mmioFOURCC