Mercurial > mplayer.hg
annotate libao2/afmt.h @ 14187:19589e978000
10l fix I hope, reverse if not
author | alex |
---|---|
date | Sun, 19 Dec 2004 16:53:26 +0000 |
parents | a92101a7eb49 |
children |
rev | line source |
---|---|
1058 | 1 |
2 /* Defines that AFMT_ stuff */ | |
3 | |
4 #ifdef HAVE_SYS_SOUNDCARD_H | |
5 #include <sys/soundcard.h> /* For AFMT_* on linux */ | |
5872 | 6 #else |
7 #ifdef HAVE_SOUNDCARD_H | |
8 #include <soundcard.h> /* OpenBSD have this instead of <sys/soundcard> */ | |
9 #endif | |
1058 | 10 #endif |
11 | |
14123 | 12 #include "config.h" /* for native endianness */ |
8741
46d21c0f36aa
(nicer) endianness fix for every plugin except pl_format
colin
parents:
8222
diff
changeset
|
13 |
1058 | 14 /* standard, old OSS audio formats */ |
15 #ifndef AFMT_MU_LAW | |
16 # define AFMT_MU_LAW 0x00000001 | |
17 # define AFMT_A_LAW 0x00000002 | |
18 # define AFMT_IMA_ADPCM 0x00000004 | |
19 # define AFMT_U8 0x00000008 | |
20 # define AFMT_S16_LE 0x00000010 /* Little endian signed 16*/ | |
21 # define AFMT_S16_BE 0x00000020 /* Big endian signed 16 */ | |
22 # define AFMT_S8 0x00000040 | |
23 # define AFMT_U16_LE 0x00000080 /* Little endian U16 */ | |
24 # define AFMT_U16_BE 0x00000100 /* Big endian U16 */ | |
25 #endif | |
26 | |
27 #ifndef AFMT_MPEG | |
28 # define AFMT_MPEG 0x00000200 /* MPEG (2) audio */ | |
29 #endif | |
30 | |
31 #ifndef AFMT_AC3 | |
32 # define AFMT_AC3 0x00000400 /* Dolby Digital AC3 */ | |
33 #endif | |
34 | |
13548
661718721c92
introducing 24bit formats and make the values compliant to OSS
alex
parents:
12478
diff
changeset
|
35 /* 24 bit formats from the linux kernel */ |
661718721c92
introducing 24bit formats and make the values compliant to OSS
alex
parents:
12478
diff
changeset
|
36 #ifndef AFMT_S24_LE |
13741 | 37 |
38 // FreeBSD fix... | |
39 #if AFMT_S32_LE == 0x1000 | |
40 | |
41 #define AFMT_S24_LE 0x00010000 | |
42 #define AFMT_S24_BE 0x00020000 | |
43 #define AFMT_U24_LE 0x00040000 | |
44 #define AFMT_U24_BE 0x00080000 | |
45 | |
46 #else | |
47 | |
13548
661718721c92
introducing 24bit formats and make the values compliant to OSS
alex
parents:
12478
diff
changeset
|
48 #define AFMT_S24_LE 0x00000800 |
661718721c92
introducing 24bit formats and make the values compliant to OSS
alex
parents:
12478
diff
changeset
|
49 #define AFMT_S24_BE 0x00001000 |
661718721c92
introducing 24bit formats and make the values compliant to OSS
alex
parents:
12478
diff
changeset
|
50 #define AFMT_U24_LE 0x00002000 |
661718721c92
introducing 24bit formats and make the values compliant to OSS
alex
parents:
12478
diff
changeset
|
51 #define AFMT_U24_BE 0x00004000 |
13741 | 52 |
53 #endif | |
54 | |
1058 | 55 #endif |
56 | |
13548
661718721c92
introducing 24bit formats and make the values compliant to OSS
alex
parents:
12478
diff
changeset
|
57 /* 32 bit formats from the linux kernel */ |
661718721c92
introducing 24bit formats and make the values compliant to OSS
alex
parents:
12478
diff
changeset
|
58 #ifndef AFMT_S32_LE |
661718721c92
introducing 24bit formats and make the values compliant to OSS
alex
parents:
12478
diff
changeset
|
59 #define AFMT_S32_LE 0x00008000 |
661718721c92
introducing 24bit formats and make the values compliant to OSS
alex
parents:
12478
diff
changeset
|
60 #define AFMT_S32_BE 0x00010000 |
661718721c92
introducing 24bit formats and make the values compliant to OSS
alex
parents:
12478
diff
changeset
|
61 #define AFMT_U32_LE 0x00020000 |
661718721c92
introducing 24bit formats and make the values compliant to OSS
alex
parents:
12478
diff
changeset
|
62 #define AFMT_U32_BE 0x00040000 |
661718721c92
introducing 24bit formats and make the values compliant to OSS
alex
parents:
12478
diff
changeset
|
63 #endif |
7719
41e8d0916c60
Fix for audio filters on big endian cpus. It's working now on Solaris SPARC &
jkeil
parents:
5872
diff
changeset
|
64 |
41e8d0916c60
Fix for audio filters on big endian cpus. It's working now on Solaris SPARC &
jkeil
parents:
5872
diff
changeset
|
65 /* native endian formats */ |
41e8d0916c60
Fix for audio filters on big endian cpus. It's working now on Solaris SPARC &
jkeil
parents:
5872
diff
changeset
|
66 #ifndef AFMT_S16_NE |
41e8d0916c60
Fix for audio filters on big endian cpus. It's working now on Solaris SPARC &
jkeil
parents:
5872
diff
changeset
|
67 # if WORDS_BIGENDIAN |
41e8d0916c60
Fix for audio filters on big endian cpus. It's working now on Solaris SPARC &
jkeil
parents:
5872
diff
changeset
|
68 # define AFMT_S16_NE AFMT_S16_BE |
13548
661718721c92
introducing 24bit formats and make the values compliant to OSS
alex
parents:
12478
diff
changeset
|
69 # define AFMT_S24_NE AFMT_S24_BE |
7719
41e8d0916c60
Fix for audio filters on big endian cpus. It's working now on Solaris SPARC &
jkeil
parents:
5872
diff
changeset
|
70 # define AFMT_S32_NE AFMT_S32_BE |
41e8d0916c60
Fix for audio filters on big endian cpus. It's working now on Solaris SPARC &
jkeil
parents:
5872
diff
changeset
|
71 # else |
41e8d0916c60
Fix for audio filters on big endian cpus. It's working now on Solaris SPARC &
jkeil
parents:
5872
diff
changeset
|
72 # define AFMT_S16_NE AFMT_S16_LE |
13548
661718721c92
introducing 24bit formats and make the values compliant to OSS
alex
parents:
12478
diff
changeset
|
73 # define AFMT_S24_NE AFMT_S24_LE |
7719
41e8d0916c60
Fix for audio filters on big endian cpus. It's working now on Solaris SPARC &
jkeil
parents:
5872
diff
changeset
|
74 # define AFMT_S32_NE AFMT_S32_LE |
41e8d0916c60
Fix for audio filters on big endian cpus. It's working now on Solaris SPARC &
jkeil
parents:
5872
diff
changeset
|
75 # endif |
41e8d0916c60
Fix for audio filters on big endian cpus. It's working now on Solaris SPARC &
jkeil
parents:
5872
diff
changeset
|
76 #endif |
8222 | 77 |
78 #ifndef AFMT_FLOAT | |
13548
661718721c92
introducing 24bit formats and make the values compliant to OSS
alex
parents:
12478
diff
changeset
|
79 # define AFMT_FLOAT 0x00100000 |
8222 | 80 #endif |
12478 | 81 |
82 /* for formats that don't have a corresponding AFMT_* type, | |
83 * use the flags from libaf/af_format.h or'ed with this */ | |
84 #define AFMT_AF_FLAGS 0x70000000 |