Mercurial > mplayer.hg
annotate libmpdemux/ms_hdr.h @ 36782:06344efeded3
configure: improve FFmpeg check.
If internal FFmpeg is not available we should fall back to
external automatically instead of trying to build without
(which is currently broken it seems).
Also we can compile without internal copy as long as the
necessary headers can be found.
Two are required that FFmpeg does not install:
libavformat/internal.h
libavutil/x86/asm.h
author | reimar |
---|---|
date | Mon, 17 Feb 2014 23:25:32 +0000 |
parents | 6ca16928b1cc |
children |
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 |
30575
ec7569a7deb1
Add config.h header #include; it is required for the HAVE_BIGENDIAN check.
diego
parents:
29401
diff
changeset
|
22 #include "config.h" |
ec7569a7deb1
Add config.h header #include; it is required for the HAVE_BIGENDIAN check.
diego
parents:
29401
diff
changeset
|
23 |
26109
e53dac3c60ee
Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents:
26106
diff
changeset
|
24 #ifndef _WAVEFORMATEX_ |
e53dac3c60ee
Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents:
26106
diff
changeset
|
25 #define _WAVEFORMATEX_ |
e53dac3c60ee
Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents:
26106
diff
changeset
|
26 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
|
27 unsigned short wFormatTag; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
28 unsigned short nChannels; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
29 unsigned int nSamplesPerSec; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
30 unsigned int nAvgBytesPerSec; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
31 unsigned short nBlockAlign; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
32 unsigned short wBitsPerSample; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
33 unsigned short cbSize; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
34 } WAVEFORMATEX, *PWAVEFORMATEX, *NPWAVEFORMATEX, *LPWAVEFORMATEX; |
26109
e53dac3c60ee
Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents:
26106
diff
changeset
|
35 #endif /* _WAVEFORMATEX_ */ |
12341
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
36 |
30667
6ca16928b1cc
Get the proper codec id when a WAVE_FORMAT_EXTENSIBLE extension exists in a
tack
parents:
30575
diff
changeset
|
37 #ifndef _WAVEFORMATEXTENSIBLE_ |
6ca16928b1cc
Get the proper codec id when a WAVE_FORMAT_EXTENSIBLE extension exists in a
tack
parents:
30575
diff
changeset
|
38 #define _WAVEFORMATEXTENSIBLE_ |
6ca16928b1cc
Get the proper codec id when a WAVE_FORMAT_EXTENSIBLE extension exists in a
tack
parents:
30575
diff
changeset
|
39 typedef struct __attribute__((__packed__)) _WAVEFORMATEXTENSIBLE { |
6ca16928b1cc
Get the proper codec id when a WAVE_FORMAT_EXTENSIBLE extension exists in a
tack
parents:
30575
diff
changeset
|
40 WAVEFORMATEX wf; |
6ca16928b1cc
Get the proper codec id when a WAVE_FORMAT_EXTENSIBLE extension exists in a
tack
parents:
30575
diff
changeset
|
41 unsigned short wValidBitsPerSample; |
6ca16928b1cc
Get the proper codec id when a WAVE_FORMAT_EXTENSIBLE extension exists in a
tack
parents:
30575
diff
changeset
|
42 unsigned int dwChannelMask; |
6ca16928b1cc
Get the proper codec id when a WAVE_FORMAT_EXTENSIBLE extension exists in a
tack
parents:
30575
diff
changeset
|
43 unsigned int SubFormat; // Only interested in first 32 bits of guid |
6ca16928b1cc
Get the proper codec id when a WAVE_FORMAT_EXTENSIBLE extension exists in a
tack
parents:
30575
diff
changeset
|
44 unsigned int _guid_remainder[3]; |
6ca16928b1cc
Get the proper codec id when a WAVE_FORMAT_EXTENSIBLE extension exists in a
tack
parents:
30575
diff
changeset
|
45 } WAVEFORMATEXTENSIBLE; |
6ca16928b1cc
Get the proper codec id when a WAVE_FORMAT_EXTENSIBLE extension exists in a
tack
parents:
30575
diff
changeset
|
46 #endif /* _WAVEFORMATEXTENSIBLE_ */ |
6ca16928b1cc
Get the proper codec id when a WAVE_FORMAT_EXTENSIBLE extension exists in a
tack
parents:
30575
diff
changeset
|
47 |
26109
e53dac3c60ee
Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents:
26106
diff
changeset
|
48 #ifndef _MPEGLAYER3WAVEFORMAT_ |
e53dac3c60ee
Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents:
26106
diff
changeset
|
49 #define _MPEGLAYER3WAVEFORMAT_ |
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__)) mpeglayer3waveformat_tag { |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
51 WAVEFORMATEX wf; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
52 unsigned short wID; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
53 unsigned int fdwFlags; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
54 unsigned short nBlockSize; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
55 unsigned short nFramesPerBlock; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
56 unsigned short nCodecDelay; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
57 } MPEGLAYER3WAVEFORMAT; |
26109
e53dac3c60ee
Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents:
26106
diff
changeset
|
58 #endif /* _MPEGLAYER3WAVEFORMAT_ */ |
12341
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
59 |
24550 | 60 /* windows.h #includes wingdi.h on MinGW. */ |
29036
69d26a2ce817
Check for _WINGDI_ instead of _WINGDI_H before defining BITMAPINFOHEADER
reimar
parents:
26109
diff
changeset
|
61 #if !defined(_BITMAPINFOHEADER_) && !defined(_WINGDI_) |
26109
e53dac3c60ee
Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents:
26106
diff
changeset
|
62 #define _BITMAPINFOHEADER_ |
12341
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
63 typedef struct __attribute__((__packed__)) |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
64 { |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
65 int biSize; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
66 int biWidth; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
67 int biHeight; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
68 short biPlanes; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
69 short biBitCount; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
70 int biCompression; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
71 int biSizeImage; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
72 int biXPelsPerMeter; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
73 int biYPelsPerMeter; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
74 int biClrUsed; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
75 int biClrImportant; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
76 } BITMAPINFOHEADER, *PBITMAPINFOHEADER, *LPBITMAPINFOHEADER; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
77 typedef struct { |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
78 BITMAPINFOHEADER bmiHeader; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
79 int bmiColors[1]; |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
80 } BITMAPINFO, *LPBITMAPINFO; |
26109
e53dac3c60ee
Revert fixing illegal identifiers to fix compilation on MinGW. Unfortunately
diego
parents:
26106
diff
changeset
|
81 #endif |
12341
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
82 |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
83 #ifndef le2me_BITMAPINFOHEADER |
29401
f01023c524c3
Replace WORDS_BIGENDIAN by HAVE_BIGENDIAN in all internal code.
diego
parents:
29238
diff
changeset
|
84 #if HAVE_BIGENDIAN |
12341
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
85 #define le2me_BITMAPINFOHEADER(h) { \ |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
86 (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
|
87 (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
|
88 (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
|
89 (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
|
90 (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
|
91 (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
|
92 (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
|
93 (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
|
94 (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
|
95 (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
|
96 (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
|
97 } |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
98 #define le2me_WAVEFORMATEX(h) { \ |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
99 (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
|
100 (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
|
101 (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
|
102 (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
|
103 (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
|
104 (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
|
105 (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
|
106 } |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
107 #else |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
108 #define le2me_BITMAPINFOHEADER(h) /**/ |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
109 #define le2me_WAVEFORMATEX(h) /**/ |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
110 #endif |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
111 #endif |
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
diff
changeset
|
112 |
26029 | 113 #endif /* MPLAYER_MS_HDR_H */ |