X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libs%2Floader%2Fwine%2Favifmt.h;h=09cf620214cadc0d71f33cf099b90c7aea5d51e4;hb=c12acbd7d48431d7b5029d765e69e87378aca7a2;hp=d8a5e79cde29eb05e2b5dce20d70560dd36f02c0;hpb=6ee1e193fd896ab9a4729fde14f009d9ce629815;p=vlc diff --git a/libs/loader/wine/avifmt.h b/libs/loader/wine/avifmt.h index d8a5e79cde..09cf620214 100644 --- a/libs/loader/wine/avifmt.h +++ b/libs/loader/wine/avifmt.h @@ -3,10 +3,10 @@ * AVIFMT - AVI file format definitions * ****************************************************************************/ -#ifndef AVIFMT +#ifndef AVIFMT #define AVIFMT -#ifndef NOAVIFMT +#ifndef NOAVIFMT #ifndef __WINE_WINDEF_H #include "wine/windef.h" @@ -22,61 +22,61 @@ typedef DWORD FOURCC; #ifdef _MSC_VER #pragma warning(disable:4200) #endif - + /* The following is a short description of the AVI file format. Please * see the accompanying documentation for a full explanation. * * An AVI file is the following RIFF form: * - * RIFF('AVI' - * LIST('hdrl' - * avih() + * RIFF('AVI' + * LIST('hdrl' + * avih() * LIST ('strl' * strh() * strf() * ... additional header data - * LIST('movi' - * { LIST('rec' - * SubChunk... - * ) - * | SubChunk } .... + * LIST('movi' + * { LIST('rec' + * SubChunk... + * ) + * | SubChunk } .... * ) * [ ] * ) * - * The main file header specifies how many streams are present. For - * each one, there must be a stream header chunk and a stream format - * chunk, enlosed in a 'strl' LIST chunk. The 'strf' chunk contains - * type-specific format information; for a video stream, this should - * be a BITMAPINFO structure, including palette. For an audio stream, - * this should be a WAVEFORMAT (or PCMWAVEFORMAT) structure. + * The main file header specifies how many streams are present. For + * each one, there must be a stream header chunk and a stream format + * chunk, enlosed in a 'strl' LIST chunk. The 'strf' chunk contains + * type-specific format information; for a video stream, this should + * be a BITMAPINFO structure, including palette. For an audio stream, + * this should be a WAVEFORMAT (or PCMWAVEFORMAT) structure. * - * The actual data is contained in subchunks within the 'movi' LIST - * chunk. The first two characters of each data chunk are the - * stream number with which that data is associated. + * The actual data is contained in subchunks within the 'movi' LIST + * chunk. The first two characters of each data chunk are the + * stream number with which that data is associated. * - * Some defined chunk types: + * Some defined chunk types: * Video Streams: - * ##db: RGB DIB bits - * ##dc: RLE8 compressed DIB bits - * ##pc: Palette Change + * ##db: RGB DIB bits + * ##dc: RLE8 compressed DIB bits + * ##pc: Palette Change * * Audio Streams: - * ##wb: waveform audio bytes + * ##wb: waveform audio bytes * * The grouping into LIST 'rec' chunks implies only that the contents of * the chunk should be read into memory at the same time. This - * grouping is used for files specifically intended to be played from + * grouping is used for files specifically intended to be played from * CD-ROM. * - * The index chunk at the end of the file should contain one entry for + * The index chunk at the end of the file should contain one entry for * each data chunk in the file. - * + * * Limitations for the current software: - * Only one video stream and one audio stream are allowed. - * The streams must start at the beginning of the file. - * + * Only one video stream and one audio stream are allowed. + * The streams must start at the beginning of the file. * + * * To register codec types please obtain a copy of the Multimedia * Developer Registration Kit from: * @@ -89,9 +89,9 @@ typedef DWORD FOURCC; */ #ifndef mmioFOURCC -#define mmioFOURCC( ch0, ch1, ch2, ch3 ) \ - ( (DWORD)(BYTE)(ch0) | ( (DWORD)(BYTE)(ch1) << 8 ) | \ - ( (DWORD)(BYTE)(ch2) << 16 ) | ( (DWORD)(BYTE)(ch3) << 24 ) ) +#define mmioFOURCC( ch0, ch1, ch2, ch3 ) \ + ( (DWORD)(BYTE)(ch0) | ( (DWORD)(BYTE)(ch1) << 8 ) | \ + ( (DWORD)(BYTE)(ch2) << 16 ) | ( (DWORD)(BYTE)(ch3) << 24 ) ) #endif /* Macro to make a TWOCC out of two characters */ @@ -109,7 +109,7 @@ typedef WORD TWOCC; #define ckidSTREAMHEADER mmioFOURCC('s', 't', 'r', 'h') #define ckidSTREAMFORMAT mmioFOURCC('s', 't', 'r', 'f') #define ckidSTREAMHANDLERDATA mmioFOURCC('s', 't', 'r', 'd') -#define ckidSTREAMNAME mmioFOURCC('s', 't', 'r', 'n') +#define ckidSTREAMNAME mmioFOURCC('s', 't', 'r', 'n') #define listtypeAVIMOVIE mmioFOURCC('m', 'o', 'v', 'i') #define listtypeAVIRECORD mmioFOURCC('r', 'e', 'c', ' ') @@ -121,7 +121,7 @@ typedef WORD TWOCC; */ #define streamtypeVIDEO mmioFOURCC('v', 'i', 'd', 's') #define streamtypeAUDIO mmioFOURCC('a', 'u', 'd', 's') -#define streamtypeMIDI mmioFOURCC('m', 'i', 'd', 's') +#define streamtypeMIDI mmioFOURCC('m', 'i', 'd', 's') #define streamtypeTEXT mmioFOURCC('t', 'x', 't', 's') /* Basic chunk types */ @@ -141,7 +141,7 @@ typedef WORD TWOCC; */ /* Macro to get stream number out of a FOURCC ckid */ -#define FromHex(n) (((n) >= 'A') ? ((n) + 10 - 'A') : ((n) - '0')) +#define FromHex(n) (((n) >= 'A') ? ((n) + 10 - 'A') : ((n) - '0')) #define StreamFromFOURCC(fcc) ((WORD) ((FromHex(LOBYTE(LOWORD(fcc))) << 4) + \ (FromHex(HIBYTE(LOWORD(fcc)))))) @@ -151,75 +151,75 @@ typedef WORD TWOCC; /* Macro to make a ckid for a chunk out of a TWOCC and a stream number ** from 0-255. */ -#define ToHex(n) ((BYTE) (((n) > 9) ? ((n) - 10 + 'A') : ((n) + '0'))) +#define ToHex(n) ((BYTE) (((n) > 9) ? ((n) - 10 + 'A') : ((n) + '0'))) #define MAKEAVICKID(tcc, stream) \ MAKELONG((ToHex((stream) & 0x0f) << 8) | \ - (ToHex(((stream) & 0xf0) >> 4)), tcc) + (ToHex(((stream) & 0xf0) >> 4)), tcc) /* -** Main AVI File Header -*/ - +** Main AVI File Header +*/ + /* flags for use in in AVIFileHdr */ -#define AVIF_HASINDEX 0x00000010 // Index at end of file? -#define AVIF_MUSTUSEINDEX 0x00000020 -#define AVIF_ISINTERLEAVED 0x00000100 -#define AVIF_TRUSTCKTYPE 0x00000800 // Use CKType to find key frames? -#define AVIF_WASCAPTUREFILE 0x00010000 -#define AVIF_COPYRIGHTED 0x00020000 +#define AVIF_HASINDEX 0x00000010 // Index at end of file? +#define AVIF_MUSTUSEINDEX 0x00000020 +#define AVIF_ISINTERLEAVED 0x00000100 +#define AVIF_TRUSTCKTYPE 0x00000800 // Use CKType to find key frames? +#define AVIF_WASCAPTUREFILE 0x00010000 +#define AVIF_COPYRIGHTED 0x00020000 /* The AVI File Header LIST chunk should be padded to this size */ #define AVI_HEADERSIZE 2048 // size of AVI header list typedef struct { - DWORD dwMicroSecPerFrame; // frame display rate (or 0L) - DWORD dwMaxBytesPerSec; // max. transfer rate - DWORD dwPaddingGranularity; // pad to multiples of this + DWORD dwMicroSecPerFrame; // frame display rate (or 0L) + DWORD dwMaxBytesPerSec; // max. transfer rate + DWORD dwPaddingGranularity; // pad to multiples of this // size; normally 2K. - DWORD dwFlags; // the ever-present flags - DWORD dwTotalFrames; // # frames in file - DWORD dwInitialFrames; - DWORD dwStreams; - DWORD dwSuggestedBufferSize; - - DWORD dwWidth; - DWORD dwHeight; - - DWORD dwReserved[4]; + DWORD dwFlags; // the ever-present flags + DWORD dwTotalFrames; // # frames in file + DWORD dwInitialFrames; + DWORD dwStreams; + DWORD dwSuggestedBufferSize; + + DWORD dwWidth; + DWORD dwHeight; + + DWORD dwReserved[4]; } MainAVIHeader; /* ** Stream header */ -#define AVISF_DISABLED 0x00000001 +#define AVISF_DISABLED 0x00000001 -#define AVISF_VIDEO_PALCHANGES 0x00010000 +#define AVISF_VIDEO_PALCHANGES 0x00010000 - + typedef struct { - FOURCC fccType; - FOURCC fccHandler; - DWORD dwFlags; /* Contains AVITF_* flags */ - WORD wPriority; - WORD wLanguage; - DWORD dwInitialFrames; - DWORD dwScale; - DWORD dwRate; /* dwRate / dwScale == samples/second */ - DWORD dwStart; - DWORD dwLength; /* In units above... */ - DWORD dwSuggestedBufferSize; - DWORD dwQuality; - DWORD dwSampleSize; - RECT rcFrame; + FOURCC fccType; + FOURCC fccHandler; + DWORD dwFlags; /* Contains AVITF_* flags */ + WORD wPriority; + WORD wLanguage; + DWORD dwInitialFrames; + DWORD dwScale; + DWORD dwRate; /* dwRate / dwScale == samples/second */ + DWORD dwStart; + DWORD dwLength; /* In units above... */ + DWORD dwSuggestedBufferSize; + DWORD dwQuality; + DWORD dwSampleSize; + RECT rcFrame; } AVIStreamHeader; /* Flags for index */ #define AVIIF_LIST 0x00000001L // chunk is a 'LIST' #define AVIIF_KEYFRAME 0x00000010L // this frame is a key frame. -#define AVIIF_NOTIME 0x00000100L // this frame doesn't take any time +#define AVIIF_NOTIME 0x00000100L // this frame doesn't take any time #define AVIIF_COMPUSE 0x0FFF0000L // these bits are for compressor use #define FOURCC_RIFF mmioFOURCC('R', 'I', 'F', 'F') @@ -227,13 +227,13 @@ typedef struct { typedef struct { - DWORD ckid; - DWORD dwFlags; - DWORD dwChunkOffset; // Position of chunk - DWORD dwChunkLength; // Length of chunk + DWORD ckid; + DWORD dwFlags; + DWORD dwChunkOffset; // Position of chunk + DWORD dwChunkLength; // Length of chunk } AVIINDEXENTRY; -#define AVISTREAMREAD_CONVENIENT (-1L) +#define AVISTREAMREAD_CONVENIENT (-1L) /* ** Palette change chunk