www.pudn.com > layer1.rar > l1audio_msgty.h
/************* Revision Controle System Header *************
* GSM Layer 1 software
* L1AUDIO_MSGTY.H
*
* Filename l1audio_msgty.h
* Copyright 2003 (C) Texas Instruments
*
************* Revision Controle System Header *************/
#ifndef _L1AUDIO_MSGTY_H
#define _L1AUDIO_MSGTY_H
#include "l1sw.cfg"
#if (AUDIO_TASK == 1)
#if (OP_RIV_AUDIO == 1)
#include "rv_general.h"
#endif
#if (KEYBEEP)
typedef struct
{
#if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
T_RV_HDR header;
#endif
UWORD16 d_k_x1_kt0;
UWORD16 d_k_x1_kt1;
UWORD16 d_dur_kb;
}
T_MMI_KEYBEEP_REQ;
#endif
#if (TONE)
typedef struct
{
#if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
T_RV_HDR header;
#endif
UWORD16 d_k_x1_t0;
UWORD16 d_k_x1_t1;
UWORD16 d_k_x1_t2;
UWORD16 d_pe_rep;
ULONG d_pe_off;
UWORD16 d_se_off;
UWORD16 d_bu_off;
UWORD16 d_t0_on;
UWORD16 d_t0_off;
UWORD16 d_t1_on;
UWORD16 d_t1_off;
UWORD16 d_t2_on;
UWORD16 d_t2_off;
}
T_MMI_TONE_REQ;
#endif
#if (MELODY_E1)
typedef struct
{
#if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
T_RV_HDR header;
#endif
UWORD8 session_id;
BOOL loopback;
UWORD16 oscillator_used_bitmap;
}
T_MMI_MELODY_REQ;
#endif
#if (VOICE_MEMO)
typedef struct
{
#if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
T_RV_HDR header;
#endif
UWORD8 session_id;
}
T_MMI_VM_PLAY_REQ;
typedef struct
{
#if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
T_RV_HDR header;
#endif
UWORD8 session_id;
UWORD32 maximum_size;
BOOL dtx_used;
UWORD16 record_coeff_dl;
UWORD16 record_coeff_ul;
UWORD16 d_k_x1_t0;
UWORD16 d_k_x1_t1;
UWORD16 d_k_x1_t2;
UWORD16 d_pe_rep;
UWORD16 d_pe_off;
UWORD16 d_se_off;
UWORD16 d_bu_off;
UWORD16 d_t0_on;
UWORD16 d_t0_off;
UWORD16 d_t1_on;
UWORD16 d_t1_off;
UWORD16 d_t2_on;
UWORD16 d_t2_off;
}
T_MMI_VM_RECORD_REQ;
typedef struct
{
UWORD32 recorded_size;
}
T_L1_VM_RECORD_CON;
#if (OP_RIV_AUDIO == 1)
typedef struct
{
T_RV_HDR header;
UWORD32 recorded_size;
}
T_MMI_VM_RECORD_CON;
#else
typedef T_L1_VM_RECORD_CON T_MMI_VM_RECORD_CON;
#endif
#endif
#if (L1_VOICE_MEMO_AMR)
typedef struct
{
#if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
T_RV_HDR header;
#endif
UWORD8 session_id;
}
T_MMI_VM_AMR_PLAY_REQ;
typedef struct
{
#if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
T_RV_HDR header;
#endif
UWORD8 session_id;
UWORD32 maximum_size;
BOOL dtx_used;
UWORD16 record_coeff_ul;
UWORD8 amr_vocoder;
}
T_MMI_VM_AMR_RECORD_REQ;
typedef struct
{
UWORD32 recorded_size;
}
T_L1_VM_AMR_RECORD_CON;
#if (OP_RIV_AUDIO == 1)
typedef struct
{
T_RV_HDR header;
UWORD32 recorded_size;
}
T_MMI_VM_AMR_RECORD_CON;
#else
typedef T_L1_VM_AMR_RECORD_CON T_MMI_VM_AMR_RECORD_CON;
#endif
#endif
#if (OP_RIV_AUDIO == 1)
#if (L1_AUDIO_DRIVER == 1)
typedef struct
{
UWORD8 channel_id;
UWORD16 *p_buffer;
}
T_L1_AUDIO_DRIVER_IND;
#endif
#endif
#if (SPEECH_RECO)
typedef struct
{
#if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
T_RV_HDR header;
#endif
UWORD8 database_id;
UWORD8 word_index;
BOOL speech;
UWORD16 *speech_address;
}
T_MMI_SR_ENROLL_REQ;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
UWORD8 error_id;
}
T_MMI_SR_ENROLL_STOP_CON;
#if (OP_RIV_AUDIO == 1)
typedef struct
{
UWORD8 error_id;
}
T_L1_SR_ENROLL_STOP_CON;
#else
typedef T_MMI_SR_ENROLL_STOP_CON T_L1_SR_ENROLL_STOP_CON;
#endif
typedef struct
{
#if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
T_RV_HDR header;
#endif
UWORD8 database_id;
UWORD8 word_index;
BOOL speech;
UWORD16 *speech_address;
}
T_MMI_SR_UPDATE_REQ;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
UWORD8 error_id;
}
T_MMI_SR_UPDATE_STOP_CON;
#if (OP_RIV_AUDIO == 1)
typedef struct
{
UWORD8 error_id;
}
T_L1_SR_UPDATE_STOP_CON;
#else
typedef T_MMI_SR_UPDATE_STOP_CON T_L1_SR_UPDATE_STOP_CON;
#endif
typedef struct
{
#if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
T_RV_HDR header;
#endif
UWORD8 database_id;
UWORD8 vocabulary_size;
}
T_MMI_SR_RECO_REQ;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
UWORD8 error_id;
UWORD16 best_word_index;
UWORD32 best_word_score;
UWORD16 second_best_word_index;
UWORD32 second_best_word_score;
UWORD16 third_best_word_index;
UWORD32 third_best_word_score;
UWORD16 fourth_best_word_index;
UWORD32 fourth_best_word_score;
UWORD16 d_sr_db_level;
UWORD16 d_sr_db_noise;
UWORD16 d_sr_model_size;
}
T_MMI_SR_RECO_STOP_CON;
typedef struct
{
UWORD8 error_id;
}
T_L1_SR_RECO_STOP_CON;
#if (OP_RIV_AUDIO == 1)
typedef struct
{
UWORD8 error_id;
UWORD16 best_word_index;
UWORD32 best_word_score;
UWORD16 second_best_word_index;
UWORD32 second_best_word_score;
UWORD16 third_best_word_index;
UWORD32 third_best_word_score;
UWORD16 fourth_best_word_index;
UWORD32 fourth_best_word_score;
UWORD16 d_sr_db_level;
UWORD16 d_sr_db_noise;
UWORD16 d_sr_model_size;
}
T_L1_SR_RECO_STOP_IND;
#else
typedef T_MMI_SR_RECO_STOP_CON T_L1_SR_RECO_STOP_IND;
#endif
typedef T_L1_SR_RECO_STOP_CON T_L1_SR_PROCESSING_STOP_CON;
typedef struct
{
#if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
T_RV_HDR header;
#endif
UWORD8 database_id;
UWORD8 word_index;
UWORD16 *model_address;
BOOL speech;
UWORD16 *speech_address;
UWORD8 vocabulary_size;
}
T_MMI_SR_UPDATE_CHECK_REQ;
typedef T_MMI_SR_RECO_STOP_CON T_MMI_SR_UPDATE_CHECK_STOP_CON;
// Background message type
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
UWORD8 database_id;
UWORD8 model_index;
API *model_RAM_address;
BOOL speech;
UWORD16 *start_buffer;
UWORD16 *stop_buffer;
UWORD16 *start_address;
UWORD16 *stop_address;
}
T_L1_SRBACK_SAVE_DATA_REQ;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
UWORD8 database_id;
UWORD8 model_index;
API *model_RAM_address;
BOOL CTO_enable;
}
T_L1_SRBACK_LOAD_MODEL_REQ;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
API *model_RAM_address_input;
UWORD16 *model_RAM_address_output;
}
T_L1_SRBACK_TEMP_SAVE_DATA_REQ;
#endif
#if (L1_AEC == 1)
typedef struct
{
#if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
T_RV_HDR header;
#endif
UWORD16 aec_control;
#if (L1_NEW_AEC)
UWORD16 cont_filter;
UWORD16 granularity_att;
UWORD16 coef_smooth;
UWORD16 es_level_max;
UWORD16 fact_vad;
UWORD16 thrs_abs;
UWORD16 fact_asd_fil;
UWORD16 fact_asd_mut;
#endif
}
T_MMI_AEC_REQ;
#if (L1_NEW_AEC)
typedef struct
{
UWORD16 es_level;
UWORD32 far_end_pow;
UWORD32 far_end_noise;
}
T_L1_AEC_IND;
#endif
#endif
#if (L1_AEC == 2)
typedef enum
{
L1_AQI_AEC_STOP = 0,
L1_AQI_AEC_START = 1,
L1_AQI_AEC_UPDATE = 2
}
T_AEC_CONTROL;
typedef struct
{
WORD16 aec_mode;
WORD16 mu;
UWORD16 cont_filter;
WORD16 scale_input_ul;
WORD16 scale_input_dl;
WORD16 div_dmax;
UWORD16 div_swap_good;
UWORD16 div_swap_bad;
WORD16 block_init;
UWORD16 fact_vad;
UWORD16 fact_asd_fil;
UWORD16 fact_asd_mut;
UWORD16 thrs_abs;
UWORD16 es_level_max;
UWORD16 granularity_att;
UWORD16 coef_smooth;
// UWORD16 block_size;
}
T_MMI_AQI_AEC_PARAMS;
typedef struct
{
#if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
T_RV_HDR header;
#endif
T_AEC_CONTROL aec_control;
T_MMI_AQI_AEC_PARAMS aec_parameters;
}
T_MMI_AQI_AEC_REQ;
typedef enum
{
L1_AQI_AEC_NO_ACTION = -1,
L1_AQI_AEC_STOPPED = 0,
L1_AQI_AEC_STARTED = 1,
L1_AQI_AEC_UPDATED = 2
}
T_AEC_ACTION;
typedef struct
{
#if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
T_RV_HDR header;
#endif
T_AEC_ACTION aec_action;
}
T_MMI_AQI_AEC_CON;
typedef struct
{
#if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
T_RV_HDR header;
#endif
T_AEC_ACTION aec_action;
}
T_L1_AQI_AEC_CON;
#endif// L1_AEC ==2
#if (FIR)
typedef struct
{
#if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
T_RV_HDR header;
#endif
BOOL fir_loop;
UWORD8 update_fir;
UWORD16 *fir_ul_coefficient;
UWORD16 *fir_dl_coefficient;
}
T_MMI_AUDIO_FIR_REQ;
#endif
#if (AUDIO_MODE)
typedef struct
{
#if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
T_RV_HDR header;
#endif
#if (OP_RIV_AUDIO == 1)
UWORD8 audio_mode;
#else
UWORD16 audio_mode;
#endif
}
T_MMI_AUDIO_MODE;
#endif
#if (MELODY_E2)
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
UWORD8 melody_id;
UWORD8 number_of_instrument;
UWORD8 waves_table_id[SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT];
}
T_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
UWORD8 melody_id;
}
T_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_CON;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
UWORD8 melody_id;
UWORD8 number_of_instrument;
}
T_L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_REQ;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
UWORD8 melody_id;
}
T_L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_CON;
typedef struct
{
#if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
T_RV_HDR header;
#endif
UWORD8 session_id;
BOOL loopback;
}
T_MMI_MELODY_E2_REQ;
#endif
#if (L1_CPORT == 1)
typedef struct
{
UWORD16 configuration;
UWORD16 ctrl;
UWORD8 cpcfr1;
UWORD8 cpcfr2;
UWORD8 cpcfr3;
UWORD8 cpcfr4;
UWORD8 cptctl;
UWORD8 cpttaddr;
UWORD16 cptdat;
UWORD16 cptvs;
}
T_MMI_CPORT_CONFIGURE_REQ;
typedef struct
{
UWORD16 register_id;
UWORD16 register_value;
}
T_L1_CPORT_CONFIGURE_CON;
#if (OP_RIV_AUDIO == 1)
typedef struct
{
T_RV_HDR header;
UWORD8 register_id;
UWORD16 register_value;
}
T_MMI_CPORT_CONFIGURE_CON;
#else
typedef T_L1_CPORT_CONFIGURE_CON T_MMI_CPORT_CONFIGURE_CON;
#endif
#endif
#if (L1_EXTERNAL_AUDIO_VOICE_ONOFF == 1)
typedef struct
{
#if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
T_RV_HDR header;
#endif
UWORD8 onoff_value;
}
T_MMI_AUDIO_ONOFF_REQ;
#endif
#if (L1_EXT_MCU_AUDIO_VOICE_ONOFF == 1)
typedef struct
{
#if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
T_RV_HDR header;
#endif
UWORD8 vul_onoff_value;
UWORD8 vdl_onoff_value;
}
T_MMI_AUDIO_ONOFF_REQ;
#endif
#if (L1_EXT_AUDIO_MGT == 1)
typedef struct
{
UWORD8 sampling_frequency;
UWORD8 DMA_channel_number;
UWORD8 data_type;
UWORD8 element_number;
UWORD16 frame_number;
WORD8* source_buffer_address;
UWORD8 mono_stereo;
UWORD8 session_id;
}
T_MMI_EXT_AUDIO_MGT_START_REQ;
#endif
#if (L1_ANR == 1)
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
BOOL anr_enable;
WORD16 min_gain;
WORD8 div_factor_shift;
UWORD8 ns_level;
}
T_MMI_ANR_REQ;
#endif
#if (L1_ANR == 2)
typedef enum
{
ANR_STOP = 0,
ANR_START = 1,
ANR_UPDATE = 2
}
T_ANR_CONTROL;
typedef struct
{
WORD16 control;
WORD16 ns_level;
WORD16 tone_ene_th;
WORD16 tone_cnt_th;
}
T_MMI_AQI_ANR_PARAMS;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
T_ANR_CONTROL anr_ul_control;
T_MMI_AQI_ANR_PARAMS parameters;
}
T_MMI_AQI_ANR_REQ;
typedef enum
{
ANR_NO_ACTION = -1,
ANR_STOPPED = 0,
ANR_STARTED = 1,
ANR_UPDATED = 2
}
T_ANR_ACTION;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
T_ANR_ACTION anr_ul_action;
}
T_MMI_AQI_ANR_CON;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
T_ANR_ACTION anr_ul_action;
}
T_L1_AQI_ANR_CON;
#endif
#if (L1_IIR == 1)
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
BOOL iir_enable;
UWORD8 nb_iir_blocks;
WORD16 *iir_coefs;
UWORD8 nb_fir_coefs;
WORD16 *fir_coefs;
WORD8 input_scaling;
WORD8 fir_scaling;
WORD8 input_gain_scaling;
WORD8 output_gain_scaling;
UWORD16 output_gain;
WORD16 feedback;
}
T_MMI_IIR_REQ;
#endif
#if (L1_WCM == 1)
typedef enum
{
WCM_STOP = 0,
WCM_START = 1,
WCM_UPDATE = 2
}
T_WCM_CONTROL;
typedef struct
{
WORD16 mode;
WORD16 frame_size;
WORD16 num_sub_frames;
WORD16 ratio;
WORD16 threshold;
WORD16 gain[16];
}
T_MMI_AQI_WCM_PARAMS;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
T_WCM_CONTROL wcm_control;
T_MMI_AQI_WCM_PARAMS parameters;
}
T_MMI_AQI_WCM_REQ;
typedef T_MMI_AQI_WCM_REQ T_AQI_WCM_PARAM;
typedef enum
{
WCM_NO_ACTION = -1,
WCM_STOPPED = 0,
WCM_STARTED = 1,
WCM_UPDATED = 2
}
T_WCM_ACTION;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
T_WCM_ACTION wcm_action;
}
T_MMI_AQI_WCM_CON;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
T_WCM_ACTION wcm_action;
}
T_L1_AQI_WCM_CON;
#endif
#if (L1_AGC_UL == 1 || L1_AGC_DL == 1)
typedef enum
{
AGC_STOP = 0,
AGC_START = 1,
AGC_UPDATE = 2
}
T_AGC_CONTROL;
typedef struct
{
UWORD16 control;
UWORD16 frame_size;
WORD16 targeted_level;
WORD16 signal_up;
WORD16 signal_down;
WORD16 max_scale;
WORD16 gain_smooth_alpha;
WORD16 gain_smooth_alpha_fast;
WORD16 gain_smooth_beta;
WORD16 gain_smooth_beta_fast;
WORD16 gain_intp_flag;
}
T_MMI_AQI_AGC_PARAMS;
typedef enum
{
AGC_NO_ACTION = -1,
AGC_STOPPED = 0,
AGC_STARTED = 1,
AGC_UPDATED = 2
}
T_AGC_ACTION;
#endif
#if (L1_AGC_UL == 1)
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
T_AGC_CONTROL agc_ul_control;
T_MMI_AQI_AGC_PARAMS parameters;
}
T_MMI_AQI_AGC_UL_REQ ;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
T_AGC_ACTION agc_ul_action;
}
T_MMI_AQI_AGC_UL_CON;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
T_AGC_ACTION agc_ul_action;
}
T_L1_AQI_AGC_UL_CON;
#endif
#if (L1_AGC_DL == 1)
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
T_AGC_CONTROL agc_dl_control;
T_MMI_AQI_AGC_PARAMS parameters;
}
T_MMI_AQI_AGC_DL_REQ ;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
T_AGC_ACTION agc_dl_action;
}
T_MMI_AQI_AGC_DL_CON;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
T_AGC_ACTION agc_dl_action;
}
T_L1_AQI_AGC_DL_CON;
#endif
#if (L1_IIR == 2)
typedef enum
{
IIR_STOP = 0,
IIR_START = 1,
IIR_UPDATE = 2
}
T_IIR_CONTROL;
typedef struct
{
UWORD16 fir_enable;
UWORD16 fir_length;
WORD16 fir_shift;
WORD16 fir_taps[40];
}
T_MMI_AQI_IIR_FIR_PARAMS;
typedef struct
{
WORD16 sos_fact;
WORD16 sos_fact_form;
WORD16 sos_den[2];
WORD16 sos_num[3];
WORD16 sos_num_form;
}
T_MMI_AQI_IIR_SINGLE_SOS_PARAMS;
typedef struct
{
UWORD16 sos_enable;
UWORD16 sos_number;
T_MMI_AQI_IIR_SINGLE_SOS_PARAMS sos_filter[6];
}
T_MMI_AQI_IIR_SOS_PARAMS;
typedef struct
{
UWORD16 control;
UWORD16 frame_size;
UWORD16 fir_swap;
T_MMI_AQI_IIR_FIR_PARAMS fir_filter;
T_MMI_AQI_IIR_SOS_PARAMS sos_filter;
WORD16 gain;
}
T_MMI_AQI_IIR_PARAMS;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
T_IIR_CONTROL iir_dl_control;
T_MMI_AQI_IIR_PARAMS parameters;
}
T_MMI_AQI_IIR_DL_REQ;
typedef T_MMI_AQI_IIR_DL_REQ T_AQI_IIR_PARAM;
typedef enum
{
IIR_NO_ACTION = -1,
IIR_STOPPED = 0,
IIR_STARTED = 1,
IIR_UPDATED = 2
}
T_IIR_ACTION;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
T_IIR_ACTION iir_dl_action;
}
T_MMI_AQI_IIR_DL_CON;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
T_IIR_ACTION iir_dl_action;
}
T_L1_AQI_IIR_DL_CON;
#endif
#if (L1_DRC == 1)
typedef enum
{
DRC_STOP = 0,
DRC_START = 1,
DRC_UPDATE = 2
}
T_DRC_CONTROL;
typedef struct
{
WORD16 speech_mode_samp_f;
WORD16 num_subbands;
WORD16 frame_len;
WORD16 expansion_knee_fb_bs;
WORD16 expansion_knee_md_hg;
WORD16 expansion_ratio_fb_bs;
WORD16 expansion_ratio_md_hg;
WORD16 max_amplification_fb_bs;
WORD16 max_amplification_md_hg;
WORD16 compression_knee_fb_bs;
WORD16 compression_knee_md_hg;
WORD16 compression_ratio_fb_bs;
WORD16 compression_ratio_md_hg;
WORD16 energy_limiting_th_fb_bs;
WORD16 energy_limiting_th_md_hg;
WORD16 limiter_threshold_fb;
WORD16 limiter_threshold_bs;
WORD16 limiter_threshold_md;
WORD16 limiter_threshold_hg;
WORD16 limiter_hangover_spect_preserve;
WORD16 limiter_release_fb_bs;
WORD16 limiter_release_md_hg;
WORD16 gain_track_fb_bs;
WORD16 gain_track_md_hg;
WORD16 low_pass_filter[17];
WORD16 mid_band_filter[17];
}
T_MMI_AQI_DRC_PARAMS;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
T_DRC_CONTROL drc_dl_control;
T_MMI_AQI_DRC_PARAMS parameters;
}
T_MMI_AQI_DRC_REQ;
typedef T_MMI_AQI_DRC_REQ T_AQI_DRC_PARAM;
typedef enum
{
DRC_NO_ACTION = -1,
DRC_STOPPED = 0,
DRC_STARTED = 1,
DRC_UPDATED = 2
}
T_DRC_ACTION;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
T_DRC_ACTION drc_dl_action;
}
T_MMI_AQI_DRC_CON;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
T_DRC_ACTION drc_dl_action;
}
T_L1_AQI_DRC_CON;
#endif //L1_DRC
#if (L1_LIMITER == 1)
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
BOOL limiter_enable;
UWORD16 block_size;
UWORD16 slope_update_period;
UWORD16 nb_fir_coefs;
WORD16 *filter_coefs;
WORD16 thr_low_0;
WORD16 thr_low_slope;
WORD16 thr_high_0;
WORD16 thr_high_slope;
WORD16 gain_fall;
WORD16 gain_rise;
}
T_MMI_LIMITER_REQ;
#endif
#if (L1_ES == 1)
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
BOOL es_enable;
UWORD8 es_behavior;
UWORD8 es_mode;
WORD16 es_gain_dl;
WORD16 es_gain_ul_1;
WORD16 es_gain_ul_2;
WORD16 tcl_fe_ls_thr;
WORD16 tcl_dt_ls_thr;
WORD16 tcl_fe_ns_thr;
WORD16 tcl_dt_ns_thr;
WORD16 tcl_ne_thr;
WORD16 ref_ls_pwr;
WORD16 switching_time;
WORD16 switching_time_dt;
WORD16 hang_time;
WORD16 gain_lin_dl_vect[4];
WORD16 gain_lin_ul_vect[4];
}
T_MMI_ES_REQ;
#endif
#if (L1_VOCODER_IF_CHANGE == 1)
typedef struct
{
BOOL vocoder_state; // TRUE if enable request, FALSE if disable request
} T_MMI_TCH_VOCODER_CFG_REQ;
#endif // L1_VOCODER_IF_CHANGE == 1
#endif // AUDIO_TASK
typedef struct
{
UWORD8 outen1;
UWORD8 outen2;
UWORD8 outen3;
UWORD8 classD;
} T_MMI_OUTEN_CFG_REQ;
typedef struct
{
#if (OP_RIV_AUDIO == 1)
T_RV_HDR header;
#endif
UWORD8 outen1;
UWORD8 outen2;
UWORD8 outen3;
UWORD8 classD;
} T_MMI_OUTEN_CFG_READ_CON;
#endif // _L1AUDIO_MSGTY_H