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