1 /*
2  * audio decoder interface
3  *
4  * This file is part of MPlayer.
5  *
6  * MPlayer is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * MPlayer is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License along
17  * with MPlayer; if not, write to the Free Software Foundation, Inc.,
18  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19  */
20 
21 #include <stdio.h>
22 #include <stdlib.h>
23 #include <string.h>
24 
25 #include "config.h"
26 
27 #include "stream/stream.h"
28 #include "libmpdemux/demuxer.h"
29 #include "libmpdemux/stheader.h"
30 #include "ad.h"
31 
32 float drc_level = 1.0;
33 
34 /* Missed vorbis, mad, dshow */
35 
36 extern const ad_functions_t mpcodecs_ad_mpg123;
37 extern const ad_functions_t mpcodecs_ad_ffmpeg;
38 extern const ad_functions_t mpcodecs_ad_liba52;
39 extern const ad_functions_t mpcodecs_ad_hwac3;
40 extern const ad_functions_t mpcodecs_ad_hwmpa;
41 extern const ad_functions_t mpcodecs_ad_pcm;
42 extern const ad_functions_t mpcodecs_ad_dvdpcm;
43 extern const ad_functions_t mpcodecs_ad_alaw;
44 extern const ad_functions_t mpcodecs_ad_dshow;
45 extern const ad_functions_t mpcodecs_ad_dmo;
46 extern const ad_functions_t mpcodecs_ad_acm;
47 extern const ad_functions_t mpcodecs_ad_faad;
48 extern const ad_functions_t mpcodecs_ad_libvorbis;
49 extern const ad_functions_t mpcodecs_ad_speex;
50 extern const ad_functions_t mpcodecs_ad_libmad;
51 extern const ad_functions_t mpcodecs_ad_realaud;
52 extern const ad_functions_t mpcodecs_ad_libdv;
53 extern const ad_functions_t mpcodecs_ad_qtaudio;
54 extern const ad_functions_t mpcodecs_ad_spdif;
55 extern const ad_functions_t mpcodecs_ad_twin;
56 extern const ad_functions_t mpcodecs_ad_libmusepack;
57 extern const ad_functions_t mpcodecs_ad_libdca;
58 
59 const ad_functions_t * const mpcodecs_ad_drivers[] =
60 {
61 #ifdef CONFIG_MPG123
62   &mpcodecs_ad_mpg123,
63 #endif
64 #ifdef CONFIG_LIBA52
65   &mpcodecs_ad_liba52,
66 #endif
67   &mpcodecs_ad_hwac3,
68   &mpcodecs_ad_hwmpa,
69 #ifdef CONFIG_FFMPEG
70   &mpcodecs_ad_ffmpeg,
71   &mpcodecs_ad_spdif,
72 #endif
73   &mpcodecs_ad_pcm,
74   &mpcodecs_ad_dvdpcm,
75   &mpcodecs_ad_alaw,
76 #ifdef CONFIG_WIN32DLL
77   &mpcodecs_ad_dshow,
78   &mpcodecs_ad_dmo,
79   &mpcodecs_ad_acm,
80   &mpcodecs_ad_twin,
81 #endif
82 #ifdef CONFIG_QTX_CODECS
83   &mpcodecs_ad_qtaudio,
84 #endif
85 #ifdef CONFIG_FAAD
86   &mpcodecs_ad_faad,
87 #endif
88 #ifdef CONFIG_OGGVORBIS
89   &mpcodecs_ad_libvorbis,
90 #endif
91 #ifdef CONFIG_SPEEX
92   &mpcodecs_ad_speex,
93 #endif
94 #ifdef CONFIG_LIBMAD
95   &mpcodecs_ad_libmad,
96 #endif
97 #ifdef CONFIG_REALCODECS
98   &mpcodecs_ad_realaud,
99 #endif
100 #ifdef CONFIG_LIBDV095
101   &mpcodecs_ad_libdv,
102 #endif
103 #ifdef CONFIG_MUSEPACK
104   &mpcodecs_ad_libmusepack,
105 #endif
106 #ifdef CONFIG_LIBDCA
107   &mpcodecs_ad_libdca,
108 #endif
109   NULL
110 };
111