Mercurial > mplayer.hg
annotate libmpdemux/ms_hdr.h @ 22199:cc89992b27a3
demuxers must ignore unknown lang/country codes, it seems we all agree that this should be stated clearly
it follows from the fact that new language and country codes are added to the ISO standards from time to time
and that a compliant demuxer must not reject a valid file which uses such a new code which was not know when
the demuxer was written
author | michael |
---|---|
date | Wed, 14 Feb 2007 12:29:09 +0000 |
parents | 6f18105c058a |
children | 20673742a6e7 |
rev | line source |
---|---|
12341
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
1 #ifndef __MS_HEADER_H |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
2 #define __MS_HEADER_H 1 |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
3 |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
4 #ifndef _WAVEFORMATEX_ |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
5 #define _WAVEFORMATEX_ |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
6 typedef struct __attribute__((__packed__)) _WAVEFORMATEX { |
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; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
15 #endif /* _WAVEFORMATEX_ */ |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
16 |
12979
6f18105c058a
Better protection against double definition of MPEGLAYER3WAVEFORMAT
wight
parents:
12341
diff
changeset
|
17 #ifndef _MPEGLAYER3WAVEFORMAT_ |
6f18105c058a
Better protection against double definition of MPEGLAYER3WAVEFORMAT
wight
parents:
12341
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; |
12979
6f18105c058a
Better protection against double definition of MPEGLAYER3WAVEFORMAT
wight
parents:
12341
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 |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
29 #if !defined(_BITMAPINFOHEADER_) && !defined(_WINGDI_H) |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
30 #define _BITMAPINFOHEADER_ |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
31 typedef struct __attribute__((__packed__)) |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
32 { |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
33 int biSize; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
34 int biWidth; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
35 int biHeight; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
36 short biPlanes; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
37 short biBitCount; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
38 int biCompression; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
39 int biSizeImage; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
40 int biXPelsPerMeter; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
41 int biYPelsPerMeter; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
42 int biClrUsed; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
43 int biClrImportant; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
44 } BITMAPINFOHEADER, *PBITMAPINFOHEADER, *LPBITMAPINFOHEADER; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
45 typedef struct { |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
46 BITMAPINFOHEADER bmiHeader; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
47 int bmiColors[1]; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
48 } BITMAPINFO, *LPBITMAPINFO; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
49 #endif |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
50 |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
51 #ifndef le2me_BITMAPINFOHEADER |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
52 #ifdef WORDS_BIGENDIAN |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
53 #define le2me_BITMAPINFOHEADER(h) { \ |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
54 (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
|
55 (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
|
56 (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
|
57 (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
|
58 (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
|
59 (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
|
60 (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
|
61 (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
|
62 (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
|
63 (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
|
64 (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
|
65 } |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
66 #define le2me_WAVEFORMATEX(h) { \ |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
67 (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
|
68 (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
|
69 (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
|
70 (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
|
71 (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
|
72 (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
|
73 (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
|
74 } |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
75 #else |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
76 #define le2me_BITMAPINFOHEADER(h) /**/ |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
77 #define le2me_WAVEFORMATEX(h) /**/ |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
78 #endif |
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 |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
81 #endif |