niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 1 | /* |
xians@webrtc.org | 9b3474a | 2012-02-02 08:59:11 +0000 | [diff] [blame] | 2 | * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 3 | * |
| 4 | * Use of this source code is governed by a BSD-style license |
| 5 | * that can be found in the LICENSE file in the root of the source |
| 6 | * tree. An additional intellectual property rights grant can be found |
| 7 | * in the file PATENTS. All contributing project authors may |
| 8 | * be found in the AUTHORS file in the root of the source tree. |
| 9 | */ |
| 10 | |
| 11 | #ifndef WEBRTC_ENGINE_CONFIGURATIONS_H_ |
| 12 | #define WEBRTC_ENGINE_CONFIGURATIONS_H_ |
| 13 | |
andrew@webrtc.org | 0851df8 | 2013-06-19 17:03:47 +0000 | [diff] [blame] | 14 | #include "webrtc/typedefs.h" |
| 15 | |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 16 | // ============================================================================ |
| 17 | // Voice and Video |
| 18 | // ============================================================================ |
| 19 | |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 20 | // ---------------------------------------------------------------------------- |
| 21 | // [Voice] Codec settings |
| 22 | // ---------------------------------------------------------------------------- |
| 23 | |
henrik.lundin@webrtc.org | cfe3845 | 2014-10-29 08:32:44 +0000 | [diff] [blame] | 24 | // iSAC and G722 are not included in the Mozilla build, but in all other builds. |
tina.legrand@webrtc.org | a7d8387 | 2012-10-18 10:00:52 +0000 | [diff] [blame] | 25 | #ifndef WEBRTC_MOZILLA_BUILD |
kma@webrtc.org | 94771cb | 2012-08-28 04:09:50 +0000 | [diff] [blame] | 26 | #ifdef WEBRTC_ARCH_ARM |
tina.legrand@webrtc.org | a7d8387 | 2012-10-18 10:00:52 +0000 | [diff] [blame] | 27 | #define WEBRTC_CODEC_ISACFX // Fix-point iSAC implementation. |
leozwang@webrtc.org | 22082e7 | 2012-04-18 16:52:00 +0000 | [diff] [blame] | 28 | #else |
tina.legrand@webrtc.org | a7d8387 | 2012-10-18 10:00:52 +0000 | [diff] [blame] | 29 | #define WEBRTC_CODEC_ISAC // Floating-point iSAC implementation (default). |
| 30 | #endif // WEBRTC_ARCH_ARM |
henrik.lundin@webrtc.org | cfe3845 | 2014-10-29 08:32:44 +0000 | [diff] [blame] | 31 | #define WEBRTC_CODEC_G722 |
tina.legrand@webrtc.org | a7d8387 | 2012-10-18 10:00:52 +0000 | [diff] [blame] | 32 | #endif // !WEBRTC_MOZILLA_BUILD |
| 33 | |
| 34 | // AVT is included in all builds, along with G.711, NetEQ and CNG |
| 35 | // (which are mandatory and don't have any defines). |
xians@webrtc.org | 0dffc64 | 2011-11-30 15:35:44 +0000 | [diff] [blame] | 36 | #define WEBRTC_CODEC_AVT |
| 37 | |
andrew@webrtc.org | 8fa03a1 | 2013-09-12 01:30:30 +0000 | [diff] [blame] | 38 | // PCM16 is useful for testing and incurs only a small binary size cost. |
| 39 | #define WEBRTC_CODEC_PCM16 |
| 40 | |
henrik.lundin@webrtc.org | cfe3845 | 2014-10-29 08:32:44 +0000 | [diff] [blame] | 41 | // iLBC and Redundancy coding are excluded from Chromium and Mozilla |
andrew@webrtc.org | 8fa03a1 | 2013-09-12 01:30:30 +0000 | [diff] [blame] | 42 | // builds to reduce binary size. |
tina.legrand@webrtc.org | a7d8387 | 2012-10-18 10:00:52 +0000 | [diff] [blame] | 43 | #if !defined(WEBRTC_CHROMIUM_BUILD) && !defined(WEBRTC_MOZILLA_BUILD) |
xians@webrtc.org | 0dffc64 | 2011-11-30 15:35:44 +0000 | [diff] [blame] | 44 | #define WEBRTC_CODEC_ILBC |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 45 | #define WEBRTC_CODEC_RED |
tina.legrand@webrtc.org | a7d8387 | 2012-10-18 10:00:52 +0000 | [diff] [blame] | 46 | #endif // !WEBRTC_CHROMIUM_BUILD && !WEBRTC_MOZILLA_BUILD |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 47 | |
| 48 | // ---------------------------------------------------------------------------- |
| 49 | // [Video] Codec settings |
| 50 | // ---------------------------------------------------------------------------- |
| 51 | |
| 52 | #define VIDEOCODEC_I420 |
| 53 | #define VIDEOCODEC_VP8 |
marpan@webrtc.org | 5b88317 | 2014-11-01 06:10:48 +0000 | [diff] [blame] | 54 | #define VIDEOCODEC_VP9 |
stefan@webrtc.org | b9f5453 | 2014-07-04 12:42:07 +0000 | [diff] [blame] | 55 | #define VIDEOCODEC_H264 |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 56 | |
| 57 | // ============================================================================ |
| 58 | // VoiceEngine |
| 59 | // ============================================================================ |
| 60 | |
| 61 | // ---------------------------------------------------------------------------- |
| 62 | // Settings for VoiceEngine |
| 63 | // ---------------------------------------------------------------------------- |
| 64 | |
| 65 | #define WEBRTC_VOICE_ENGINE_AGC // Near-end AGC |
| 66 | #define WEBRTC_VOICE_ENGINE_ECHO // Near-end AEC |
| 67 | #define WEBRTC_VOICE_ENGINE_NR // Near-end NS |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 68 | |
jiayl@webrtc.org | bf00740 | 2013-09-17 18:09:20 +0000 | [diff] [blame] | 69 | #if !defined(WEBRTC_ANDROID) && !defined(WEBRTC_IOS) |
xians@webrtc.org | 832d7c6 | 2011-12-08 16:45:46 +0000 | [diff] [blame] | 70 | #define WEBRTC_VOICE_ENGINE_TYPING_DETECTION // Typing detection |
| 71 | #endif |
| 72 | |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 73 | // ---------------------------------------------------------------------------- |
| 74 | // VoiceEngine sub-APIs |
| 75 | // ---------------------------------------------------------------------------- |
| 76 | |
| 77 | #define WEBRTC_VOICE_ENGINE_AUDIO_PROCESSING_API |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 78 | #define WEBRTC_VOICE_ENGINE_CODEC_API |
| 79 | #define WEBRTC_VOICE_ENGINE_DTMF_API |
xians@webrtc.org | 5b6d3ce | 2012-03-15 14:40:00 +0000 | [diff] [blame] | 80 | #define WEBRTC_VOICE_ENGINE_EXTERNAL_MEDIA_API |
| 81 | #define WEBRTC_VOICE_ENGINE_FILE_API |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 82 | #define WEBRTC_VOICE_ENGINE_HARDWARE_API |
| 83 | #define WEBRTC_VOICE_ENGINE_NETEQ_STATS_API |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 84 | #define WEBRTC_VOICE_ENGINE_RTP_RTCP_API |
| 85 | #define WEBRTC_VOICE_ENGINE_VIDEO_SYNC_API |
| 86 | #define WEBRTC_VOICE_ENGINE_VOLUME_CONTROL_API |
| 87 | |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 88 | // ============================================================================ |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 89 | // Platform specific configurations |
| 90 | // ============================================================================ |
| 91 | |
| 92 | // ---------------------------------------------------------------------------- |
| 93 | // VideoEngine Windows |
| 94 | // ---------------------------------------------------------------------------- |
| 95 | |
| 96 | #if defined(_WIN32) |
andrew@webrtc.org | 8012474 | 2012-03-08 17:54:24 +0000 | [diff] [blame] | 97 | #define DIRECT3D9_RENDERING // Requires DirectX 9. |
| 98 | #endif |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 99 | |
| 100 | // ---------------------------------------------------------------------------- |
| 101 | // VideoEngine MAC |
| 102 | // ---------------------------------------------------------------------------- |
| 103 | |
sjlee@webrtc.org | 414fa7f | 2012-09-11 17:25:46 +0000 | [diff] [blame] | 104 | #if defined(WEBRTC_MAC) && !defined(WEBRTC_IOS) |
andrew@webrtc.org | 8012474 | 2012-03-08 17:54:24 +0000 | [diff] [blame] | 105 | // #define CARBON_RENDERING |
| 106 | #define COCOA_RENDERING |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 107 | #endif |
| 108 | |
| 109 | // ---------------------------------------------------------------------------- |
| 110 | // VideoEngine Mobile iPhone |
| 111 | // ---------------------------------------------------------------------------- |
| 112 | |
sjlee@webrtc.org | 414fa7f | 2012-09-11 17:25:46 +0000 | [diff] [blame] | 113 | #if defined(WEBRTC_IOS) |
andrew@webrtc.org | 8012474 | 2012-03-08 17:54:24 +0000 | [diff] [blame] | 114 | #define EAGL_RENDERING |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 115 | #endif |
| 116 | |
| 117 | // ---------------------------------------------------------------------------- |
| 118 | // Deprecated |
| 119 | // ---------------------------------------------------------------------------- |
| 120 | |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 121 | // #define WEBRTC_DTMF_DETECTION |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 122 | |
| 123 | #endif // WEBRTC_ENGINE_CONFIGURATIONS_H_ |