hv_mw_Audio.h 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. /*
  2. * @file hv_mw_Audio.h
  3. * @brief Header file of audio module.
  4. *
  5. * @verbatim
  6. * ==============================================================================
  7. * ##### How to use #####
  8. * ==============================================================================
  9. * (+) Use Hv_Mw_Audio_Init() to initial audio module, for system module.
  10. * (+) Use Hv_Mw_Audio_SelectSound(1/4) to select one input from HDMI1/HDMI2/DP1/DP2, for channel manager and setting APP module.
  11. * (+) Use Hv_Mw_Audio_GetVolume() to get volume value from datebase, for setting APP module.
  12. * (+) Use Hv_Mw_Audio_SetVolume(0-100) to set 0-100 value to DAC, for setting APP module.
  13. * (+) Use Hv_Mw_Audio_ChannelMute() to mute audio, for channel manager and setting APP module.
  14. * (+) Use Hv_Mw_Audio_ChannelUnMute() to unmute audio, for channel manager and setting APP module.
  15. * (+) Use Hv_Mw_Audio_SetEQMode(xxx mode) to set xxx mode to HW-EQ, for setting APP module.
  16. * (+) Use Hv_Mw_Audio_DelaySound(xx ms) to delay the sound by xx ms over the video, for setting APP module.
  17. *
  18. * @endverbatim
  19. * @author HiView SoC Software Team
  20. * @version 1.0.0
  21. * @date 2022-08-18
  22. */
  23. #ifndef __SDK_MIDDLEWARE_AUDIO_H__
  24. #define __SDK_MIDDLEWARE_AUDIO_H__
  25. #include "hv_comm_DataType.h"
  26. #include "hv_comm_Define.h"
  27. /**
  28. * @brief initialize audio module, for system module.
  29. * @param[in] VOID.
  30. * @return SUCCESS.
  31. */
  32. Status Hv_Mw_Audio_Init(VOID);
  33. /**
  34. * @brief select one input from HDMI1/HDMI2/DP1/DP2, for channel manager and setting APP module.
  35. * @param[in] uiSoundChannelIndex: HDMI1/HDMI2/DP1/DP2.
  36. * @return Status, 0-SUCCESS, 1-FAILUER.
  37. */
  38. Status Hv_Mw_Audio_SelectSound(LinkPortIndex uiSoundChannelIndex, ChannelType enChannelType);
  39. /**
  40. * @brief get volume value from datebase, for setting APP module.
  41. * @param[in] VOID.
  42. * @return 0-100 value.
  43. */
  44. UINT32 Hv_Mw_Audio_GetVolume(VOID);
  45. /**
  46. * @brief set 0-100 value to DAC, for setting APP module.
  47. * @param[in] uiSoundVolumeValue: 0-100.
  48. * @return Status, 0-SUCCESS, 1-HV_FAILURE.
  49. */
  50. Status Hv_Mw_Audio_SetVolume(UINT32 uiSoundVolumeValue);
  51. /**
  52. * @brief mute audio, for setting APP module.
  53. * @return Status, 0-SUCCESS, 1-HV_FAILURE.
  54. */
  55. Status Hv_Mw_Audio_UIMute(VOID);
  56. /**
  57. * @brief unmute audio, for setting APP module.
  58. * @return Status, 0-SUCCESS, 1-HV_FAILURE.
  59. */
  60. Status Hv_Mw_Audio_UIUnMute(VOID);
  61. /**
  62. * @brief mute audio, for channel manager.
  63. * @return Status, 0-SUCCESS, 1-FAILUER.
  64. */
  65. Status Hv_Mw_Audio_ChannelMute(UINT32 uiBitMsk);
  66. /**
  67. * @brief unmute audio, for channel manager.
  68. * @return Status, 0-SUCCESS, 1-FAILUER.
  69. */
  70. Status Hv_Mw_Audio_ChannelUnMute(UINT32 uiBitMsk);
  71. /**
  72. * @brief get eq mode, for setting APP module.
  73. * @param[in] void.
  74. * @return uiEQMode: Rock/Pop/Live/Dance/Club/Powerful MODE.
  75. */
  76. UINT32 Hv_Mw_Audio_GetEQMode(VOID);
  77. /**
  78. * @brief set eq mode to HW-EQ, for setting APP module.
  79. * @param[in] uiEQMode: Rock/Pop/Live/Dance/Club/Powerful MODE.
  80. * @return Status, 0-SUCCESS, 1-FAILUER.
  81. */
  82. Status Hv_Mw_Audio_SetEQMode(UINT32 uiEQMode);
  83. /**
  84. * @brief get delay time value from datebase, for setting APP module.
  85. * @param[in] VOID.
  86. * @return 0-500 value.
  87. */
  88. UINT32 Hv_Mw_Audio_GetDelayTime(VOID);
  89. /**
  90. * @brief delay the sound by xx ms over the video, for setting APP module.
  91. * @param[in] uiSoundDelayTime: 50-500 ms. 50 ms per-step.
  92. * @return Status, 0-SUCCESS, 1-HV_FAILURE.
  93. */
  94. Status Hv_Mw_Audio_SetDelayTime(UINT32 uiSoundDelayTime);
  95. /**
  96. * @brief Start Sound DelayTimer.
  97. */
  98. VOID Hv_Mw_Audio_StartSoundDelayTimer(VOID);
  99. /**
  100. * @brief audio spdif out, for channel manager and setting APP module.
  101. * @param[in] bAudioSpdifOut: ENABLE or DISABLE.
  102. */
  103. VOID Hv_Mw_Audio_SpdifOut(BOOL bAudioSpdifOut);
  104. /**
  105. * @brief Set Pll ManualConfig Fbdiv, for channel manager and setting APP module.
  106. */
  107. VOID Hv_Mw_Audio_SetPllManualConfig(VOID);
  108. /**
  109. * @brief Set Pll AutoConfig Fbdiv, for channel manager and setting APP module.
  110. */
  111. VOID Hv_Mw_Audio_SetPllAutoConfig(VOID);
  112. /**
  113. * @brief Lock PLL, for channel manager and setting APP module.
  114. */
  115. VOID Hv_Mw_Audio_ClockLock(VOID);
  116. /**
  117. * @brief TurnOnAmbientLight, for setting AmbientLight module.
  118. */
  119. VOID Hv_Mw_Audio_TurnOnAmbientLight(VOID);
  120. /**
  121. * @brief TurnOffAmbientLight, for setting AmbientLight module.
  122. */
  123. VOID Hv_Mw_Audio_TurnOffAmbientLight(VOID);
  124. #endif