Home | History | Annotate | Download | only in post_proc
      1 /*
      2  * Copyright (c) 2013, The Linux Foundation. All rights reserved.
      3  * Not a Contribution.
      4  *
      5  * Copyright (C) 2013 The Android Open Source Project
      6  *
      7  * Licensed under the Apache License, Version 2.0 (the "License");
      8  * you may not use this file except in compliance with the License.
      9  * You may obtain a copy of the License at
     10  *
     11  *      http://www.apache.org/licenses/LICENSE-2.0
     12  *
     13  * Unless required by applicable law or agreed to in writing, software
     14  * distributed under the License is distributed on an "AS IS" BASIS,
     15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     16  * See the License for the specific language governing permissions and
     17  * limitations under the License.
     18  */
     19 
     20 #ifndef OFFLOAD_EQUALIZER_H_
     21 #define OFFLOAD_EQUALIZER_H_
     22 
     23 #include "bundle.h"
     24 
     25 #define NUM_EQ_BANDS              5
     26 #define INVALID_PRESET		 -2
     27 #define PRESET_CUSTOM		 -1
     28 
     29 extern const effect_descriptor_t equalizer_descriptor;
     30 
     31 typedef struct equalizer_context_s {
     32     effect_context_t common;
     33 
     34     int preset;
     35     int band_levels[NUM_EQ_BANDS];
     36 
     37     // Offload vars
     38     struct mixer_ctl *ctl;
     39     uint32_t device;
     40     struct eq_params offload_eq;
     41 } equalizer_context_t;
     42 
     43 int equalizer_get_parameter(effect_context_t *context, effect_param_t *p,
     44                             uint32_t *size);
     45 
     46 int equalizer_set_parameter(effect_context_t *context, effect_param_t *p,
     47                             uint32_t size);
     48 
     49 int equalizer_set_device(effect_context_t *context,  uint32_t device);
     50 
     51 int equalizer_reset(effect_context_t *context);
     52 
     53 int equalizer_init(effect_context_t *context);
     54 
     55 int equalizer_enable(effect_context_t *context);
     56 
     57 int equalizer_disable(effect_context_t *context);
     58 
     59 int equalizer_start(effect_context_t *context, output_context_t *output);
     60 
     61 int equalizer_stop(effect_context_t *context, output_context_t *output);
     62 
     63 #endif /*OFFLOAD_EQUALIZER_H_*/
     64