spdif_parser.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /* --------------------------------------------------------
  2. SPDIF parser for dolby digital plus data
  3. Date: 2014-10-30
  4. Author: jimmy.lai@s2-tek.com
  5. ---------------------------------------------------------- */
  6. #ifndef __SPDIF_PARSER_H__
  7. #define __SPDIF_PARSER_H__
  8. #include "drv_types.h"
  9. #define DDPFRMAE_CONTAINS_SPDIF_HEADER 1
  10. // --------------------------------------------------------------------------
  11. // Description: Initialize spdif DD parser. Assigned command buffers for
  12. // parsed frames. cmdbuf size is MAX_DD_BUFSIZE * CMDBUF_NUMBER.
  13. // Parameters: cmdbuf - buffer for parsed DD frames
  14. // callback - callback function used to bypass parsed DD frame
  15. // buffer, frame size, presentation timestamp and
  16. // private data.
  17. // cb_param - private data which is used in callback function
  18. // function
  19. // Return: none
  20. // --------------------------------------------------------------------------
  21. typedef void (*FireCallBack)(void *param, UINT8 *buf, UINT32 bufsz, UINT32 timestamp);
  22. void hdmi_spdif_parser_init(UINT8 *cmdbuf, FireCallBack callback, void *cb_param);
  23. // --------------------------------------------------------------------------
  24. // Description: Reset spdif DD parser. Clear all temp buffer and flags.
  25. // Parameters: none
  26. // Return: none
  27. // --------------------------------------------------------------------------
  28. void hdmi_spdif_parser_reset(void);
  29. // --------------------------------------------------------------------------
  30. // Description: Parse input IEC60958 stream and output DD by callback
  31. // function registered in spdif_parser_init().
  32. // Parameters: inbuf - input IEC60958 buffer pointer
  33. // inbufsz - input IEC60958 buffer size
  34. // timestamp - presentation timestamp for input IEC60958 buffer
  35. // Return: none
  36. // --------------------------------------------------------------------------
  37. void hdmi_spdif_parser_handler(UINT8 *inbuf, UINT32 inbufsz, UINT32 timestamp);
  38. #endif /* __SPDIF_PARSER_H__ */