xref: /OK3568_Linux_fs/external/rockit/mpi/sdk/include/rk_mpi_ai.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* GPL-2.0 WITH Linux-syscall-note OR Apache 2.0 */
2*4882a593Smuzhiyun /* Copyright (c) 2021 Fuzhou Rockchip Electronics Co., Ltd */
3*4882a593Smuzhiyun 
4*4882a593Smuzhiyun #ifndef INCLUDE_RT_MPI_MPI_AI_H_
5*4882a593Smuzhiyun #define INCLUDE_RT_MPI_MPI_AI_H_
6*4882a593Smuzhiyun 
7*4882a593Smuzhiyun #include "rk_common.h"
8*4882a593Smuzhiyun #include "rk_comm_aio.h"
9*4882a593Smuzhiyun 
10*4882a593Smuzhiyun #ifdef __cplusplus
11*4882a593Smuzhiyun #if __cplusplus
12*4882a593Smuzhiyun extern "C" {
13*4882a593Smuzhiyun #endif
14*4882a593Smuzhiyun #endif /* __cplusplus */
15*4882a593Smuzhiyun 
16*4882a593Smuzhiyun RK_S32 RK_MPI_AI_SetPubAttr(AUDIO_DEV AiDevId, const AIO_ATTR_S *pstAttr);
17*4882a593Smuzhiyun RK_S32 RK_MPI_AI_GetPubAttr(AUDIO_DEV AiDevId, AIO_ATTR_S *pstAttr);
18*4882a593Smuzhiyun RK_S32 RK_MPI_AI_Enable(AUDIO_DEV AiDevId);
19*4882a593Smuzhiyun RK_S32 RK_MPI_AI_Disable(AUDIO_DEV AiDevId);
20*4882a593Smuzhiyun RK_S32 RK_MPI_AI_EnableChn(AUDIO_DEV AiDevId, AI_CHN AiChn);
21*4882a593Smuzhiyun RK_S32 RK_MPI_AI_DisableChn(AUDIO_DEV AiDevId, AI_CHN AiChn);
22*4882a593Smuzhiyun RK_S32 RK_MPI_AI_EnableDataRead(AUDIO_DEV AiDevId, AI_CHN AiChn);
23*4882a593Smuzhiyun RK_S32 RK_MPI_AI_DisableDataRead(AUDIO_DEV AiDevId, AI_CHN AiChn);
24*4882a593Smuzhiyun RK_S32 RK_MPI_AI_SendFrame(AUDIO_DEV AiDevId, AO_CHN AiChn, const AUDIO_FRAME_S *pstFrm, RK_S32 s32MilliSec);
25*4882a593Smuzhiyun RK_S32 RK_MPI_AI_GetFrame(AUDIO_DEV AiDevId, AI_CHN AiChn,
26*4882a593Smuzhiyun                                  AUDIO_FRAME_S *pstFrm, AEC_FRAME_S *pstAecFrm , RK_S32 s32MilliSec);
27*4882a593Smuzhiyun RK_S32 RK_MPI_AI_ReleaseFrame(AUDIO_DEV AiDevId, AI_CHN AiChn,
28*4882a593Smuzhiyun                                       const AUDIO_FRAME_S *pstFrm, const AEC_FRAME_S *pstAecFrm);
29*4882a593Smuzhiyun RK_S32 RK_MPI_AI_SetChnParam(AUDIO_DEV AiDevId, AI_CHN AiChn, const AI_CHN_PARAM_S *pstChnParam);
30*4882a593Smuzhiyun RK_S32 RK_MPI_AI_GetChnParam(AUDIO_DEV AiDevId, AI_CHN AiChn, AI_CHN_PARAM_S *pstChnParam);
31*4882a593Smuzhiyun RK_S32 RK_MPI_AI_EnableReSmp(AUDIO_DEV AiDevId, AI_CHN AiChn, AUDIO_SAMPLE_RATE_E enOutSampleRate);
32*4882a593Smuzhiyun RK_S32 RK_MPI_AI_DisableReSmp(AUDIO_DEV AiDevId, AI_CHN AiChn);
33*4882a593Smuzhiyun RK_S32 RK_MPI_AI_SetTrackMode(AUDIO_DEV AiDevId, AUDIO_TRACK_MODE_E enTrackMode);
34*4882a593Smuzhiyun RK_S32 RK_MPI_AI_GetTrackMode(AUDIO_DEV AiDevId, AUDIO_TRACK_MODE_E *penTrackMode);
35*4882a593Smuzhiyun RK_S32 RK_MPI_AI_SetVolumeCurve(AUDIO_DEV AiDevId, AUDIO_VOLUME_CURVE_S *pvolumeCurve);
36*4882a593Smuzhiyun RK_S32 RK_MPI_AI_SetVolume(AUDIO_DEV AiDevId, RK_S32 s32VolumeDb);
37*4882a593Smuzhiyun RK_S32 RK_MPI_AI_GetVolume(AUDIO_DEV AiDevId, RK_S32 *ps32VolumeDb);
38*4882a593Smuzhiyun RK_S32 RK_MPI_AI_SetMute(AUDIO_DEV AiDevId, RK_BOOL bEnable, const AUDIO_FADE_S *pstFade);
39*4882a593Smuzhiyun RK_S32 RK_MPI_AI_GetMute(AUDIO_DEV AiDevId, RK_BOOL *pbEnable, AUDIO_FADE_S *pstFade);
40*4882a593Smuzhiyun RK_S32 RK_MPI_AI_SetChnAttr(AUDIO_DEV AiDevId, AI_CHN AiChn, const AI_CHN_ATTR_S *pstAttrs);
41*4882a593Smuzhiyun RK_S32 RK_MPI_AI_GetChnAttr(AUDIO_DEV AiDevId, AI_CHN AiChn, AI_CHN_ATTR_S *pstAttrs);
42*4882a593Smuzhiyun RK_S32 RK_MPI_AI_ClrPubAttr(AUDIO_DEV AiDevId);
43*4882a593Smuzhiyun RK_S32 RK_MPI_AI_SaveFile(AUDIO_DEV AiDevId, AI_CHN AiChn,
44*4882a593Smuzhiyun                                 const AUDIO_SAVE_FILE_INFO_S *pstSaveFileInfo);
45*4882a593Smuzhiyun RK_S32 RK_MPI_AI_QueryFileStatus(AUDIO_DEV AiDevId, AI_CHN AiChn,
46*4882a593Smuzhiyun                                         AUDIO_FILE_STATUS_S *pstFileStatus);
47*4882a593Smuzhiyun RK_S32 RK_MPI_AI_GetFd(AUDIO_DEV AiDevId, AI_CHN AiChn);
48*4882a593Smuzhiyun RK_S32 RK_MPI_AI_SetVqeAttr(AUDIO_DEV AiDevId, AI_CHN AiChn, AUDIO_DEV AoDevId, AO_CHN AoChn,
49*4882a593Smuzhiyun                             const AI_VQE_CONFIG_S *pstVqeConfig);
50*4882a593Smuzhiyun RK_S32 RK_MPI_AI_GetVqeAttr(AUDIO_DEV AiDevId, AI_CHN AiChn, AI_VQE_CONFIG_S *pstVqeConfig);
51*4882a593Smuzhiyun RK_S32 RK_MPI_AI_EnableVqe(AUDIO_DEV AiDevId, AI_CHN AiChn);
52*4882a593Smuzhiyun RK_S32 RK_MPI_AI_DisableVqe(AUDIO_DEV AiDevId, AI_CHN AiChn);
53*4882a593Smuzhiyun 
54*4882a593Smuzhiyun RK_S32 RK_MPI_AI_SetAedAttr(AUDIO_DEV AiDevId, AI_CHN AiChn, const AI_AED_CONFIG_S *pstAedConfig);
55*4882a593Smuzhiyun RK_S32 RK_MPI_AI_GetAedAttr(AUDIO_DEV AiDevId, AI_CHN AiChn, AI_AED_CONFIG_S *pstAedConfig);
56*4882a593Smuzhiyun RK_S32 RK_MPI_AI_EnableAed(AUDIO_DEV AiDevId, AI_CHN AiChn);
57*4882a593Smuzhiyun RK_S32 RK_MPI_AI_DisableAed(AUDIO_DEV AiDevId, AI_CHN AiChn);
58*4882a593Smuzhiyun RK_S32 RK_MPI_AI_GetAedResult(AUDIO_DEV AiDevId, AI_CHN AiChn, AI_AED_RESULT_S *pstAedResult);
59*4882a593Smuzhiyun 
60*4882a593Smuzhiyun RK_S32 RK_MPI_AI_SetBcdAttr(AUDIO_DEV AiDevId, AI_CHN AiChn, const AI_BCD_CONFIG_S *pstBcdConfig);
61*4882a593Smuzhiyun RK_S32 RK_MPI_AI_GetBcdAttr(AUDIO_DEV AiDevId, AI_CHN AiChn, AI_BCD_CONFIG_S *pstBcdConfig);
62*4882a593Smuzhiyun RK_S32 RK_MPI_AI_EnableBcd(AUDIO_DEV AiDevId, AI_CHN AiChn);
63*4882a593Smuzhiyun RK_S32 RK_MPI_AI_DisableBcd(AUDIO_DEV AiDevId, AI_CHN AiChn);
64*4882a593Smuzhiyun RK_S32 RK_MPI_AI_GetBcdResult(AUDIO_DEV AiDevId, AI_CHN AiChn, AI_BCD_RESULT_S *pstBcdResult);
65*4882a593Smuzhiyun 
66*4882a593Smuzhiyun RK_S32 RK_MPI_AI_SetBuzAttr(AUDIO_DEV AiDevId, AI_CHN AiChn, const AI_BUZ_CONFIG_S *pstBuzConfig);
67*4882a593Smuzhiyun RK_S32 RK_MPI_AI_GetBuzAttr(AUDIO_DEV AiDevId, AI_CHN AiChn, AI_BUZ_CONFIG_S *pstBuzConfig);
68*4882a593Smuzhiyun RK_S32 RK_MPI_AI_EnableBuz(AUDIO_DEV AiDevId, AI_CHN AiChn);
69*4882a593Smuzhiyun RK_S32 RK_MPI_AI_DisableBuz(AUDIO_DEV AiDevId, AI_CHN AiChn);
70*4882a593Smuzhiyun RK_S32 RK_MPI_AI_GetBuzResult(AUDIO_DEV AiDevId, AI_CHN AiChn, AI_BUZ_RESULT_S *pstBuzResult);
71*4882a593Smuzhiyun 
72*4882a593Smuzhiyun RK_S32 RK_MPI_AI_SetGbsAttr(AUDIO_DEV AiDevId, AI_CHN AiChn, const AI_GBS_CONFIG_S *pstGbsConfig);
73*4882a593Smuzhiyun RK_S32 RK_MPI_AI_GetGbsAttr(AUDIO_DEV AiDevId, AI_CHN AiChn, AI_GBS_CONFIG_S *pstGbsConfig);
74*4882a593Smuzhiyun RK_S32 RK_MPI_AI_EnableGbs(AUDIO_DEV AiDevId, AI_CHN AiChn);
75*4882a593Smuzhiyun RK_S32 RK_MPI_AI_DisableGbs(AUDIO_DEV AiDevId, AI_CHN AiChn);
76*4882a593Smuzhiyun RK_S32 RK_MPI_AI_GetGbsResult(AUDIO_DEV AiDevId, AI_CHN AiChn, AI_GBS_RESULT_S *pstGbsResult);
77*4882a593Smuzhiyun 
78*4882a593Smuzhiyun #ifdef __cplusplus
79*4882a593Smuzhiyun #if __cplusplus
80*4882a593Smuzhiyun }
81*4882a593Smuzhiyun #endif
82*4882a593Smuzhiyun #endif /* End of #ifdef __cplusplus */
83*4882a593Smuzhiyun 
84*4882a593Smuzhiyun #endif  /* End of INCLUDE_RT_MPI_MPI_AI_H_ */
85