audkernel.h
上传用户:poi891205
上传日期:2013-07-15
资源大小:9745k
文件大小:3k
源码类别:

DVD

开发平台:

C/C++

  1. #ifndef __AUDKRNL_H__
  2. #define __AUDKRNL_H__
  3. #include "global.h"
  4. #include "types.h"
  5. #include "audclk.h"
  6. #include "audcodec.h"
  7. #include "dsp3rom.h"
  8. #include "auddef.h"
  9. #include "dsp3_def.h"
  10. /***********************************************************************
  11.  *  Define Session
  12.  ***********************************************************************/
  13. UINT32 pl2_init_val;
  14. #ifdef MESSAGE_QUEUE
  15. enum _Q_CMD_TYPE_
  16. {
  17.     Q_EMPTY=0,          //no command in queue
  18.     Q_CMD_STATUSACK,    //status waiting command in queue
  19.     Q_CMD_GENERALACK,   //general waiting command in queue
  20.     Q_CMD_OTHER,        //other command
  21. }Q_CMD_TYPE;
  22. extern INT32 cmd_in_use;
  23. extern INT32 wait_cmd_count;
  24. #endif
  25. /***********************************************************************
  26.  *  Debug related Session
  27.  ***********************************************************************/
  28. #ifdef AUDKRNL_DBG
  29. #include "sio.h"
  30. #include "emuio.h"
  31. #define MONE_DOWNLOAD_CODEC
  32. extern BYTE linebuf[100];
  33. #undef  auddbg_puts
  34. #undef  auddbg_printf
  35. #define auddbg_puts(s)   io_write(s)
  36. #define auddbg_printf(s...)
  37.         do {
  38.         psprintf(linebuf, ##s); io_write(linebuf);
  39.         } while (0)
  40. #endif
  41. /***********************************************************************
  42.  *  Declaration Session
  43.  ***********************************************************************/
  44. void AUDKRNL_Init_AudHW_CLK(void);
  45. void AUDKRNL_Set_AudHW_SmpRate(unsigned fs);
  46. INT16 AUDKRNL_Download_DSP3Codec(const BYTE *rom, int len); //(int dsp3_coding_mode);
  47. void AUDKRNL_Download_Codec(int coding_mode);
  48. //return: 0:fail, 1:success
  49. #if defined(SUPPORT_SOUND_EFFECT) || defined(MESSAGE_QUEUE)
  50. int DSP_AudioIOControl(UINT16 wCode, UINT32 cType, UINT32 wParam);
  51. #else
  52. int DSP_AudioIOControl(UINT16 wCode, BYTE cType, UINT16 wParam);
  53. #endif
  54. #if defined(SUPPORT_MIDI) && !defined(MESSAGE_QUEUE)
  55. int DSP_Midi_AudioIOControl(UINT16 wCode, BYTE cType, UINT16 wParam); // MidiAudioCtrl
  56. #endif
  57. //return: -1: error, others
  58. //extern int AudioIOStatus(UINT16 wCode);
  59. #ifdef MESSAGE_QUEUE
  60. void DSPKRNL_Reset_MQ(); // reset_cmdQ_offset
  61. INT32 DSPKRNL_Push_MQ(UINT16 order, UINT32 parm1, UINT32 parm2); // put_cmd_to_Q
  62. INT32 DSPKRNL_Rmv_cmd_from_MQ(void); // rmv_cmd_from_Q
  63. INT32 DSPKRNL_Chk_cmd_in_MQ(UINT16 *order, UINT32 *parm1, UINT32 *parm2); // check_cmd_in_Q
  64. int exe_MidiIoCtrl(UINT16 wCode, BYTE cType, UINT16 wParam);
  65. int DSPKRNL_Exe_AudioIOCmd(UINT16 wCode, UINT32 cType, UINT32 wParam); // exe_audioIO_cmd
  66. #endif
  67. UINT32 AUDKRNL_LPCM_Get_BitDepthParam(UINT32 bitsample);
  68. UINT32 AUDKRNL_LPCM_Get_FrqParam(UINT32 samprate);
  69. #ifndef DVDRELEASE  // 2004/12/21 yltseng
  70. const BYTE* AUDKRNL_Get_Current_DSP3Codec_Name();
  71. #endif
  72. #endif //#ifdef __AUDKRNL_H__