Die zum 'strh' Chunk gehörige Struktur


next up gif
Next: Der LIST 'movi' Up: Der AVIStreamHeader Chunk Previous: Der AVIStreamHeader Chunk

Die zum 'strh' Chunk gehörige Struktur

typedef struct 	{
                 FOURCC fccType;
                 FOURCC fccHandler;
                 FOURCC dwFlags;
                 FOURCC dwReserved1;
                 FOURCC dwInitialFrames;
                 FOURCC dwScale;
                 FOURCC dwRate;
                 FOURCC dwStart;
                 FOURCC dwLength;
                 FOURCC dwSuggestedBufferSize;
                 FOURCC dwQuality;
                 FOURCC dwSampleSize;
                } AVIStreamHeader;
Die übriggebliebenen Felder beschreiben die Playbackcharakteristiken des Streams. Darin enthalten sind die Playbackrate (dwScale und dwRate), die Startzeit einer Sequenz (dwStart), die Länge einer Sequenz (dwLenth), die Größe des Playbackpuffers (dwSuggestedBufferSize), einen Indikator für die Datenqualität (dwQuality) und die Sampelgröße (dwSampleSize).

Einige der Felder in der Streamheader-Struktur sind auch in der Mainheader-Struktur zu finden. Der Unterschied zwischen den beiden Vorkommen ist, daß die Daten im Mainheader für die gesamte Datei verwendet werden, wobei die Elemente im Streamheader einzig für den für sie zuständigen Stream Gültigkeit haben.

Ein Stream Format Chunk ('strf') muß einem Stream Header Chunk ('strh') folgen. Der Stream Format Chunk beschreibt das Format der Daten innerhalb eines Streams. Für Video Streams ist die Information im Chunk eine BITMAPINFO-Struktur (wenn benötigt sind hier auch Paletteninformationen enthalten). Für Audio Streams steht hier eine Struktur genannt WAVEFORMATEX oder PCMWAVEFORMAT. (Die WAVEFORMATEX-Struktur ist eine erweiterte Version der WAVEFORMAT-Struktur. )

Der 'strl' Chunk kann noch einen Stream Data Chunk ('strd') enthalten. Wenn benötigt, folgt dieser dem Stream Format Chunk. Das Format dieses Chunks ist definiert durch installierbare Kompressor-und Dekompressorteiber. Typischerweise benutzen Treiber diese Information zur Konfigurierung. Applikationen, die RIFF Dateien lesen und schreiben, müssen diese Information nicht decodieren, sie transferieren die Daten von und zu einem Treiber wie einen Memoryblock.

Ein AVI-Player verbindet Stream Header im LIST 'hdrl' Chunk mit den Stream Daten im LIST 'movi' Chunk unter Benutzung der Informationen des 'strl' Chunks. Der erste 'strl' Chunk bezieht sich auf Stream null, der zweite auf Stream eins usw. Beschreibt zum Beispiel der erste 'strl' Chunk Wave Audio Daten liegen diese Daten im Stream null.


next up gif
Next: Der LIST 'movi' Up: Der AVIStreamHeader Chunk Previous: Der AVIStreamHeader Chunk



Alexander Weiß
Tue May 2 13:54:32 MET DST 1995