blob: 86ae793e00952acf82d8f735ece35c19335d7181 [file] [log] [blame]
Benny Prijonoa4bf0212006-02-10 15:57:08 +00001/* $Id$ */
2/*
Benny Prijono32177c02008-06-20 22:44:47 +00003 * Copyright (C)2003-2008 Benny Prijono <benny@prijono.org>
Benny Prijonoa4bf0212006-02-10 15:57:08 +00004 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 */
19#ifndef __PJMEDIA_CODEC_CONFIG_H__
20#define __PJMEDIA_CODEC_CONFIG_H__
21
22#include <pjmedia/types.h>
23
Benny Prijonofe9bffd2007-01-27 17:44:13 +000024/*
25 * Include config_auto.h if autoconf is used (PJ_AUTOCONF is set)
26 */
27#if defined(PJ_AUTOCONF)
28# include <pjmedia-codec/config_auto.h>
29#endif
Benny Prijonoa4bf0212006-02-10 15:57:08 +000030
Benny Prijono4381efe2006-03-16 14:24:26 +000031/**
Benny Prijonoa837c302006-04-27 22:36:40 +000032 * Unless specified otherwise, L16 codec is included by default.
33 */
34#ifndef PJMEDIA_HAS_L16_CODEC
35# define PJMEDIA_HAS_L16_CODEC 1
36#endif
37
38
39/**
Benny Prijono4381efe2006-03-16 14:24:26 +000040 * Unless specified otherwise, GSM codec is included by default.
Benny Prijonoa4bf0212006-02-10 15:57:08 +000041 */
Benny Prijono4381efe2006-03-16 14:24:26 +000042#ifndef PJMEDIA_HAS_GSM_CODEC
43# define PJMEDIA_HAS_GSM_CODEC 1
Benny Prijonoa4bf0212006-02-10 15:57:08 +000044#endif
45
46
Benny Prijono4381efe2006-03-16 14:24:26 +000047/**
48 * Unless specified otherwise, Speex codec is included by default.
Benny Prijonoeb30bf52006-03-04 20:43:52 +000049 */
Benny Prijono4381efe2006-03-16 14:24:26 +000050#ifndef PJMEDIA_HAS_SPEEX_CODEC
51# define PJMEDIA_HAS_SPEEX_CODEC 1
Benny Prijonoeb30bf52006-03-04 20:43:52 +000052#endif
53
Nanang Izzuddin829ac022008-05-27 00:24:26 +000054/**
55 * Speex codec default complexity setting.
56 */
57#ifndef PJMEDIA_CODEC_SPEEX_DEFAULT_COMPLEXITY
58# define PJMEDIA_CODEC_SPEEX_DEFAULT_COMPLEXITY 2
59#endif
60
61/**
Nanang Izzuddin9dbad152008-06-10 18:56:10 +000062 * Speex codec default quality setting. Please note that pjsua-lib may override
63 * this setting via its codec quality setting (i.e PJSUA_DEFAULT_CODEC_QUALITY).
Nanang Izzuddin829ac022008-05-27 00:24:26 +000064 */
65#ifndef PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY
Nanang Izzuddin9dbad152008-06-10 18:56:10 +000066# define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY 8
Nanang Izzuddin829ac022008-05-27 00:24:26 +000067#endif
68
Benny Prijonoeb30bf52006-03-04 20:43:52 +000069
Benny Prijono00cae612006-07-31 15:19:36 +000070/**
71 * Unless specified otherwise, iLBC codec is included by default.
72 */
73#ifndef PJMEDIA_HAS_ILBC_CODEC
74# define PJMEDIA_HAS_ILBC_CODEC 1
75#endif
76
77
Benny Prijono7ffd7752008-03-17 14:07:53 +000078/**
79 * Unless specified otherwise, G.722 codec is included by default.
80 */
81#ifndef PJMEDIA_HAS_G722_CODEC
82# define PJMEDIA_HAS_G722_CODEC 1
83#endif
84
Benny Prijonoa4bf0212006-02-10 15:57:08 +000085
Nanang Izzuddin493a8db2008-08-15 13:17:39 +000086/**
Benny Prijonoa4e7cdd2008-08-19 15:01:48 +000087 * Enable the features provided by Intel IPP libraries, for example
88 * codecs such as G.729, G.723.1, G.726, G.728, G.722.1, and AMR.
89 *
90 * By default this is disabled. Please follow the instructions in
91 * http://trac.pjsip.org/repos/wiki/Intel_IPP_Codecs on how to setup
92 * Intel IPP with PJMEDIA.
Nanang Izzuddin493a8db2008-08-15 13:17:39 +000093 */
Benny Prijonoa4e7cdd2008-08-19 15:01:48 +000094#ifndef PJMEDIA_HAS_INTEL_IPP
95# define PJMEDIA_HAS_INTEL_IPP 0
Nanang Izzuddin493a8db2008-08-15 13:17:39 +000096#endif
Benny Prijonofe9bffd2007-01-27 17:44:13 +000097
Benny Prijonoa4e7cdd2008-08-19 15:01:48 +000098
Nanang Izzuddin493a8db2008-08-15 13:17:39 +000099/**
Benny Prijonoa4e7cdd2008-08-19 15:01:48 +0000100 * Visual Studio only: when this option is set, the Intel IPP libraries
101 * will be automatically linked to application using pragma(comment)
102 * constructs. This is convenient, however it will only link with
103 * the stub libraries and the Intel IPP DLL's will be required when
104 * distributing the application.
105 *
106 * If application wants to link with the different types of the Intel IPP
107 * libraries (for example, the static libraries), it must set this option
108 * to zero and specify the Intel IPP libraries in the application's input
109 * library specification manually.
110 *
111 * Default 1.
112 */
113#ifndef PJMEDIA_AUTO_LINK_IPP_LIBS
114# define PJMEDIA_AUTO_LINK_IPP_LIBS 1
115#endif
116
117
118/**
119 * Enable Intel IPP AMR codec. This also needs to be enabled when AMR WB
120 * codec is enabled. This option is only used when PJMEDIA_HAS_INTEL_IPP
121 * is enabled.
122 *
123 * Default: 1
Nanang Izzuddin493a8db2008-08-15 13:17:39 +0000124 */
125#ifndef PJMEDIA_HAS_INTEL_IPP_CODEC_AMR
126# define PJMEDIA_HAS_INTEL_IPP_CODEC_AMR 1
127#endif
128
Benny Prijonoa4e7cdd2008-08-19 15:01:48 +0000129
130/**
131 * Enable Intel IPP AMR wideband codec. The PJMEDIA_HAS_INTEL_IPP_CODEC_AMR
132 * option must also be enabled to use this codec. This option is only used
133 * when PJMEDIA_HAS_INTEL_IPP is enabled.
134 *
135 * Default: 1
136 */
Nanang Izzuddindf361e02008-08-16 06:46:08 +0000137#ifndef PJMEDIA_HAS_INTEL_IPP_CODEC_AMRWB
138# define PJMEDIA_HAS_INTEL_IPP_CODEC_AMRWB 1
139#endif
140
Benny Prijonoa4e7cdd2008-08-19 15:01:48 +0000141
142/**
143 * Enable Intel IPP G.729 codec. This option is only used when
144 * PJMEDIA_HAS_INTEL_IPP is enabled.
145 *
146 * Default: 1
147 */
Nanang Izzuddin493a8db2008-08-15 13:17:39 +0000148#ifndef PJMEDIA_HAS_INTEL_IPP_CODEC_G729
149# define PJMEDIA_HAS_INTEL_IPP_CODEC_G729 1
150#endif
151
Benny Prijonoa4e7cdd2008-08-19 15:01:48 +0000152
153/**
154 * Enable Intel IPP G.723.1 codec. This option is only used when
155 * PJMEDIA_HAS_INTEL_IPP is enabled.
156 *
157 * Default: 1
158 */
159#ifndef PJMEDIA_HAS_INTEL_IPP_CODEC_G723_1
160# define PJMEDIA_HAS_INTEL_IPP_CODEC_G723_1 1
Nanang Izzuddin493a8db2008-08-15 13:17:39 +0000161#endif
162
Benny Prijonoa4e7cdd2008-08-19 15:01:48 +0000163
164/**
165 * Enable Intel IPP G.726 codec. This option is only used when
166 * PJMEDIA_HAS_INTEL_IPP is enabled.
167 *
168 * Default: 1
169 */
Nanang Izzuddin493a8db2008-08-15 13:17:39 +0000170#ifndef PJMEDIA_HAS_INTEL_IPP_CODEC_G726
171# define PJMEDIA_HAS_INTEL_IPP_CODEC_G726 1
172#endif
173
Benny Prijonoa4e7cdd2008-08-19 15:01:48 +0000174
175/**
176 * Enable Intel IPP G.728 codec. This option is only used when
177 * PJMEDIA_HAS_INTEL_IPP is enabled.
178 *
179 * Default: 1
180 */
Nanang Izzuddin493a8db2008-08-15 13:17:39 +0000181#ifndef PJMEDIA_HAS_INTEL_IPP_CODEC_G728
182# define PJMEDIA_HAS_INTEL_IPP_CODEC_G728 1
183#endif
184
Benny Prijonoa4e7cdd2008-08-19 15:01:48 +0000185
186/**
187 * Enable Intel IPP G.722.1 codec. This option is only used when
188 * PJMEDIA_HAS_INTEL_IPP is enabled.
189 *
190 * Default: 1
191 */
Nanang Izzuddin493a8db2008-08-15 13:17:39 +0000192#ifndef PJMEDIA_HAS_INTEL_IPP_CODEC_G722_1
193# define PJMEDIA_HAS_INTEL_IPP_CODEC_G722_1 1
194#endif
195
196
197#endif /* __PJMEDIA_CODEC_CONFIG_H__ */