Mercurial > mplayer.hg
annotate libmpdemux/ms_hdr.h @ 29564:4ae3d2d7946e
Use MPlayer's standard aspect handling functions in corevideo
instead of reimplementing them incompletely.
author | reimar |
---|---|
date | Tue, 01 Sep 2009 09:36:04 +0000 |
parents | f01023c524c3 |
children | ec7569a7deb1 |
rev | line source |
---|---|
29238
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
29036
diff
changeset
|
1 /* |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
29036
diff
changeset
|
2 * This file is part of MPlayer. |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
29036
diff
changeset
|
3 * |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
29036
diff
changeset
|
4 * MPlayer is free software; you can redistribute it and/or modify |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
29036
diff
changeset
|
5 * it under the terms of the GNU General Public License as published by |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
29036
diff
changeset
|
6 * the Free Software Foundation; either version 2 of the License, or |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
29036
diff
changeset
|
7 * (at your option) any later version. |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
29036
diff
changeset
|
8 * |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
29036
diff
changeset
|
9 * MPlayer is distributed in the hope that it will be useful, |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
29036
diff
changeset
|
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
29036
diff
changeset
|
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
29036
diff
changeset
|
12 * GNU General Public License for more details. |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
29036
diff
changeset
|
13 * |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
29036
diff
changeset
|
14 * You should have received a copy of the GNU General Public License along |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
29036
diff
changeset
|
15 * with MPlayer; if not, write to the Free Software Foundation, Inc., |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
29036
diff
changeset
|
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
29036
diff
changeset
|
17 */ |
d643e4643313
Add standard license header to all files in libmpdemux.
diego
parents:
29036
diff
changeset
|
18 |
26029 | 19 #ifndef MPLAYER_MS_HDR_H |
20 #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
|
21 |
26109
e53dac3c60ee
Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents:
26106
diff
changeset
|
22 #ifndef _WAVEFORMATEX_ |
e53dac3c60ee
Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents:
26106
diff
changeset
|
23 #define _WAVEFORMATEX_ |
e53dac3c60ee
Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents:
26106
diff
changeset
|
24 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
|
25 unsigned short wFormatTag; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
26 unsigned short nChannels; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
27 unsigned int nSamplesPerSec; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
28 unsigned int nAvgBytesPerSec; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
29 unsigned short nBlockAlign; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
30 unsigned short wBitsPerSample; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
31 unsigned short cbSize; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
32 } WAVEFORMATEX, *PWAVEFORMATEX, *NPWAVEFORMATEX, *LPWAVEFORMATEX; |
26109
e53dac3c60ee
Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents:
26106
diff
changeset
|
33 #endif /* _WAVEFORMATEX_ */ |
12341
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
34 |
26109
e53dac3c60ee
Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents:
26106
diff
changeset
|
35 #ifndef _MPEGLAYER3WAVEFORMAT_ |
e53dac3c60ee
Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents:
26106
diff
changeset
|
36 #define _MPEGLAYER3WAVEFORMAT_ |
12341
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
37 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
|
38 WAVEFORMATEX wf; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
39 unsigned short wID; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
40 unsigned int fdwFlags; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
41 unsigned short nBlockSize; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
42 unsigned short nFramesPerBlock; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
43 unsigned short nCodecDelay; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
44 } MPEGLAYER3WAVEFORMAT; |
26109
e53dac3c60ee
Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents:
26106
diff
changeset
|
45 #endif /* _MPEGLAYER3WAVEFORMAT_ */ |
12341
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
46 |
24550 | 47 /* windows.h #includes wingdi.h on MinGW. */ |
29036
69d26a2ce817
Check for _WINGDI_ instead of _WINGDI_H before defining BITMAPINFOHEADER
reimar
parents:
26109
diff
changeset
|
48 #if !defined(_BITMAPINFOHEADER_) && !defined(_WINGDI_) |
26109
e53dac3c60ee
Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents:
26106
diff
changeset
|
49 #define _BITMAPINFOHEADER_ |
12341
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
50 typedef struct __attribute__((__packed__)) |
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 int biSize; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
53 int biWidth; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
54 int biHeight; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
55 short biPlanes; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
56 short biBitCount; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
57 int biCompression; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
58 int biSizeImage; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
59 int biXPelsPerMeter; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
60 int biYPelsPerMeter; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
61 int biClrUsed; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
62 int biClrImportant; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
63 } BITMAPINFOHEADER, *PBITMAPINFOHEADER, *LPBITMAPINFOHEADER; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
64 typedef struct { |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
65 BITMAPINFOHEADER bmiHeader; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
66 int bmiColors[1]; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
67 } BITMAPINFO, *LPBITMAPINFO; |
26109
e53dac3c60ee
Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents:
26106
diff
changeset
|
68 #endif |
12341
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
69 |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
70 #ifndef le2me_BITMAPINFOHEADER |
29401
f01023c524c3
Replace WORDS_BIGENDIAN by HAVE_BIGENDIAN in all internal code.
diego
parents:
29238
diff
changeset
|
71 #if HAVE_BIGENDIAN |
12341
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
72 #define le2me_BITMAPINFOHEADER(h) { \ |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
73 (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
|
74 (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
|
75 (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
|
76 (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
|
77 (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
|
78 (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
|
79 (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
|
80 (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
|
81 (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
|
82 (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
|
83 (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
|
84 } |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
85 #define le2me_WAVEFORMATEX(h) { \ |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
86 (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
|
87 (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
|
88 (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
|
89 (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
|
90 (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
|
91 (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
|
92 (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
|
93 } |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
94 #else |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
95 #define le2me_BITMAPINFOHEADER(h) /**/ |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
96 #define le2me_WAVEFORMATEX(h) /**/ |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
97 #endif |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
98 #endif |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
99 |
26029 | 100 #endif /* MPLAYER_MS_HDR_H */ |