drv_audio_internal.h 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605
  1. #ifndef _DRV_AUDIO_INTERNAL_H_
  2. #define _DRV_AUDIO_INTERNAL_H_
  3. #include "drv_audio_interface.h"
  4. #include "drv_audio_cmdq.h"
  5. typedef enum _AUDIOROM_INFO_e
  6. {
  7. ARINFO_SFREQ = 0,
  8. ARINFO_CHANNELNUM,
  9. ARINFO_SAMPLENUMBER,
  10. ARINFO_LASTPTS,
  11. ARINFO_LASTDATAPTR,
  12. ARINFO_LAST_AD_DATAPTR,
  13. ARINFO_INPUT_DATATYPE,
  14. ARINFO_AUDIO_FEATURE,
  15. ARINFO_TXDESP_NUM,
  16. ARINFO_TXDESP_LRADDR,
  17. ARINFO_AMP_AUDIO_TYPE,
  18. ARINFO_SAMPLENUMBER_DEC2,
  19. ARINFO_DES_NO,
  20. ARINFO_TITOI_STATUS,
  21. ARINFO_ERR
  22. } AUDIOROM_INFO_e;
  23. #pragma pack(push,1)
  24. typedef struct _AUDIORX_INPUT_DESCRIPTION
  25. {
  26. // 1st UINT32
  27. UINT32 buff_valid : 1;
  28. UINT32 UINT321_b1_b15 : 15;
  29. UINT32 buff_size : 15; // 16 UINT8 align
  30. UINT32 UINT321_b31 : 1;
  31. // 2nd UINT32
  32. UINT32 UINT322_b0 : 1;
  33. UINT32 pts_exist : 1;
  34. UINT32 dowrd2_b2_b15 : 14;
  35. UINT32 pts_val_b0_15 : 16;
  36. // 3th UINT32
  37. UINT32 pts_val_b16_b32 : 17;
  38. UINT32 UINT323_b17_b31 : 15;
  39. // 4th UINT32
  40. UINT32 UINT324;
  41. // 5th UINT32
  42. UINT32 start_addr_1;
  43. // 6th UINT32
  44. UINT32 start_addr_2;
  45. // 7th UINT32
  46. UINT32 start_addr_3;
  47. // 8th UINT32
  48. UINT32 start_addr_4;
  49. }AUDIORX_INPUT_DESCRIPTION, *pAUDIORX_INPUT_DESCRIPTION;
  50. typedef struct _AUDIOTX_OUTPUT_DESCRIPTION
  51. {
  52. // 1st UINT32
  53. UINT32 BuffValid : 1;
  54. UINT32 Pause : 1;
  55. UINT32 Discont : 1;
  56. UINT32 AutoStuff : 1;
  57. UINT32 Reserved : 1;
  58. UINT32 AutoStuffLen : 11; // 16 UINT8 align
  59. UINT32 BuffSize : 15; // 16 UINT8 align
  60. UINT32 Reserved1 : 1;
  61. // 2nd UINT32
  62. UINT32 DataValid : 1;
  63. UINT32 PTSExist : 1;
  64. UINT32 StopDiscontFreeRun : 1;
  65. UINT32 Reserved2 : 5;
  66. UINT32 L_invalid : 1;
  67. UINT32 R_invalid : 1;
  68. UINT32 Lfe_invalid : 1;
  69. UINT32 C_invalid : 1;
  70. UINT32 Ls_invalid : 1;
  71. UINT32 Rs_invalid : 1;
  72. UINT32 SL_invalid : 1;
  73. UINT32 SR_invalid : 1;
  74. UINT32 PTSValue1 : 16; // PTS[0:15]
  75. // 3th UINT32
  76. UINT32 PTSValue2 : 17; // PTS[16:32]
  77. UINT32 NLsize : 11;
  78. UINT32 Reserved3 : 4;
  79. // 4th UINT32
  80. UINT32 NLAddr;
  81. // 5th UINT32
  82. UINT32 LRAddr;
  83. // 6th UINT32
  84. UINT32 CLFEAddr;
  85. // 7th UINT32
  86. UINT32 LSRSAddr;
  87. // 8th UINT32
  88. UINT32 SLSRAddr;
  89. }AUDIOTX_OUTPUT_DESCRIPTION, *pAUDIOTX_OUTPUT_DESCRIPTION;
  90. typedef struct _AUDIO_MPEGHEADERDATA
  91. {
  92. union
  93. {
  94. struct
  95. {
  96. UINT32 emphasis:2;
  97. UINT32 original_copy:1;
  98. UINT32 copyright:1;
  99. UINT32 mode_extension:2;
  100. UINT32 mode:2;
  101. UINT32 private_bit:1;
  102. UINT32 padding_bit:1;
  103. UINT32 sampling_frequency:2;
  104. UINT32 bitrate_index:4;
  105. UINT32 protection_bit:1;
  106. UINT32 layer:2;
  107. UINT32 id:1;
  108. UINT32 syncword:12;
  109. };
  110. struct
  111. {
  112. UINT32 reserved02:20;
  113. UINT32 lsf:1;
  114. UINT32 reserved01:11;
  115. };
  116. UINT32 dw;
  117. };
  118. }AUDIO_MPEGHEADERDATA, *AUDIO_MPEGHEADERDATAPTR;
  119. //07/15/2010 added by cdlin to support MPEG2 AAC for CyberView ISDB-T project.
  120. typedef struct _AUDIO_MPEG2AACHEADERDATA
  121. {
  122. union
  123. {
  124. struct
  125. {
  126. UINT32 error_check_bit7_0:8;
  127. UINT32 number_of_raw_data_blocks_in_frame:2;
  128. UINT32 adts_buffer_fullness:11;
  129. UINT32 frame_length_bit10_0:11;
  130. };
  131. UINT32 dw2;
  132. };
  133. union
  134. {
  135. struct
  136. {
  137. UINT32 frame_length_bit12_11:2;
  138. UINT32 copyright_identification_start:1;
  139. UINT32 copyright_identification_bit:1;
  140. UINT32 home:1;
  141. UINT32 original_copy:1;
  142. UINT32 channel_configuration:3;
  143. UINT32 private_bit:1;
  144. UINT32 sampling_frequency_index:4;
  145. UINT32 profile:2;
  146. UINT32 protection_absent:1;
  147. UINT32 layer:2;
  148. UINT32 id:1;
  149. UINT32 syncword:12;
  150. };
  151. UINT32 dw1;
  152. };
  153. }AUDIO_MPEG2AACHEADERDATA, *AUDIO_MPEG2AACHEADERDATAPTR;
  154. #ifdef CONFIG_DTMB_SYSTEM
  155. typedef struct _AUDIO_DRAHEADERDATA
  156. {
  157. union
  158. {
  159. struct
  160. {
  161. UINT32 reserved01:27;
  162. UINT32 num_lef_ch:1;
  163. UINT32 num_normal_ch:3;
  164. UINT32 samplerate_index_bit0:1;
  165. };
  166. UINT32 dw2;
  167. };
  168. union
  169. {
  170. struct
  171. {
  172. UINT32 samplerate_index_bit3_1:3;
  173. UINT32 num_block_per_trans:2;
  174. UINT32 num_WORD:10; //one word 32bits unit
  175. UINT32 frame_header_type:1;
  176. UINT32 syncword:16; //0x7fff
  177. };
  178. UINT32 dw1;
  179. };
  180. }AUDIO_DRAHEADERDATA, *AUDIO_DRAHEADERDATAPTR;
  181. #endif
  182. typedef struct _AUDIO_IEC61937_HEADER
  183. {
  184. union
  185. {
  186. UINT32 header;
  187. UINT32 dw1;
  188. };
  189. union
  190. {
  191. struct{
  192. UINT32 length:16;
  193. UINT32 data_type:5;
  194. UINT32 reserved:2;
  195. UINT32 error_flag:1;
  196. UINT32 dependent_info:5;
  197. UINT32 bitstream_num:3;
  198. };
  199. UINT32 dw2;
  200. };
  201. }AUDIO_IEC61937_HEADER,*AUDIO_IEC61937_HEADER_PTR;
  202. typedef struct _SPDIF_CHANNEL_STATUS
  203. {
  204. UINT32 spdif_channel_status_b0_b7 : 8; //audioreg58
  205. UINT32 spdif_channel_status_b8_b15 : 8; // audioreg59
  206. UINT32 spdif_channel_status_b16_b23 : 8; // audioreg5a
  207. UINT32 spdif_channel_status_b24_b31 : 8; // audioreg5b
  208. UINT32 spdif_channel_status_b32_b39 : 8; // audioreg53
  209. } SPDIF_CHANNEL_STATUS,*pSPDIF_CHANNEL_STATUS;
  210. /*
  211. BELOW INFORMATION IS FOR AUDIO CONTROL MAP ADUIOROM INFO.
  212. */
  213. /* True Volume */
  214. typedef struct _TRUEVOL_INFO
  215. {
  216. struct
  217. {
  218. UINT32 tv : 1;
  219. UINT32 tvleftenable : 1;
  220. UINT32 tvrightenable : 1;
  221. UINT32 tvnoise : 1;
  222. UINT32 srs_reserved_b4_b7 : 4;
  223. UINT32 tvmode : 1;
  224. UINT32 tvspksize: 3;
  225. UINT32 srs_reserved_b12: 20;
  226. };
  227. UINT32 inputgain; //input gain, 0~0x7fffffff
  228. UINT32 outputgain; //output gain, 0~0x7fffffff
  229. UINT32 bypassgain; //bypass gain, 0~0x7fffffff
  230. UINT32 referencelevel; //reference gain, 0~0x7fffffff
  231. UINT32 maxgain;
  232. UINT32 noisethreshold;
  233. }TRUEVOL_INFO, *pTRUEVOL_INFO;
  234. /* AUDIOROM ONLY*/
  235. typedef struct _SRS_TSHD_INFO
  236. {
  237. UINT8 mEnable; /* True = Process, False = Bypass */
  238. UINT8 mSurroundEnable;
  239. UINT8 mDialogClarityEnable;
  240. UINT8 mTruBassEnable;
  241. UINT8 mDefinitionFrontEnable;
  242. UINT8 mTruBassSpksize;
  243. UINT8 mInputMode;
  244. UINT8 mOutputMode;
  245. INT32 mInputGain;
  246. INT32 mOutputGain;
  247. INT32 mBypassGain;
  248. INT32 mSurroundLevel;
  249. INT32 mDialogClarityLevel;
  250. INT32 mTruBassLevel;
  251. INT32 mDefinitionFrontLevel;
  252. }SRS_TSHD_INFO, *pSRS_TSHD_INFO;
  253. typedef struct _AGC_INFO
  254. {
  255. UINT8 Enable; /* True = Process, False = Bypass */
  256. UINT8 limiter_level; //unit -1dB, 0: 0: 0.dB(default), 1: -1dB, 2: -2dB.... Max: 30 : -30dB
  257. UINT8 pullup_gain; //unit: 0.1dB, 0: 0.dB(default), 1: 0.1 dB... max:180(18 dB)
  258. 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
  259. UINT8 pullup_active_level; // when signal < AGC_pullup_active_level and then pull up gain will be work // 0 ~ -30
  260. UINT8 active_time; //unit 10ms, 0: 10ms, 1: 20ms... 15: 160ms,
  261. UINT8 AGC_Reserve_b[10]; //reserved
  262. }AGC_INFO, *pAGC_INFO;
  263. typedef struct _AUDIOEFFECT_INFO
  264. {
  265. struct
  266. {
  267. UINT8 enable: 1;
  268. UINT8 surround_en:1;
  269. UINT8 voice_en: 1;
  270. UINT8 bass_en: 1;
  271. UINT8 Reserved0: 4;
  272. };
  273. UINT8 Sur_mode; //surround mode
  274. UINT8 Sur_Lv; // surround level
  275. UINT8 Voice_Lv; //voice level
  276. UINT8 Bass_Lv; // bass level
  277. UINT8 Bass_Freq; // bass freq
  278. UINT8 inputgain;
  279. UINT8 directgain; //only use for S+ Surround
  280. UINT8 reverbgain; //only use for S+ Surround
  281. UINT8 ambiancegain; //only use for S+ Surround
  282. UINT8 AE_Reserve_b[6]; //reserved
  283. }AUDIOEFFECT_INFO, *pAUDIOEFFECT_INFO;
  284. typedef struct _DBXAUDIO_INFO
  285. {
  286. UINT8 mtotvol;
  287. UINT8 mtotsur;
  288. UINT8 mtotson;
  289. UINT8 m_dbx_reserved;
  290. UINT32 enable_flag;
  291. UINT32 preset_addr;
  292. UINT32 param_addr;
  293. UINT32 coeff_addr;
  294. UINT32 reserved1;
  295. UINT32 reserved2;
  296. }DBXAUDIO_INFO, *pDBXAUDIO_INFO;
  297. typedef struct _TITOI_INFO
  298. {
  299. INT32 param[64];
  300. }TITOI_INFO, *pTITOI_INFO;
  301. typedef struct _MS_AE_SET_INFO
  302. {
  303. struct
  304. {
  305. unsigned char MS_AE_enable: 1;
  306. unsigned char MS_AE_surround_en:1;
  307. unsigned char MS_AE_voice_en: 1;
  308. unsigned char MS_AE_bass_en: 1;
  309. unsigned char MS_definition_en: 1;
  310. unsigned char MS_AE_sf_exp: 1; //EXPANSION SOUND FIELD
  311. unsigned char Reserved0: 2;
  312. };
  313. unsigned char MS_AE_surround_gain; // , default 8 //0.0~1.0,outputsound= (1-gain)*(input_sound) + gain*(surround_sound)
  314. unsigned char MS_AE_Sur_Lv; // surround level delay ,delay sample //0~4800,echo effect , 480 sample/step.
  315. unsigned char MS_AE_Sur_Delay;
  316. unsigned char MS_AE_Bass_Freq; // bass freq 0:100 1:200 2:400
  317. unsigned char MS_AE_bassfix_gain; // , default 8
  318. unsigned char MS_AE_Voice_Lv; //voice level ,dialog clarity //0~+10dB (2500Hz EQ)
  319. unsigned char MS_AE_Definition_gain; // high pass definition 0~+10dB (5000Hz EQ)
  320. unsigned char MS_AE_reserved[8];
  321. }MS_AE_SET_INFO, *pMS_AE_SET_INFO;
  322. typedef struct _CUT_OFF_INFO
  323. {
  324. unsigned char CUT_OFF_ENABLE;
  325. unsigned char CUT_OFF_FREQ_INDEX;
  326. unsigned char reserved[2];
  327. }CUT_OFF_INFO,*pCUT_OFF_INFO;
  328. /*
  329. AUDIO CONTROL STRUCTURE
  330. This structure is used for AudioRom and Driver communication.
  331. Start Address is "AUDIO_CONTROL_BUFF_ADDR", Reserved size is 2048 bytes
  332. CONTROL BUFFER LAYOUT
  333. 1. Audio PostProcessor Info //768 BYTES,
  334. Relative Items will show current postprocessor status.
  335. 2. Audio ROM info //256 BYTES
  336. Relative Items will show current AudioRom Info , Ex. sfreq, PTSOFFSET.....
  337. 3. Reserved // 1024 BYTES
  338. */
  339. typedef struct _AUDIO_CONTROL
  340. {
  341. //Audio PostProcessor Info Start //768 BYTES,
  342. // offset: 0x0
  343. union
  344. {
  345. UINT32 post_processing_enable;
  346. struct
  347. {
  348. UINT32 AE_enable : 1;
  349. UINT32 AGC_enable : 1;
  350. UINT32 EQEnable : 1;
  351. UINT32 PEQEnable: 1;
  352. UINT32 ShelvingEnable : 1;
  353. UINT32 SRS_TVOL_Enable : 1;
  354. UINT32 SRS_TSHD_Enable : 1;
  355. UINT32 FreqPeakDet_En: 1;
  356. UINT32 dbxaudio_en: 1;
  357. UINT32 HPLPEnable : 1;
  358. UINT32 MBDRCEnable : 1;
  359. UINT32 TITOISucess : 1;
  360. UINT32 pp_reserved_b10_b30 : 19;
  361. UINT32 pp_test_eanble : 1;
  362. };
  363. };
  364. //0x04
  365. UINT32 ARINFO_b04;
  366. #if 1//def CONFIG_SUPPORT_PEQ_12BAND
  367. // EQ, offset: 0x08 for 12band EQ or PEQ make sure ROM support 12band case
  368. PEQ_ELEMENT peq_set[PEQ_BAND_MAX]; //size = 20x12 = 240, bytes
  369. UINT32 ARINFO_EQ_12BANDReserved; //Reserved
  370. #else
  371. // EQ, offset: 0x08 for 9band EQ & 3band PEQ
  372. SIS_PEQ_ELEMENT eq_set[EQ_BAND_MAX]; //size = 20x9 = 180, bytes
  373. //0xBC~0xBF Reserved
  374. UINT32 ARINFO_bBC;
  375. // PEQ, offset: 0xC0
  376. SIS_PEQ_ELEMENT peq_set[PEQ_BAND_MAX]; //size = 20x3 = 60 bytes
  377. #endif
  378. //0xFC~0x10F Reserved
  379. UINT32 ARINFO_bFC;
  380. UINT32 ARINFO_b100;
  381. UINT32 ARINFO_b104;
  382. UINT32 ARINFO_b108;
  383. UINT32 ARINFO_b10C;
  384. //0x110
  385. INT8 bassGain;
  386. INT8 trebleGain;
  387. //0x112~0x113 Reserved
  388. UINT8 ARINFO_b112;
  389. UINT8 ARINFO_b113;
  390. //0x114
  391. SRS_TSHD_INFO tshd_info; //size = 36 bytes
  392. //0x138~0x13C Reserved
  393. UINT32 ARINFO_b138;
  394. UINT32 ARINFO_b13C;
  395. //0x140
  396. TRUEVOL_INFO TrueVol_info; //size =28 bytes
  397. //0x15c Reserved
  398. CUT_OFF_INFO CUT_INFO;
  399. //0x160
  400. #ifdef CONFIG_AUDIO_MAXIMUS_SURROUND
  401. MS_AE_SET_INFO MS_AE_INFO;
  402. #else
  403. AUDIOEFFECT_INFO AE_INFO; //size = 16 bytes
  404. #endif
  405. //0x170
  406. AGC_INFO agcinfo; //size = 16 bytes
  407. // offset: 0x180 FF/FW/normal playback,
  408. UINT8 playback_status;
  409. UINT8 ARINFO_PP_RESERVED1[3];
  410. //0x184~0x18F
  411. DBXAUDIO_INFO dbx_info;
  412. //0x190~0x28F
  413. TITOI_INFO titoi_info;
  414. //0x290~0x2FF Reserved
  415. UINT8 ARINFO_PP_RESERVED[96];
  416. //Audio PostProcessor Info End //768 BYTES,
  417. //AudioRom Info Start
  418. //0x300
  419. UINT32 audiorom_version; //audiorom version
  420. //0x304
  421. UINT32 audio_feature; //define AUDIOROM SUPPORT AUDIO FEATURE, EX . MP3/AAC/AC3/EAC3/SRSTSHD....ETC
  422. //0x308
  423. union
  424. {
  425. UINT32 project_info;
  426. struct
  427. {
  428. //b[7:0]
  429. UINT32 i2sbypass : 8;
  430. //b[15:8]
  431. UINT32 canalplus : 8;
  432. //b[23:16]
  433. UINT32 fix_q_eq : 1;
  434. UINT32 alsa_pcm_type: 2;
  435. UINT32 reserved_b19_b23 : 5;
  436. //b[31:24]
  437. UINT32 reserved_b24_b31 : 8;
  438. };
  439. };
  440. //0x30c
  441. UINT32 ARINFO_RESERVED1;
  442. //0x310
  443. UINT32 audio_data_type; //record current audio input data type (codec type)
  444. UINT32 sample_freq;
  445. UINT32 sample_number;
  446. union{
  447. UINT32 channel_number;
  448. UINT32 mpeg_channel_status; //MPEG CHANNEL NUMBER are ALWAYS 2, but channel status is different , STEREO, JOINT STEREO , DUAL CHANNEL ETC.
  449. };
  450. //0x320
  451. UINT32 DESNO;
  452. UINT32 ulLastPTS;
  453. UINT32 PTS_offset;
  454. UINT32 last_dataptr; //record latest processed audio cmd data ptr
  455. //0x330
  456. UINT32 last_AD_dataptr; //record latest AD audio cmd data ptr
  457. UINT32 audio_cur_cycle;
  458. UINT32 audio_max_cycle;
  459. UINT32 sample_number_dec2; //decode2 sample number;
  460. //0x340
  461. UINT32 peak_audio_in_l;
  462. UINT32 peak_audio_in_r;
  463. UINT32 peak_audio_out_l;
  464. UINT32 peak_audio_out_r;
  465. //0x350
  466. UINT32 rms_i2s_l[2]; //AUDIOROM RMS VALUE SD0/SD1
  467. UINT32 rms_i2s_r[2]; //AUDIOROM RMS VALUE SD0/SD1
  468. //0x360
  469. struct
  470. {
  471. UINT32 audio_mem_size : 13; //max 8192KB
  472. UINT32 sample_byte: 3; //0&4 = 4 BYTES(32 bits) , 1= 8 bits , 2= 16 bits
  473. UINT32 tx_desp_num: 6;
  474. UINT32 cmd_size: 5;
  475. UINT32 ext_lib_size: 5;
  476. };
  477. //0x364
  478. struct
  479. {
  480. UINT32 pcm_wp : 8;
  481. UINT32 pcm_rp : 8;
  482. UINT32 raw_wp: 8;
  483. UINT32 raw_rp: 8;
  484. };
  485. //0x360~0x400 Reserved
  486. //UINT8 ARINFO_RESERVED1[212];
  487. //Reserved _RESERVED1[212];
  488. //Reserved
  489. } AUDIO_CONTROL, *pAUDIO_CONTROL;
  490. #pragma pack(pop)
  491. void DRV_AUDIO_DC_SetMute(pTVFE_Audio_Mute_t pMute_Config);
  492. UINT8 DRV_AUDIO_Get_CurrTokenCount(void); // Return HW token count (audio HW queue buffer number)
  493. BOOL SendAudioCmdq(AUDIO_CMDQ *pCmdq); // true: success, false: fail
  494. void AudioHW_Engine_Reset(void);
  495. BOOL ResetAudioENG(AUDIO_CMDQ *pReset);//for hw request sw use R_AUDIO_SUBRST instead of R_AUDIO_RST on sis330 chip later.
  496. void ScartOut_HDMI_NOSIGNAL(void);//support HDMI no signal , Scart out can to output ATV sound.
  497. UINT8 DRV_AUDIO_IS_MP_Source(void); //check current audio source is used mp driver or not.
  498. UINT8 DRV_AUDIO_IS_Linein_Source(void); //check current audio source is analog input source
  499. void DRV_AUDIO_Set_SIFSCART(BOOL bEnable); //Set SIF Bypass feature for Line out
  500. pAUDIO_CONTROL DRV_AUDIO_Get_AudioCtlInfo(void);
  501. UINT32 DRV_AUDIO_Get_ARInfo(AUDIOROM_INFO_e arinfo);
  502. void DRV_AUDIO_Set_ARInfo(AUDIOROM_INFO_e arinfo, UINT32 value);
  503. UINT32 DRV_AUDIO_FC_GetMuteStatus(void);
  504. void DRV_AUDIO_FC_GetAudioSettings(AUDIO_SETTINGS_t* pSettings);
  505. #endif