Home | History | Annotate | Download | only in drc_src
      1 /******************************************************************************
      2  *
      3  * Copyright (C) 2015 The Android Open Source Project
      4  *
      5  * Licensed under the Apache License, Version 2.0 (the "License");
      6  * you may not use this file except in compliance with the License.
      7  * You may obtain a copy of the License at:
      8  *
      9  * http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  * Unless required by applicable law or agreed to in writing, software
     12  * distributed under the License is distributed on an "AS IS" BASIS,
     13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  * See the License for the specific language governing permissions and
     15  * limitations under the License.
     16  *
     17  *****************************************************************************
     18  * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
     19 */
     20 #ifndef IMPD_DRC_PEAK_LIMITER_STRUCT_H
     21 #define IMPD_DRC_PEAK_LIMITER_STRUCT_H
     22 
     23 #define DEFAULT_ATTACK_TIME_MS (5.0f)   /* default attack  time in ms */
     24 #define DEFAULT_RELEASE_TIME_MS (50.0f) /* default release time in ms */
     25 
     26 typedef struct ia_drc_peak_limiter_struct {
     27   FLOAT32 attack_time;
     28   FLOAT32 release_time;
     29   FLOAT32 attack_constant;
     30   FLOAT32 release_constant;
     31   FLOAT32 limit_threshold;
     32   UWORD32 num_channels;
     33   UWORD32 sample_rate;
     34   UWORD32 attack_time_samples;
     35   UWORD32 limiter_on;
     36   FLOAT32 gain_modified;
     37   FLOAT64 pre_smoothed_gain;
     38   FLOAT32* delayed_input;
     39   UWORD32 delayed_input_index;
     40   FLOAT32* max_buf;
     41   FLOAT32 min_gain;
     42   FLOAT32* buffer;
     43 } ia_drc_peak_limiter_struct;
     44 
     45 #endif
     46