audio_ioctl.h 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399
  1. #ifndef _AUDIO_IOCTL_H_
  2. #define _AUDIO_IOCTL_H_
  3. #include <drv_audio_interface.h>
  4. #include <drv_sif_interface.h>
  5. #define TVFE_TRUE 1
  6. #define TVFE_FALSE 0
  7. typedef enum _TVFE_Audio_Status_e
  8. {
  9. /* common status values */
  10. TVFE_AUDIO_SUCCESS, /* successful outcome */
  11. TVFE_AUDIO_ERR_INVALID_PARAM, /* invalid parameter */
  12. TVFE_AUDIO_ERR_INVALID_OP, /* requested operation is invalid */
  13. TVFE_AUDIO_ERR_MEMORY_ALLOC, /* problem allocating memory */
  14. TVFE_AUDIO_ERR_BUFFER_UNDERFLOW, /* not enough stream data is available to decode the next video frame */
  15. TVFE_AUDIO_ERR_RESOURCE_UNAVAILABLE, /* hardware resource is in use or otherwise unavailable */
  16. TVFE_AUDIO_ERR_FAILURE,
  17. TVFE_AUDIO_WARN_NO_ACTION, /* the function completed successfully, but no action was taken */
  18. TVFE_AUDIO_WARN_PARAM_CLIPPED, /* the function completed successfully, though a parameter was clipped to within a valid range.*/
  19. TVFE_AUDIO_WARN_BUFFER_EMPTY, /* buffer became empty before the requested amount of data could be read */
  20. TVFE_AUDIO_WARN_BUFFER_FULL, /* buffer became full before the requested amount of data could be written */
  21. } TVFE_Audio_Status_e;
  22. typedef enum _TVFE_Audio_SPDIF_Output_Config_e
  23. {
  24. TVFE_AUDIO_SPDIF_OFF = 0,
  25. TVFE_AUDIO_SPDIF_PCM,
  26. TVFE_AUDIO_SPDIF_BITSTREAM,
  27. TVFE_AUDIO_SPDIF_ONLY_AUTO, //HDMI ARC ONLY SPDIF OUTPUT (NO I2S OUT) , DOLBY WILL RAW OUTPUT, OTHERS WILL BE PCM
  28. TVFE_AUDIO_SPDIF_ONLY_PCM, //HDMI ARC ONLY SPDIF OUTPUT (NO I2S OUT) , ALL AUDIO TYPE WILL BE PCM OUTPUT (FLAG = DECODEING)
  29. TVFE_AUDIO_SPDIF_INIT,
  30. //TVFE_AUDIO_SPDIF_REENC,
  31. //TVFE_AUDIO_SPDIF_IECRX,
  32. } TVFE_Audio_SPDIF_Output_Config_e;
  33. // Effect mode: basic self surround, SRSTSHD
  34. typedef enum _TVFE_Audio_Effect_e
  35. {
  36. TVFE_AUDIO_EFFECT_MODE_NORMAL = 0,
  37. /*only one effect can be chosen at one time*/
  38. TVFE_AUDIO_EFFECT_MODE_SRS_TRUSURROUND_HD,
  39. TVFE_AUDIO_EFFECT_MODE_BASIC_SURROUND,
  40. TVFE_AUDIO_EFFECT_MODE_MAXIMUS_SURROUND,
  41. TVFE_AUDIO_EFFECT_MODE_TITOI_SURROUND,
  42. } TVFE_Audio_Effect_e;
  43. typedef enum _TVFE_Audio_Channel_Number_e
  44. {
  45. TVFE_Audio_Channel_Stereo = 0, //mono or 2ch
  46. TVFE_Audio_Channel_Multi, //2.1ch or up
  47. } TVFE_Audio_Channel_Number_e;
  48. //SRS TRUVOL Parameters
  49. typedef enum
  50. {
  51. TVFE_Audio_SRSTVOL_Mode_Normal = 0,
  52. TVFE_Audio_SRSTVOL_Mode_Light
  53. } TVFE_Audio_SRSTVol_Mode_e;
  54. typedef enum
  55. {
  56. TVFE_Audio_SRSTVOL_SpeakerSize_20Hz = 0,
  57. TVFE_Audio_SRSTVOL_SpeakerSize_40Hz,
  58. TVFE_Audio_SRSTVOL_SpeakerSize_110Hz,
  59. TVFE_Audio_SRSTVOL_SpeakerSize_200Hz,
  60. TVFE_Audio_SRSTVOL_SpeakerSize_315Hz,
  61. TVFE_Audio_SRSTVOL_SpeakerSize_410Hz,
  62. } TVFE_Audio_SRSTVOL_SpeakerSize_e;
  63. //~SRS TRUVOL
  64. typedef enum
  65. {
  66. TVFE_Audio_MUTE_status_sd0 = 1<<0,
  67. TVFE_Audio_MUTE_status_sd1 = 1<<1,
  68. TVFE_Audio_MUTE_status_spdif = 1<<2,
  69. TVFE_Audio_MUTE_status_speaker = 1<<3,
  70. TVFE_Audio_MUTE_status_headphone = 1<<4,
  71. TVFE_Audio_MUTE_status_lineout = 1<<5,
  72. TVFE_Audio_APP_MUTE_status_sd0 = 1<<16,
  73. TVFE_Audio_APP_MUTE_status_sd1 = 1<<17,
  74. TVFE_Audio_APP_MUTE_status_spdif = 1<<18,
  75. TVFE_Audio_APP_MUTE_status_speaker = 1<<19,
  76. TVFE_Audio_APP_MUTE_status_headphone = 1<<20,
  77. TVFE_Audio_APP_MUTE_status_lineout = 1<<21,
  78. }TVFE_Audio_MUTE_STATUS_e;
  79. typedef struct _TVFE_AUDIO_SOURCE_SELECT_t
  80. {
  81. AudioSrc_e audio_src; // audio source
  82. unsigned char scart_enable; // 0:scart disable 1:scart enable
  83. }TVFE_AUDIO_SOURCE_SELECT_t, *pTVFE_AUDIO_SOURCE_SELECT_t;
  84. typedef struct _TVFE_Audio_SetDualMode_t
  85. {
  86. OUTPUT_CHANNEL_MODE_e mode;
  87. }TVFE_Audio_SetDualMode_t, *pTVFE_Audio_SetDualMode_t;
  88. typedef struct _TVFE_Audio_Lip_Sync_Config_t
  89. {
  90. BOOLEAN Enable;
  91. INT16 Delay; //-200(0 ms) ~ 200(200 ms)
  92. } TVFE_Audio_Lip_Sync_Config_t;
  93. typedef struct
  94. {
  95. TVFE_Audio_Effect_e eSurroundMode;
  96. } TVFE_AudioSurroundMode_t;
  97. // S+ surround parameters
  98. typedef struct
  99. {
  100. UINT8 ambiance_gain;
  101. UINT8 reverb_gain;
  102. UINT8 direct_gain;
  103. UINT8 sf_exp_en; //Sound field expansion enable
  104. } TVFE_Audio_SUNSUR_Param_t;
  105. // MS surround parameters
  106. typedef struct
  107. {
  108. UINT8 Maximus_Surround_gain;
  109. UINT8 Maximus_Surround_lv;
  110. UINT8 Maximus_Surround_delay;
  111. UINT8 Maximus_Bass_frequency;
  112. UINT8 Maximus_Bass_gain; //Sound field expansion enable
  113. UINT8 Maximus_Voice_level;
  114. UINT8 Maximus_Definition_gain;
  115. } TVFE_Audio_MSSUR_Param_t;
  116. typedef enum _TVFE_Audio_SUNSUR_Gain_e
  117. {
  118. TVFE_Audio_SUNSUR_GAIN_0P0,
  119. TVFE_Audio_SUNSUR_GAIN_0P1,
  120. TVFE_Audio_SUNSUR_GAIN_0P2,
  121. TVFE_Audio_SUNSUR_GAIN_0P3,
  122. TVFE_Audio_SUNSUR_GAIN_0P4,
  123. TVFE_Audio_SUNSUR_GAIN_0P5,
  124. TVFE_Audio_SUNSUR_GAIN_0P6,
  125. TVFE_Audio_SUNSUR_GAIN_0P7,
  126. TVFE_Audio_SUNSUR_GAIN_0P8,
  127. TVFE_Audio_SUNSUR_GAIN_0P9,
  128. TVFE_Audio_SUNSUR_GAIN_1P0,
  129. } TVFE_Audio_SUNSUR_Gain_e;
  130. // SRS True Surround HD parameters
  131. typedef enum _TVFE_Audio_SRSTSHD_MODE_e
  132. {
  133. TVFE_SRSTSHD_MODE_OFF = 0, //SRS disable
  134. TVFE_SRSTSHD_MODE_TSXT_ON, //Enable SRS TSXT (Surround, DC, TB)
  135. TVFE_SRSTSHD_MODE_TSHD_ON, //Enable SRS TSHD (Surround, DC, TB, Def)
  136. TVFE_SRSTSHD_MODE_TSHD_BYPASS, //SRS TSHD BYPASS Mode
  137. TVFE_SRSTSHD_MODE_TSHD_CERTIFICATION, //SRS TOOL
  138. TVFE_SRSTSHD_MODE_TSHD_USERDEFINE, //reserved for user define whic feature will be enable
  139. TVFE_SRSTSHD_MODE_TSHD_MAX,
  140. } TVFE_Audio_SRSTSHD_MODE_e;
  141. typedef struct
  142. {
  143. TVFE_Audio_SRSTSHD_MODE_e SRSTSHD_SRSTSHD_MODE; //0: OFF, 1: Lt/Rt mode 2:bypass 3:user define
  144. UINT8 SRSTSHD_TruBass_spksize; // TruBass speaker size, 0~7 40Hz~400Hz
  145. UINT8 SRSTSHD_InputGain; //0~100 -> 0.0~1.00
  146. UINT8 SRSTSHD_OutputGain; //0~100 -> 0.0~1.00
  147. UINT8 SRSTSHD_SurroundLevel; // 0~ 100 -> 0.0~ 1.00
  148. UINT8 SRSTSHD_DialogClarityLevel; // 0~ 100 -> 0.0~ 1.00
  149. UINT8 SRSTSHD_TruBassFrontLevel; // 0~ 100 -> 0.0~ 1.00
  150. UINT8 SRSTSHD_DefinitionFrontLevel; // 0~ 100 -> 0.0~ 1.00
  151. } TVFE_Audio_SRSTSHD_Param_t;
  152. // SRS TrueVolume parameters
  153. typedef struct
  154. {
  155. UINT8 SRSTVOL_Enable; // 0: disable, 1: enable
  156. UINT8 SRSTVOL_tv; // process enable, 0: bypass, 1:enable
  157. UINT8 SRSTVOL_tvnoise; // noise management, 0: disable, 1:enable
  158. UINT8 SRSTVOL_noisethreshold; // 0~ 100 -> 0.0~ 1.00
  159. TVFE_Audio_SRSTVol_Mode_e SRSTVOL_tvmode; // Normal/Light
  160. TVFE_Audio_SRSTVOL_SpeakerSize_e SRSTVOL_tvspksize; // 20/40/110/200/315/410Hz
  161. UINT16 SRSTVOL_inputgain; // 0~ 320 -> 0.0~ 32.0
  162. UINT8 SRSTVOL_outputgain; // 0~ 40 -> 0.0~ 4.0
  163. UINT8 SRSTVOL_bypassgain; // 0~ 100 -> 0.0~ 1.00
  164. UINT8 SRSTVOL_referencelevel; // 0~ 100 -> 0.0~ 1.00
  165. UINT16 SRSTVOL_maxgain; // 1~ 256
  166. } TVFE_Audio_SRSTVOL_Param_t;
  167. // EQ paramters
  168. typedef struct
  169. {
  170. UINT16 bEQ_fq[9];
  171. INT8 bQfactor[9];
  172. } TVFE_Audio_Equalizer_Init_t;
  173. typedef enum _TVFE_Audio_EQ_Qfactor_e
  174. {
  175. TVFE_Audio_Qfactor_1p0 = 0, //1.0
  176. TVFE_Audio_Qfactor_1p5, //1.5
  177. TVFE_Audio_Qfactor_2p0, //2.0
  178. TVFE_Audio_Qfactor_2p5, //2.5
  179. } TVFE_Audio_EQ_Qfactor_e;
  180. typedef struct _TVFE_Audio_Equalizer_Config_t
  181. {
  182. BOOLEAN Enable_Bypass;
  183. INT8 Band1;
  184. INT8 Band2;
  185. INT8 Band3;
  186. INT8 Band4;
  187. INT8 Band5;
  188. INT8 Band6;
  189. INT8 Band7;
  190. INT8 Band8;
  191. INT8 Band9;
  192. } TVFE_Audio_Equalizer_Config_t;
  193. // AVL parameters
  194. typedef struct
  195. {
  196. UINT8 enable; // 0: disable, 1:enable
  197. UINT8 limiter_level; //unit -1dB, 0: 0: 0.dB(default), 1: -1dB, 2: -2dB.... Max: 30 : -30dB
  198. UINT8 pullup_gain; //unit: +1dB, 0: 0.dB(default), 1: 1 dB... max:18(+18 dB)
  199. UINT8 attack_rate; //attack/release rate , 0: 1/4 , 1: 1/8, 2: 1/16, 3: 1/32, 4: 1/64 , 5: 1/128 6: 1/256 , 7: 1/512 , 8: 1/1024 9: 1/2048, 10: 1/4096
  200. UINT8 active_time; //unit 10ms, 0: 10ms, 1: 20ms .... 15: 160ms
  201. } TVFE_Audio_AVL_Param_t;
  202. typedef struct
  203. {
  204. UINT8 enable;
  205. UINT8 timer; //control attack time , unit 1ms, min : 10ms (default) range: 10ms ~ 200ms
  206. UINT8 attack_release_ratio; //control atack : release ratio , to avoid audio output unsmooth issue.
  207. INT32 SP_attack; // PLC Setting for Speaker 0: 0dB, -1 : -0.125dB , 2 : -0.25dB Min = -240(-30dB)
  208. INT32 HP_attack; // PLC Setting for headphone 0: 0dB, -1 : -0.125dB , 2 : -0.25dB Min = -240(-30dB)
  209. INT32 LO_attack; // PLC Setting for line out 0: 0dB, -1 : -0.125dB , 2 : -0.25dB Min = -240(-30dB)
  210. } TVFE_Audio_PLC_Param_t;
  211. typedef struct
  212. {
  213. UINT8 enable;
  214. UINT8 freq_index;
  215. } TVFE_Audio_Cuf_off_Param_t;
  216. typedef struct
  217. {
  218. INT8 enable;
  219. INT8 Q;
  220. double freq_index;
  221. } TVFE_Audio_HIGHPASS_Param_t;
  222. typedef struct
  223. {
  224. INT8 enable;
  225. INT8 Q;
  226. double freq_index;
  227. } TVFE_Audio_LOWPASS_Param_t;
  228. // Noise Reduce parameters
  229. typedef struct
  230. {
  231. UINT8 enable; // 0: disable, gain = 0db, 1: enable NR , decrease gain when input level is smaller
  232. UINT8 noiselevel; //if input level < noise level, reduce gain , if input > noise level, increase gain , max = 0db //<0:-40dB,1:-46dB,2:-52dB,3:-58db,4:-64db,5:-70db,6:-76db,7:-82dB,8:-88dB>
  233. UINT8 max_reduce_gain; // if input < noise level, max reduce gain, <0:-6dB,1:-8db,2:-10db,3:-12db,4:-14db,5:-16db,6:-18db,7:-20dB,8:-24db,9:-30dB,10:-36db>
  234. UINT8 rate; //NR adjust gain step
  235. } TVFE_Audio_NoiseReduce_Param_t;
  236. // PEQ parameters
  237. #ifdef CONFIG_SUPPORT_PROJECT_ID
  238. typedef struct
  239. {
  240. UINT8 enable[5]; // 0: disable, 1:enable
  241. UINT16 eq_fq[5]; // 20~20000
  242. UINT8 Qfactor[5]; // 1(0.1)~30(3.0)
  243. INT8 gain[5]; // -50~+50, each step is 0.24dB
  244. } TVFE_Audio_Parametric_Equalizer_Config_t;
  245. #else
  246. typedef struct
  247. {
  248. UINT8 enable[3]; // 0: disable, 1:enable
  249. UINT16 eq_fq[3]; // 20~20000
  250. UINT8 Qfactor[3]; // 1(0.1)~30(3.0)
  251. INT8 gain[3]; // -50~+50, each step is 0.24dB
  252. } TVFE_Audio_Parametric_Equalizer_Config_t;
  253. #endif
  254. INT32 OpenAudioRxDev(void);
  255. void CloseAudioRxDev(void);
  256. TVFE_Audio_Status_e TVFE_Audio_DevInit(void);
  257. TVFE_Audio_Status_e TVFE_Audio_DevExit(void);
  258. TVFE_Audio_Status_e _tvfe_Audio_Adjust_ioctl(AUDIO_ADJUST adj);
  259. TVFE_Audio_Status_e TVFE_Audio_Source_Disable(void);
  260. TVFE_Audio_Status_e TVFE_Audio_Source_Enable(TVFE_AUDIO_SOURCE_SELECT_t TVFE_ASS);
  261. TVFE_Audio_Status_e TVFE_Audio_Set_Source(TVFE_AUDIO_SOURCE_SELECT_t TVFE_ASS);
  262. TVFE_Audio_Status_e TVFE_Audio_SPDIF_Output_Config(TVFE_Audio_SPDIF_Output_Config_e SPDIF_Output_Config);
  263. TVFE_Audio_Status_e TVFE_Audio_Set_ADC_Linein_Pin(unsigned char line_in_num);
  264. TVFE_Audio_Status_e TVFE_Audio_Set_ADC_GAIN(UINT32 adc_pga_gain, UINT32 adc_dpga_gain);
  265. TVFE_Audio_Status_e TVFE_Audio_Set_Volume(TVFE_Audio_Volume_t *pVolume_Config, INT32 OffsetStep);
  266. TVFE_Audio_Status_e TVFE_Audio_Set_Balance(INT32 LeftValue, INT32 RightValue);
  267. TVFE_Audio_Status_e TVFE_Audio_Set_Cuf_off_Config(TVFE_Audio_Cuf_off_Param_t * pCut_off_parm);
  268. TVFE_Audio_Status_e TVFE_Audio_Set_Mute_Config(TVFE_Audio_Mute_t *pMute_Config);
  269. TVFE_Audio_Status_e TVFE_Audio_Get_Mute_Status(unsigned int *pMute_status);
  270. TVFE_Audio_Status_e TVFE_Audio_Lip_Sync_Config(TVFE_Audio_Lip_Sync_Config_t Lip_Sync_Config);
  271. TVFE_Audio_Status_e TVFE_Audio_Set_AD_Volume(UINT16 gain);
  272. TVFE_Audio_Status_e TVFE_Audio_SetDualMode(TVFE_Audio_SetDualMode_t dualmode);
  273. TVFE_Audio_Status_e TVFE_Audio_Get_MPEGChannelStatus(INT32* pmode);
  274. TVFE_Audio_Status_e TVFE_Audio_Get_ChannelNum(INT32* pNumber);
  275. TVFE_Audio_Status_e TVFE_Audio_Set_Scart_OnOff(unsigned char ONOFF);
  276. TVFE_Audio_Status_e TVFE_Audio_Get_HP_Status(UINT8 *php_status);
  277. TVFE_Audio_Status_e TVFE_Audio_SetDevicePower(AUDIO_DEVICE_POWERCTRL *pPowerConfig);
  278. TVFE_Audio_Status_e TVFE_Audio_Send_AudioInfo(TVFE_Audio_INFO_t* pAudioInfo);
  279. TVFE_Audio_Status_e TVFE_Audio_GET_IC_STATUS(pTVFE_Audio_ICSTS_t pStatus);
  280. TVFE_Audio_Status_e TVFE_Audio_Project_Init(TVFE_Audio_Project_Info_t *pProject_Init);
  281. #ifdef CONFIG_SUPPORT_BOOT_MUSIC
  282. TVFE_Audio_Status_e TVFE_Audio_Melody_Init(INT32 m_volume);
  283. #endif
  284. #ifdef CONFIG_SUPPORT_BURN_MUSIC
  285. TVFE_Audio_Status_e TVFE_Audio_Burn_Melody_Init(INT32 m_volume);
  286. TVFE_Audio_Status_e TVFE_Audio_Burn_Melody_Exit(INT32 m_volume);
  287. #endif
  288. TVFE_Audio_Status_e TVFE_Audio_Set_IO_MUX(pTVFE_Audio_IO_SELECT_t pIO);
  289. #ifdef CONFIG_SUPPORT_AUDIO_CODEC_OVERLAY
  290. TVFE_Audio_Status_e TVFE_Audio_Load_Codec(pTVFE_Audio_LOAD_CODEC_t pConfig);
  291. #endif
  292. TVFE_Audio_Status_e TVFE_Auio_Get_ADCDAC_poweron_ready(void);
  293. TVFE_Audio_Status_e TVFE_Auio_Set_RX_LR_CHANNEL(UINT8 Onoff);
  294. // Audio Effect
  295. //TVFE_Audio_Status_e TVFE_Audio_Initial_Main_Equalizer(TVFE_Audio_Equalizer_Init_t* pEQ);
  296. //TVFE_Audio_Status_e TVFE_Audio_Set_Main_Equalizer_Config(TVFE_Audio_Equalizer_Config_t *pEQ);
  297. //TVFE_Audio_Status_e TVFE_Audio_Get_Main_Equalizer_Config(TVFE_Audio_Equalizer_Config_t *pEQ);
  298. TVFE_Audio_Status_e TVFE_Audio_Initial_SRSTSHD(TVFE_Audio_SRSTSHD_Param_t *ptSRS_Parameter);
  299. TVFE_Audio_Status_e TVFE_Audio_Set_SRSTSHD(UINT8 bOnOff, TVFE_Audio_SRSTSHD_Param_t* ptSRS_Parameter);
  300. TVFE_Audio_Status_e TVFE_Audio_Initial_SUNSUR(TVFE_Audio_SUNSUR_Param_t *ptSUNSUR_Param);
  301. TVFE_Audio_Status_e TVFE_Audio_Initial_MSAE(TVFE_Audio_MSSUR_Param_t *ptMSSUR_Param);
  302. TVFE_Audio_Status_e TVFE_Audio_Set_SUNSUR(UINT8 bOnOff, TVFE_Audio_SUNSUR_Param_t* ptSUNSUR_Param);
  303. TVFE_Audio_Status_e TVFE_Audio_Set_MS_SUR(UINT8 bOnOff, TVFE_Audio_MSSUR_Param_t* ptMSSUR_Param);
  304. TVFE_Audio_Status_e TVFE_Audio_Set_Effect_Mode(TVFE_AudioSurroundMode_t* Effect_Mode);
  305. #ifdef CONFIG_AUDIO_PARAMETRIC_SHELVING
  306. TVFE_Audio_Status_e TVFE_Audio_Set_Bass(INT8 gain, UINT32 freuency);
  307. TVFE_Audio_Status_e TVFE_Audio_Set_Treble(INT8 gain, UINT32 freuency);
  308. #else
  309. TVFE_Audio_Status_e TVFE_Audio_Set_Bass(INT8 param);
  310. TVFE_Audio_Status_e TVFE_Audio_Set_Treble(INT8 param);
  311. #endif
  312. TVFE_Audio_Status_e TVFE_Audio_Set_AVL_Config(TVFE_Audio_AVL_Param_t* pAVL);
  313. TVFE_Audio_Status_e TVFE_Audio_Set_Noise_Reduce_Config(TVFE_Audio_NoiseReduce_Param_t *pNR);
  314. //TVFE_Audio_Status_e TVFE_Audio_Set_Parametric_Equalizer_Config(TVFE_Audio_Parametric_Equalizer_Config_t *pEQ);
  315. TVFE_Audio_Status_e TVFE_Audio_Set_Parametric_Equalizer_Config(PEQ_SET * pEQ);
  316. #ifdef CONFIG_SUPPORT_HIGHLOW_PASS
  317. TVFE_Audio_Status_e TVFE_Audio_Set_HighPass_Config(TVFE_Audio_HIGHPASS_Param_t * phigh_pass);
  318. TVFE_Audio_Status_e TVFE_Audio_Set_LowPass_Config(TVFE_Audio_LOWPASS_Param_t * plow_pass);
  319. #endif
  320. TVFE_Audio_Status_e TVFE_Audio_Set_PLC_Config(TVFE_Audio_PLC_Param_t *pPLC_parm);
  321. TVFE_Audio_Status_e TVFE_Audio_Set_SRSTVOL_Config(TVFE_Audio_SRSTVOL_Param_t *ptSRS_Parameter);
  322. #ifdef CONFIG_SUPPORT_DBX
  323. TVFE_Audio_Status_e TVFE_Audio_DBXTV_SetMode(DBXTV_TotSonMode TotSonMode, DBXTV_TotVolMode TotVolMode, DBXTV_TotSurMode TotSurMode, UINT32 Enable);
  324. TVFE_Audio_Status_e TVFE_Audio_DBXTV_LoadPresetsFile(char *filename);
  325. TVFE_Audio_Status_e TVFE_Audio_DBXTV_GetParamCoeff(UINT32 ParamCoeff, UINT32 ParamCoeffOffset, UINT32 *ParamCoeffValue);
  326. TVFE_Audio_Status_e TVFE_Audio_DBXTV_SetParamCoeff(UINT32 ParamCoeff, UINT32 ParamCoeffOffset, UINT32 ParamCoeffValue);
  327. #endif
  328. //SIF function
  329. TVFE_Audio_Status_e TVFE_Audio_SetSIFPowerCtl(ATVPOWSTS_t ATVStatus);
  330. TVFE_Audio_Status_e TVFE_Audio_GetSIFInfo(pTVFE_AudioFrontEndStatus_t pGET_SIFinfo);
  331. TVFE_Audio_Status_e TVFE_Audio_SetATVDetect(pTVSYS_CONFIG pTVSystem);
  332. TVFE_Audio_Status_e TVFE_Audio_SetATVSystem(TVFE_AudioSIFStandard_t TVSystem);
  333. TVFE_Audio_Status_e TVFE_Audio_SetSIFCurrentMode(TVFE_AudioSIFMode_e eSifMode);
  334. TVFE_Audio_Status_e TVFE_Audio_SetSIFAutoMute(SIFAAOSASD_STSFLAG Enable_Auto_Mute);
  335. TVFE_Audio_Status_e TVFE_Audio_SetSIFThreshold(pTVFE_AudioSIF_TH pSifThreshold);
  336. TVFE_Audio_Status_e TVFE_Audio_RFLineCTL(UINT8 plugin);
  337. TVFE_Audio_Status_e TVFE_Audio_SetSIFGAIN(pSET_SIF_GAIN pADJ_SIF_GAIN);
  338. TVFE_Audio_Status_e TVFE_Audio_SetSIFAGC_Reset(UINT32 Enable);
  339. TVFE_Audio_Status_e TVFE_Audio_SetSIFAAOS_OnOff(UINT8 Enable);
  340. //~sif
  341. TVFE_Audio_Status_e TVFE_Audio_Get_Channel_Number(TVFE_Audio_Channel_Number_e *channel_number);
  342. TVFE_Audio_Status_e TVFE_Audio_Headphone_Init(TVFE_Audio_Headphone_t *pHP_Init);
  343. TVFE_Audio_Status_e TVFE_Audio_SetATVDetect(pTVSYS_CONFIG pTVSystem );
  344. TVFE_Audio_Status_e TVFE_Audio_Set_Dolby_Delay(INT32 value);
  345. #endif