1 /*
2  * Copyright (C) 2015-2020 Alibaba Group Holding Limited
3  */
4 #ifndef __AUDIO_PROCESS_H__
5 #define __AUDIO_PROCESS_H__
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 
11 #include "stdint.h"
12 #include "iir_process.h"
13 #include "fir_process.h"
14 
15 typedef enum {
16     AUDIO_EQ_TYPE_SW_IIR = 0,
17     AUDIO_EQ_TYPE_HW_FIR,
18     AUDIO_EQ_TYPE_HW_DAC_IIR,
19     AUDIO_EQ_TYPE_HW_IIR,
20 } AUDIO_EQ_TYPE_T;
21 
22 int audio_process_init(void);
23 int audio_process_open(enum AUD_SAMPRATE_T sample_rate, enum AUD_BITS_T sample_bits,enum AUD_CHANNEL_NUM_T ch_num, int32_t frame_size, void *eq_buf, uint32_t len);
24 int audio_process_run(uint8_t *buf, uint32_t len);
25 int audio_process_close(void);
26 
27 int audio_eq_set_cfg(const FIR_CFG_T *fir_cfg,const IIR_CFG_T *iir_cfg,AUDIO_EQ_TYPE_T audio_eq_type);
28 
29 #ifdef USB_EQ_TUNING
30 void audio_eq_usb_eq_update (void);
31 #endif
32 
33 #ifdef __cplusplus
34 }
35 #endif
36 
37 #endif
38