Mercurial > mplayer.hg
annotate libmpcodecs/ad.c @ 31488:4b738166e825
Add libvo/sub.h #include instead of declaring sub_visibility extern.
author | diego |
---|---|
date | Thu, 24 Jun 2010 16:50:47 +0000 |
parents | 002cdc635c03 |
children | 083786e4aaf2 |
rev | line source |
---|---|
30421
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
1 /* |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
2 * audio decoder interface |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
3 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
4 * This file is part of MPlayer. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
5 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
6 * MPlayer is free software; you can redistribute it and/or modify |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
7 * it under the terms of the GNU General Public License as published by |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
8 * the Free Software Foundation; either version 2 of the License, or |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
9 * (at your option) any later version. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
10 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
11 * MPlayer is distributed in the hope that it will be useful, |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
14 * GNU General Public License for more details. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
15 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
16 * You should have received a copy of the GNU General Public License along |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
17 * with MPlayer; if not, write to the Free Software Foundation, Inc., |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
19 */ |
5344 | 20 |
21 #include <stdio.h> | |
22 #include <stdlib.h> | |
23 #include <string.h> | |
24 | |
25 #include "config.h" | |
26 | |
22599
4faee1254928
Add explicit location for headers from the stream/ directory.
diego
parents:
18765
diff
changeset
|
27 #include "stream/stream.h" |
22601
ed8f90096c65
Add explicit location for headers from the libmpdemux/ directory.
diego
parents:
22599
diff
changeset
|
28 #include "libmpdemux/demuxer.h" |
ed8f90096c65
Add explicit location for headers from the libmpdemux/ directory.
diego
parents:
22599
diff
changeset
|
29 #include "libmpdemux/stheader.h" |
5344 | 30 #include "ad.h" |
31 | |
31220
002cdc635c03
Use the -a52drc option also for the libavcodec decoder.
reimar
parents:
30634
diff
changeset
|
32 float drc_level = 1.0; |
002cdc635c03
Use the -a52drc option also for the libavcodec decoder.
reimar
parents:
30634
diff
changeset
|
33 |
5344 | 34 /* Missed vorbis, mad, dshow */ |
35 | |
36 //extern ad_functions_t mpcodecs_ad_null; | |
30634
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
37 extern const ad_functions_t mpcodecs_ad_mp3lib; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
38 extern const ad_functions_t mpcodecs_ad_ffmpeg; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
39 extern const ad_functions_t mpcodecs_ad_liba52; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
40 extern const ad_functions_t mpcodecs_ad_hwac3; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
41 extern const ad_functions_t mpcodecs_ad_hwmpa; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
42 extern const ad_functions_t mpcodecs_ad_pcm; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
43 extern const ad_functions_t mpcodecs_ad_dvdpcm; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
44 extern const ad_functions_t mpcodecs_ad_alaw; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
45 extern const ad_functions_t mpcodecs_ad_imaadpcm; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
46 extern const ad_functions_t mpcodecs_ad_msadpcm; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
47 extern const ad_functions_t mpcodecs_ad_dk3adpcm; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
48 extern const ad_functions_t mpcodecs_ad_dk4adpcm; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
49 extern const ad_functions_t mpcodecs_ad_dshow; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
50 extern const ad_functions_t mpcodecs_ad_dmo; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
51 extern const ad_functions_t mpcodecs_ad_acm; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
52 extern const ad_functions_t mpcodecs_ad_msgsm; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
53 extern const ad_functions_t mpcodecs_ad_faad; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
54 extern const ad_functions_t mpcodecs_ad_libvorbis; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
55 extern const ad_functions_t mpcodecs_ad_speex; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
56 extern const ad_functions_t mpcodecs_ad_libmad; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
57 extern const ad_functions_t mpcodecs_ad_realaud; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
58 extern const ad_functions_t mpcodecs_ad_libdv; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
59 extern const ad_functions_t mpcodecs_ad_qtaudio; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
60 extern const ad_functions_t mpcodecs_ad_twin; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
61 extern const ad_functions_t mpcodecs_ad_libmusepack; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
62 extern const ad_functions_t mpcodecs_ad_libdca; |
5344 | 63 |
30634
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
64 const ad_functions_t * const mpcodecs_ad_drivers[] = |
5344 | 65 { |
66 // &mpcodecs_ad_null, | |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
67 #ifdef CONFIG_MP3LIB |
5344 | 68 &mpcodecs_ad_mp3lib, |
8026
b465ba5897a3
usage of libmpeg2, liba52, mp3lib & svq1 can be disabled
arpi
parents:
8008
diff
changeset
|
69 #endif |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
70 #ifdef CONFIG_LIBA52 |
5344 | 71 &mpcodecs_ad_liba52, |
30244
5ba6784f6574
More changes needed to make ad_hwac3 truly independent from liba52.
reimar
parents:
28924
diff
changeset
|
72 #endif |
5344 | 73 &mpcodecs_ad_hwac3, |
17397
2e20dd653147
ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
17151
diff
changeset
|
74 &mpcodecs_ad_hwmpa, |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
75 #ifdef CONFIG_LIBAVCODEC |
5344 | 76 &mpcodecs_ad_ffmpeg, |
77 #endif | |
78 &mpcodecs_ad_pcm, | |
79 &mpcodecs_ad_dvdpcm, | |
80 &mpcodecs_ad_alaw, | |
81 &mpcodecs_ad_imaadpcm, | |
82 &mpcodecs_ad_msadpcm, | |
83 &mpcodecs_ad_dk3adpcm, | |
5345 | 84 &mpcodecs_ad_msgsm, |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
85 #ifdef CONFIG_WIN32DLL |
5344 | 86 &mpcodecs_ad_dshow, |
8326 | 87 &mpcodecs_ad_dmo, |
5344 | 88 &mpcodecs_ad_acm, |
14276 | 89 &mpcodecs_ad_twin, |
8160 | 90 #endif |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
91 #ifdef CONFIG_QTX_CODECS |
8008 | 92 &mpcodecs_ad_qtaudio, |
5344 | 93 #endif |
27363
40057010b1fa
Change a bunch of codec-specific preprocessor directives from a HAVE_
diego
parents:
27341
diff
changeset
|
94 #ifdef CONFIG_FAAD |
5454 | 95 &mpcodecs_ad_faad, |
96 #endif | |
27363
40057010b1fa
Change a bunch of codec-specific preprocessor directives from a HAVE_
diego
parents:
27341
diff
changeset
|
97 #ifdef CONFIG_OGGVORBIS |
7174 | 98 &mpcodecs_ad_libvorbis, |
5356
739cad21c32c
Port dec_audio.c faad aac decoder to libmpcodecs, cleaned up code, improved buffering scheme.
atmos4
parents:
5345
diff
changeset
|
99 #endif |
27363
40057010b1fa
Change a bunch of codec-specific preprocessor directives from a HAVE_
diego
parents:
27341
diff
changeset
|
100 #ifdef CONFIG_SPEEX |
16915
6b1d1e4adaea
Speex support. Seeking and pts generation does not work.
reimar
parents:
15958
diff
changeset
|
101 &mpcodecs_ad_speex, |
6b1d1e4adaea
Speex support. Seeking and pts generation does not work.
reimar
parents:
15958
diff
changeset
|
102 #endif |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
103 #ifdef CONFIG_LIBMAD |
5479
22b289d7f87f
libmad support, rewritten from scratch using Xine decoder as sample
arpi
parents:
5454
diff
changeset
|
104 &mpcodecs_ad_libmad, |
22b289d7f87f
libmad support, rewritten from scratch using Xine decoder as sample
arpi
parents:
5454
diff
changeset
|
105 #endif |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
106 #ifdef CONFIG_REALCODECS |
7174 | 107 &mpcodecs_ad_realaud, |
6367 | 108 #endif |
27363
40057010b1fa
Change a bunch of codec-specific preprocessor directives from a HAVE_
diego
parents:
27341
diff
changeset
|
109 #ifdef CONFIG_LIBDV095 |
6927 | 110 &mpcodecs_ad_libdv, |
111 #endif | |
27363
40057010b1fa
Change a bunch of codec-specific preprocessor directives from a HAVE_
diego
parents:
27341
diff
changeset
|
112 #ifdef CONFIG_MUSEPACK |
15958
087142ef3a2d
musepack demuxing and decoding support (demuxing is v7 bitstream only).
reimar
parents:
14276
diff
changeset
|
113 &mpcodecs_ad_libmusepack, |
087142ef3a2d
musepack demuxing and decoding support (demuxing is v7 bitstream only).
reimar
parents:
14276
diff
changeset
|
114 #endif |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
115 #ifdef CONFIG_LIBDCA |
23821 | 116 &mpcodecs_ad_libdca, |
117 #endif | |
5344 | 118 NULL |
119 }; |