annotate libmpdemux/ms_hdr.h @ 27231:f80855a9d336

Quick hack to fix demux_mov crashes where easily possible.
author reimar
date Fri, 11 Jul 2008 20:22:07 +0000
parents e53dac3c60ee
children 69d26a2ce817
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25535
diff changeset
1 #ifndef MPLAYER_MS_HDR_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25535
diff changeset
2 #define MPLAYER_MS_HDR_H
12341
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
3
26109
e53dac3c60ee Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents: 26106
diff changeset
4 #ifndef _WAVEFORMATEX_
e53dac3c60ee Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents: 26106
diff changeset
5 #define _WAVEFORMATEX_
e53dac3c60ee Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents: 26106
diff changeset
6 typedef struct __attribute__((__packed__)) _WAVEFORMATEX {
12341
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
7 unsigned short wFormatTag;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
8 unsigned short nChannels;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
9 unsigned int nSamplesPerSec;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
10 unsigned int nAvgBytesPerSec;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
11 unsigned short nBlockAlign;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
12 unsigned short wBitsPerSample;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
13 unsigned short cbSize;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
14 } WAVEFORMATEX, *PWAVEFORMATEX, *NPWAVEFORMATEX, *LPWAVEFORMATEX;
26109
e53dac3c60ee Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents: 26106
diff changeset
15 #endif /* _WAVEFORMATEX_ */
12341
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
16
26109
e53dac3c60ee Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents: 26106
diff changeset
17 #ifndef _MPEGLAYER3WAVEFORMAT_
e53dac3c60ee Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents: 26106
diff changeset
18 #define _MPEGLAYER3WAVEFORMAT_
12341
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
19 typedef struct __attribute__((__packed__)) mpeglayer3waveformat_tag {
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
20 WAVEFORMATEX wf;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
21 unsigned short wID;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
22 unsigned int fdwFlags;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
23 unsigned short nBlockSize;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
24 unsigned short nFramesPerBlock;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
25 unsigned short nCodecDelay;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
26 } MPEGLAYER3WAVEFORMAT;
26109
e53dac3c60ee Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents: 26106
diff changeset
27 #endif /* _MPEGLAYER3WAVEFORMAT_ */
12341
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
28
24550
7b874518ea41 Add comment that clears up what _WINGDI_H is for.
diego
parents: 24490
diff changeset
29 /* windows.h #includes wingdi.h on MinGW. */
26109
e53dac3c60ee Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents: 26106
diff changeset
30 #if !defined(_BITMAPINFOHEADER_) && !defined(_WINGDI_H)
e53dac3c60ee Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents: 26106
diff changeset
31 #define _BITMAPINFOHEADER_
12341
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
32 typedef struct __attribute__((__packed__))
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
33 {
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
34 int biSize;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
35 int biWidth;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
36 int biHeight;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
37 short biPlanes;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
38 short biBitCount;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
39 int biCompression;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
40 int biSizeImage;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
41 int biXPelsPerMeter;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
42 int biYPelsPerMeter;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
43 int biClrUsed;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
44 int biClrImportant;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
45 } BITMAPINFOHEADER, *PBITMAPINFOHEADER, *LPBITMAPINFOHEADER;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
46 typedef struct {
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
47 BITMAPINFOHEADER bmiHeader;
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
48 int bmiColors[1];
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
49 } BITMAPINFO, *LPBITMAPINFO;
26109
e53dac3c60ee Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents: 26106
diff changeset
50 #endif
12341
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
51
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
52 #ifndef le2me_BITMAPINFOHEADER
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
53 #ifdef WORDS_BIGENDIAN
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
54 #define le2me_BITMAPINFOHEADER(h) { \
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
55 (h)->biSize = le2me_32((h)->biSize); \
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
56 (h)->biWidth = le2me_32((h)->biWidth); \
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
57 (h)->biHeight = le2me_32((h)->biHeight); \
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
58 (h)->biPlanes = le2me_16((h)->biPlanes); \
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
59 (h)->biBitCount = le2me_16((h)->biBitCount); \
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
60 (h)->biCompression = le2me_32((h)->biCompression); \
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
61 (h)->biSizeImage = le2me_32((h)->biSizeImage); \
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
62 (h)->biXPelsPerMeter = le2me_32((h)->biXPelsPerMeter); \
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
63 (h)->biYPelsPerMeter = le2me_32((h)->biYPelsPerMeter); \
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
64 (h)->biClrUsed = le2me_32((h)->biClrUsed); \
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
65 (h)->biClrImportant = le2me_32((h)->biClrImportant); \
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
66 }
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
67 #define le2me_WAVEFORMATEX(h) { \
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
68 (h)->wFormatTag = le2me_16((h)->wFormatTag); \
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
69 (h)->nChannels = le2me_16((h)->nChannels); \
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
70 (h)->nSamplesPerSec = le2me_32((h)->nSamplesPerSec); \
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
71 (h)->nAvgBytesPerSec = le2me_32((h)->nAvgBytesPerSec); \
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
72 (h)->nBlockAlign = le2me_16((h)->nBlockAlign); \
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
73 (h)->wBitsPerSample = le2me_16((h)->wBitsPerSample); \
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
74 (h)->cbSize = le2me_16((h)->cbSize); \
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
75 }
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
76 #else
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
77 #define le2me_BITMAPINFOHEADER(h) /**/
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
78 #define le2me_WAVEFORMATEX(h) /**/
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
79 #endif
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
80 #endif
0db4a3a5b01d removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff changeset
81
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25535
diff changeset
82 #endif /* MPLAYER_MS_HDR_H */