/* -------------------------------------------------------- SPDIF parser for dolby digital plus data Date: 2014-10-30 Author: jimmy.lai@s2-tek.com ---------------------------------------------------------- */ #ifndef __SPDIF_PARSER_H__ #define __SPDIF_PARSER_H__ #include "drv_types.h" #define DDPFRMAE_CONTAINS_SPDIF_HEADER 1 // -------------------------------------------------------------------------- // Description: Initialize spdif DD parser. Assigned command buffers for // parsed frames. cmdbuf size is MAX_DD_BUFSIZE * CMDBUF_NUMBER. // Parameters: cmdbuf - buffer for parsed DD frames // callback - callback function used to bypass parsed DD frame // buffer, frame size, presentation timestamp and // private data. // cb_param - private data which is used in callback function // function // Return: none // -------------------------------------------------------------------------- typedef void (*FireCallBack)(void *param, UINT8 *buf, UINT32 bufsz, UINT32 timestamp); void hdmi_spdif_parser_init(UINT8 *cmdbuf, FireCallBack callback, void *cb_param); // -------------------------------------------------------------------------- // Description: Reset spdif DD parser. Clear all temp buffer and flags. // Parameters: none // Return: none // -------------------------------------------------------------------------- void hdmi_spdif_parser_reset(void); // -------------------------------------------------------------------------- // Description: Parse input IEC60958 stream and output DD by callback // function registered in spdif_parser_init(). // Parameters: inbuf - input IEC60958 buffer pointer // inbufsz - input IEC60958 buffer size // timestamp - presentation timestamp for input IEC60958 buffer // Return: none // -------------------------------------------------------------------------- void hdmi_spdif_parser_handler(UINT8 *inbuf, UINT32 inbufsz, UINT32 timestamp); #endif /* __SPDIF_PARSER_H__ */