summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/Graphics/shaderlib/wine/include/aviriff.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/Devices/Graphics/shaderlib/wine/include/aviriff.h')
-rw-r--r--src/VBox/Devices/Graphics/shaderlib/wine/include/aviriff.h333
1 files changed, 333 insertions, 0 deletions
diff --git a/src/VBox/Devices/Graphics/shaderlib/wine/include/aviriff.h b/src/VBox/Devices/Graphics/shaderlib/wine/include/aviriff.h
new file mode 100644
index 00000000..59439efe
--- /dev/null
+++ b/src/VBox/Devices/Graphics/shaderlib/wine/include/aviriff.h
@@ -0,0 +1,333 @@
+/*
+ * Copyright (C) 2003 Robert Shearman
+ * Copyright (C) 2008 Maarten Lankhorst
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+/*
+ * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
+ * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
+ * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
+ * a choice of LGPL license versions is made available with the language indicating
+ * that LGPLv2 or any later version may be used, or where a choice of which version
+ * of the LGPL is applied is otherwise unspecified.
+ */
+
+/* All definitions here are packed structures of on-disk formats */
+#include <pshpack2.h>
+
+typedef struct _riffchunk
+{
+ FOURCC fcc;
+ DWORD cb;
+} RIFFCHUNK, * LPRIFFCHUNK;
+
+typedef struct _rifflist
+{
+ FOURCC fcc;
+ DWORD cb;
+ FOURCC fccListType;
+} RIFFLIST, * LPRIFFLIST;
+
+#define FCC( ch0, ch1, ch2, ch3 ) \
+ ( (DWORD)(BYTE)(ch0) | ( (DWORD)(BYTE)(ch1) << 8 ) | \
+ ( (DWORD)(BYTE)(ch2) << 16 ) | ( (DWORD)(BYTE)(ch3) << 24 ) )
+
+#define RIFFROUND(cb) ((cb) + ((cb)&1))
+#define RIFFNEXT(pChunk) (LPRIFFCHUNK)((LPBYTE)(pChunk)+sizeof(RIFFCHUNK)+RIFFROUND(((LPRIFFCHUNK)pChunk)->cb))
+
+/* flags for dwFlags member of AVIMAINHEADER */
+#define AVIF_HASINDEX 0x00000010
+#define AVIF_MUSTUSEINDEX 0x00000020
+#define AVIF_ISINTERLEAVED 0x00000100
+#define AVIF_TRUSTCKTYPE 0x00000800
+#define AVIF_WASCAPTUREFILE 0x00010000
+#define AVIF_COPYRIGHTED 0x00020000
+
+#define ckidMAINAVIHEADER FCC('a','v','i','h')
+typedef struct _avimainheader
+{
+ FOURCC fcc;
+ DWORD cb;
+ DWORD dwMicroSecPerFrame;
+ DWORD dwMaxBytesPerSec;
+ DWORD dwPaddingGranularity;
+ DWORD dwFlags;
+ DWORD dwTotalFrames;
+ DWORD dwInitialFrames;
+ DWORD dwStreams;
+ DWORD dwSuggestedBufferSize;
+ DWORD dwWidth;
+ DWORD dwHeight;
+ DWORD dwReserved[4];
+} AVIMAINHEADER;
+
+#define ckidODML FCC('o','d','m','l')
+#define ckidAVIEXTHEADER FCC('d','m','l','h')
+typedef struct _aviextheader
+{
+ FOURCC fcc;
+ DWORD cb;
+ DWORD dwGrandFrames;
+ DWORD dwFuture[61];
+} AVIEXTHEADER;
+
+#define ckidSTREAMLIST FCC('s','t','r','l')
+
+/* flags for dwFlags member of AVISTREAMHEADER */
+#define AVISF_DISABLED 0x00000001
+#define AVISF_VIDEO_PALCHANGES 0x00010000
+
+#ifndef ckidSTREAMHEADER
+#define ckidSTREAMHEADER FCC('s','t','r','h')
+#endif
+
+#ifndef streamtypeVIDEO
+#define streamtypeVIDEO FCC('v','i','d','s')
+#define streamtypeAUDIO FCC('a','u','d','s')
+#define streamtypeMIDI FCC('m','i','d','s')
+#define streamtypeTEXT FCC('t','x','t','s')
+#endif
+
+typedef struct _avistreamheader
+{
+ FOURCC fcc;
+ DWORD cb;
+ FOURCC fccType;
+ FOURCC fccHandler;
+ DWORD dwFlags;
+ WORD wPriority;
+ WORD wLanguage;
+ DWORD dwInitialFrames;
+ DWORD dwScale;
+ DWORD dwRate;
+ DWORD dwStart;
+ DWORD dwLength;
+ DWORD dwSuggestedBufferSize;
+ DWORD dwQuality;
+ DWORD dwSampleSize;
+ struct
+ {
+ short int left;
+ short int top;
+ short int right;
+ short int bottom;
+ } rcFrame;
+} AVISTREAMHEADER;
+
+#ifndef ckidSTREAMFORMAT
+#define ckidSTREAMFORMAT FCC('s','t','r','f')
+#endif
+#define ckidAVIOLDINDEX FCC('i','d','x','1')
+
+/* flags for dwFlags member of _avioldindex_entry */
+#define AVIIF_LIST 0x00000001
+#define AVIIF_KEYFRAME 0x00000010
+#define AVIIF_NO_TIME 0x00000100
+#define AVIIF_COMPRESSOR 0x0FFF0000
+
+typedef struct _avioldindex
+{
+ FOURCC fcc;
+ DWORD cb;
+ struct _avioldindex_entry
+ {
+ DWORD dwChunkId;
+ DWORD dwFlags;
+ DWORD dwOffset;
+ DWORD dwSize;
+ } aIndex[ANYSIZE_ARRAY];
+} AVIOLDINDEX;
+
+typedef union _timecode
+{
+ struct
+ {
+ WORD wFrameRate;
+ WORD wFrameFract;
+ LONG cFrames;
+ } DUMMYSTRUCTNAME;
+ DWORDLONG qw;
+} TIMECODE;
+
+#define TIMECODE_RATE_30DROP 0
+
+/* flags for dwSMPTEflags member of TIMECODEDATA */
+#define TIMECODE_SMPTE_BINARY_GROUP 0x07
+#define TIMECODE_SMPTE_COLOR_FRAME 0x08
+
+typedef struct _timecodedata
+{
+ TIMECODE time;
+ DWORD dwSMPTEflags;
+ DWORD dwUser;
+} TIMECODEDATA;
+
+#define AVI_INDEX_OF_INDEXES 0x00
+#define AVI_INDEX_OF_CHUNKS 0x01
+#define AVI_INDEX_OF_TIMED_CHUNKS 0x02
+#define AVI_INDEX_OF_SUB_2FIELD 0x03
+#define AVI_INDEX_IS_DATA 0x80
+
+#define AVI_INDEX_SUB_DEFAULT 0x00
+#define AVI_INDEX_SUB_2FIELD 0x01
+
+typedef struct _avimetaindex
+{
+ FOURCC fcc;
+ UINT cb;
+ WORD wLongsPerEntry;
+ BYTE bIndexSubType;
+ BYTE bIndexType;
+ DWORD nEntriesInUse;
+ DWORD dwChunkId;
+ DWORD dwReserved[3];
+ DWORD adwIndex[ANYSIZE_ARRAY];
+} AVIMETAINDEX;
+
+#define ckidAVISUPERINDEX FCC('i','n','d','x')
+typedef struct _avisuperindex {
+ FOURCC fcc;
+ UINT cb;
+ WORD wLongsPerEntry;
+ BYTE bIndexSubType;
+ BYTE bIndexType;
+ DWORD nEntriesInUse;
+ DWORD dwChunkId;
+ DWORD dwReserved[3];
+ struct _avisuperindex_entry {
+ DWORDLONG qwOffset;
+ DWORD dwSize;
+ DWORD dwDuration;
+ } aIndex[ANYSIZE_ARRAY];
+} AVISUPERINDEX;
+
+#define AVISTDINDEX_DELTAFRAME (0x80000000)
+#define AVISTDINDEX_SIZEMASK (~0x80000000)
+
+typedef struct _avistdindex_entry {
+ DWORD dwOffset;
+ DWORD dwSize;
+} AVISTDINDEX_ENTRY;
+
+typedef struct _avistdindex {
+ FOURCC fcc;
+ UINT cb;
+ WORD wLongsPerEntry;
+ BYTE bIndexSubType;
+ BYTE bIndexType;
+ DWORD nEntriesInUse;
+ DWORD dwChunkId;
+ DWORDLONG qwBaseOffset;
+ DWORD dwReserved_3;
+ AVISTDINDEX_ENTRY aIndex[ANYSIZE_ARRAY];
+} AVISTDINDEX;
+
+typedef struct _avitimedindex_entry {
+ DWORD dwOffset;
+ DWORD dwSize;
+ DWORD dwDuration;
+} AVITIMEDINDEX_ENTRY;
+
+typedef struct _avitimedindex {
+ FOURCC fcc;
+ UINT cb;
+ WORD wLongsPerEntry;
+ BYTE bIndexSubType;
+ BYTE bIndexType;
+ DWORD nEntriesInUse;
+ DWORD dwChunkId;
+ DWORDLONG qwBaseOffset;
+ DWORD dwReserved_3;
+ AVITIMEDINDEX_ENTRY aIndex[ANYSIZE_ARRAY];
+ /* DWORD adwTrailingFill[ANYSIZE_ARRAY]; */
+} AVITIMEDINDEX;
+
+typedef struct _avitimecodeindex {
+ FOURCC fcc;
+ UINT cb;
+ WORD wLongsPerEntry;
+ BYTE bIndexSubType;
+ BYTE bIndexType;
+ DWORD nEntriesInUse;
+ DWORD dwChunkId;
+ DWORD dwReserved[3];
+ TIMECODEDATA aIndex[ANYSIZE_ARRAY];
+} AVITIMECODEINDEX;
+
+typedef struct _avitcdlindex_entryA {
+ DWORD dwTick;
+ TIMECODE time;
+ DWORD dwSMPTEflags;
+ DWORD dwUser;
+ CHAR szReelId[12];
+} AVITCDLINDEX_ENTRYA;
+
+typedef struct _avitcdlindex_entryW {
+ DWORD dwTick;
+ TIMECODE time;
+ DWORD dwSMPTEflags;
+ DWORD dwUser;
+ WCHAR szReelId[12];
+} AVITCDLINDEX_ENTRYW;
+
+typedef struct _avitcdlindexA {
+ FOURCC fcc;
+ UINT cb;
+ WORD wLongsPerEntry;
+ BYTE bIndexSubType;
+ BYTE bIndexType;
+ DWORD nEntriesInUse;
+ DWORD dwChunkId;
+ DWORD dwReserved[3];
+ AVITCDLINDEX_ENTRYA aIndex[ANYSIZE_ARRAY];
+ /* DWORD adwTrailingFill[ANYSIZE_ARRAY]; */
+} AVITCDLINDEXA;
+
+typedef struct _avitcdlindexW {
+ FOURCC fcc;
+ UINT cb;
+ WORD wLongsPerEntry;
+ BYTE bIndexSubType;
+ BYTE bIndexType;
+ DWORD nEntriesInUse;
+ DWORD dwChunkId;
+ DWORD dwReserved[3];
+ AVITCDLINDEX_ENTRYW aIndex[ANYSIZE_ARRAY];
+ /* DWORD adwTrailingFill[ANYSIZE_ARRAY]; */
+} AVITCDLINDEXW;
+
+#define AVITCDLINDEX_ENTRY WINELIB_NAME_AW(AVITCDLINDEX_ENTRY)
+#define AVITCDLINDEX WINELIB_NAME_AW(AVITCDLINDEX)
+
+typedef struct _avifieldindex_chunk {
+ FOURCC fcc;
+ DWORD cb;
+ WORD wLongsPerEntry;
+ BYTE bIndexSubType;
+ BYTE bIndexType;
+ DWORD nEntriesInUse;
+ DWORD dwChunkId;
+ DWORDLONG qwBaseOffset;
+ DWORD dwReserved3;
+ struct _avifieldindex_entry {
+ DWORD dwOffset;
+ DWORD dwSize;
+ DWORD dwOffsetField2;
+ } aIndex[ANYSIZE_ARRAY];
+} AVIFIELDINDEX, * PAVIFIELDINDEX;
+
+#include <poppack.h>