1 /*
2  * Copyright (C) 2018 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef ANDROID_EFFECT_DYNAMICSPROCESSING_CORE_H_
18 #define ANDROID_EFFECT_DYNAMICSPROCESSING_CORE_H_
19 
20 #include <system/audio_effect.h>
21 
22 #if __cplusplus
23 extern "C" {
24 #endif
25 
26 #ifndef OPENSL_ES_H_
27 static const effect_uuid_t SL_IID_DYNAMICSPROCESSING_ = { 0x7261676f, 0x6d75, 0x7369, 0x6364,
28         { 0x28, 0xe2, 0xfd, 0x3a, 0xc3, 0x9e } };
29 const effect_uuid_t * const SL_IID_DYNAMICSPROCESSING = &SL_IID_DYNAMICSPROCESSING_;
30 #endif //OPENSL_ES_H_
31 
32 /* enumerated parameters for dynamics processing effect */
33 typedef enum
34 {
35     DP_PARAM_GET_CHANNEL_COUNT = 0x10,
36     DP_PARAM_INPUT_GAIN = 0x20,
37     DP_PARAM_ENGINE_ARCHITECTURE = 0x30,
38     DP_PARAM_PRE_EQ = 0x40,
39     DP_PARAM_PRE_EQ_BAND = 0x45,
40     DP_PARAM_MBC = 0x50,
41     DP_PARAM_MBC_BAND = 0x55,
42     DP_PARAM_POST_EQ = 0x60,
43     DP_PARAM_POST_EQ_BAND = 0x65,
44     DP_PARAM_LIMITER = 0x70,
45 } t_dynamicsprocessing_params;
46 
47 /* enumerated variants */
48 typedef enum
49 {
50     VARIANT_FAVOR_FREQUENCY_RESOLUTION = 0x00,
51     VARIANT_FAVOR_TIME_RESOLUTION = 0x01,
52 } t_dynamicsprocessing_variants;
53 
54 #if __cplusplus
55 } // extern "C"
56 #endif
57 
58 
59 #endif /*ANDROID_EFFECT_DYNAMICSPROCESSING_CORE_H_*/
60