/******************************************************************** * * PSI_Process.h - PSI Section Processing. (PSI). * * Copyright 2004~ DigitalSTREAMTechnology, Inc. * All Rights Reserved * * _Id: PSI_Process.h ,v 1.0 2004/015/28 jina Exp ********************************************************************/ #ifndef DST_PSI_PROCESS_H #define DST_PSI_PROCESS_H #ifdef __cplusplus extern "C" { #endif #if !defined (_DSTHALERROR_H_) #include "dsthalerror.h" #endif #ifndef DST_PSI_SECTGATHER_H_ #include "dsthalPsiSectGather.h" #endif typedef void * DHL_PSI_HANDLE; typedef void * DHL_TBL_HANDLE; typedef enum { CHROMA_4_2_0 = 1, /* ATSC specified */ CHROMA_4_2_2 = 2, CHROMA_4_4_4 = 3 } MPEG_CHROMA_FORMAT; typedef enum { MVF_Component = 0, /* ATSC specified */ MVF_PAL = 1, MVF_NTSC = 2, MVF_SECAM = 3, MVF_MAC = 4, MVF_Unspecified = 5 } MPEG_VIDEO_FORMAT; typedef enum { FRAMERATE_23_976 = 1, /* ATSC */ FRAMERATE_24 = 2, /* ATSC */ FRAMERATE_25 = 3, FRAMERATE_29_97 = 4, /* ATSC */ FRAMERATE_30 = 5, /* ATSC */ FRAMERATE_50 = 6, FRAMERATE_59_94 = 7, /* ATSC */ FRAMERATE_60 = 8 /* ATSC */ } MPEG_FRAME_RATE; typedef enum { ITU_R_BT_709 = 1, /* ATSC Preferred */ Unspecified_Video = 2, ITU_R_BT_470_2_System_M = 4, ITU_R_BT_470_2_System_BG = 5, SMPTE_170M = 6, /* ATSC Alternate */ SMPTE_240M = 7, LinearTransferCharacteristics = 8, /* for Transfer Characteristics only */ CIE_RGB = 9 } MPEG_COLOUR_TYPE; typedef enum AudioType { AudioType_UNKNOWN = 0, /* Audio type Not detected, yet */ AudioType_PCM, /* Audio is uncompressed PCM data */ AudioType_AC3, /* Audio is AC3 compressed stream */ AudioType_AAC, /* Audio is AAC compressed stream */ AudioType_DTS, /* Audio is DTS compressed stream */ AudioType_MPEG_1, /* Audio comforms to MPEG-1 audio stream */ AudioType_MPEG_2, /* Audio comforms to MPEG-2 audio stream */ AudioType_MPEG_4, /* Audio comforms to MPEG-4 audio stream */ AudioType_MPEG_L1, /* mpeg 1 layer 1 */ AudioType_MPEG_L2, /* mpeg 1 layer 2 */ AudioType_MPEG_L3, /* mpeg 1 layer 3 */ AudioType_AIFF, /* PCM audio in AIFF format */ AudioType_SineWave /* Sine wave generator*/ } AudioType; /*Public Function Declaration*/ DHL_RESULT DHL_PSI_Init( DHL_PSI_HANDLE *pPsiHandle); DHL_RESULT DHL_PSI_Close( DHL_PSI_HANDLE pPsiHandle ); DHL_RESULT DHL_PSI_Init_TVGOS( DHL_PSI_HANDLE *hPsiHandle ); DHL_RESULT DHL_PSI_Close_TVGOS( DHL_PSI_HANDLE pPsiHandle ); DHL_RESULT DD_PSI_Init( void **pPsiHandle /*returned psi handle*/ ); DHL_RESULT DD_PSI_Close( void *pPsiHandle ); DHL_RESULT DD_PSI_ReadPSIData( DHL_TBL_HANDLE hTblHandle , struct PSIDataArray_t **returnPsi); void DD_PSI_FreePSIData( struct PSIDataArray_t *psiArray ); DHL_RESULT DD_PSI_CancelPSIPid( DHL_PSI_HANDLE hPsiHandle, /*PSI_SECTION_CTL_t **/ void * pSectionCtl ); DHL_RESULT DD_PSI_SetGemstar(void *pPsiInfo, DS_BOOL bEnable); DHL_RESULT DD_PSI_MonitorPSIPid( void *pPsiInfo, DS_U16 pid, PSIMode psiMode, PSIUpdateMode updateMode, PSIMask_t *prefList, DS_U16 maxData, DS_U16 maxSections, PSIEventProc_f eventProc, DS_U32 userParam, void **returnPSIControl ); DHL_RESULT DD_PSI_MonitorPSIPidBig( void *pPsiInfo, DS_U16 pid, PSIMode psiMode, PSIUpdateMode updateMode, PSIMask_t *prefList, DS_U16 maxData, DS_U16 maxSections, PSIEventProc_f eventProc, DS_U32 userParam, void **returnPSIControl ); void DD_PSI_SetSegmentNumber( void *p_section_ctl, int segment_number ); DS_BOOL DD_PSI_ExistSectionCtl( void *pPsiInfra, DS_U16 pid, PSIMask_t *prefList ); #ifdef __cplusplus } #endif #endif /*DST_PSI_PROCESS_H*/