dmx.h
上传用户:fy98168
上传日期:2015-06-26
资源大小:13771k
文件大小:2k
源码类别:

DVD

开发平台:

C/C++

  1. #ifndef __DMX_H
  2. #define __DMX_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #include "gendef.h"
  7. #include "stpti.h"
  8. typedef enum _KB_DMXChannelType
  9. {
  10. DMX_CHANNEL_INVALID,
  11. DMX_CHANNEL_GENERIC_PES,
  12. DMX_CHANNEL_SECTION,
  13. DMX_CHANNEL_EMM,
  14. DMX_CHANNEL_ECM,
  15. DMX_CHANNEL_RAW
  16. }KB_DMXChannelType;
  17. typedef enum _KB_DMXFilterType
  18. {
  19.     DMX_SECTION_FILTER,
  20.     DMX_SECTION_FILTER_NEG_MATCH_MODE,
  21.     DMX_PES_FILTER,
  22.     DMX_TSHEADER_FILTER
  23. }KB_DMXFilterType;
  24. #define KB_DMX_START  (0)
  25. #define KB_DMX_STOP  (1)
  26. #define KB_DMX_RESET  (2)
  27. #define KB_DMX_TOTAL_GENERIC_CHANNELS   (30)
  28. typedef void (*KB_DMX_NotifyFunc)(UINT32 channelID, UINT8* buffer, UINT32 length);
  29. INT32   KB_DmxInit(void);
  30. INT32 KB_DmxAllocateChnnl(KB_DMXChannelType channelType, UINT32 bufferSize, BOOL isInternal, UINT32 *channelID);
  31. INT32 KB_DmxFreeChnnl(UINT32 channelID);
  32. INT32 KB_DmxSetChnnlPID(UINT32 channelID, UINT16 pid);
  33. INT32 KB_DmxControlChnnl(UINT32 channelID, UINT32 channelCmd);
  34. INT32   KB_DmxRegNotice(UINT32 channelID, KB_DMX_NotifyFunc funcPtr);
  35. INT32 KB_DmxUnlock(UINT32 channelID, UINT8* bufferPtr);
  36. INT32 KB_DmxAllocateFilter(KB_DMXFilterType filterType, UINT32 filterDepth, UINT32 *filterID);
  37. INT32 KB_DmxFreeFilter(UINT32 filterID);
  38. INT32 KB_DmxSetFilter(UINT32 filterID, UINT8* filterMatch, UINT8* filterMask, UINT32 filterNegate);
  39. //add by shriek 
  40. INT32 KB_DmxSetFilterByType(UINT32 filterID, UINT8* filterMatch, UINT8* filterMask, UINT32 filterNegate, STPTI_FilterType_t filterType);
  41. //shriek end
  42. INT32 KB_DmxAssociateFilter(UINT32 channelID, UINT32 filterID);
  43. INT32 KB_DmxDisassociateFilter(UINT32 channelID, UINT32 filterID);
  44. INT32 KB_DmxCloseDescrambler(UINT32 descramblerID);
  45. INT32 KB_DmxOpenDescrambler(void);
  46. INT32 KB_DmxSetEventKey(UINT32 descramblerID, const UINT8* evenKey);
  47. INT32 KB_DmxSetOddKey(UINT32 descramblerID, const UINT8* oddKey);
  48. INT32 KB_DmxSetDescPID(UINT32 descramblerID, UINT16 pid);
  49. #ifdef __cplusplus
  50. }
  51. #endif
  52. #endif