⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dvb_si.h

📁 DVB软件,基于CT216软件的开发源程序.
💻 H
📖 第 1 页 / 共 2 页
字号:
	0x1012: Nine Network Australia
	0x1013: Seven Network Limited
	0x1014: Network TEN Limited
	0x1015: WIN Television Pty Ltd
	0x1016: Prime Television Limited
	0x1017: Southern Cross Broadcasting (Australia) Limited
	0x1018: Telecasters Australia Limited
	0x1019: NBN Limited
	0x101A: Imparja Television Australia
	0x101B~0x101F: (Reserved for Australian broadcasters)
	***********************************************/
	ONID_AUSTRALIAN_MAX			= 0x101F,
	ONID_ANDORRA_DTT			= 0x2014,	// STA (Servei de Telecomucaciones d'Andorra)
	ONID_AUSTRALIAN_DTT			= 0x2024,	// Australian Broadcasting Authority
	ONID_AUSTRIAN_DTT			= 0x2028,	// ORS - Austrian Broadcasting Services
	ONID_BELGIAN_DTT			= 0x2038,	// BIPT
	ONID_TAIWANESE_DTT			= 0x209E,	// Directorate General of Telecommunications
	ONID_CZECH_DTT				= 0x20CB,	// Czech Digital Group
	ONID_DANISH_DTT				= 0x20D0,	// National Telecom Agency Denmark
	ONID_ESTONIAN_DTT			= 0x20E9,	// Estonian National Communications Board
	ONID_FINNISH_DTT			= 0x20F6,	// Telecommunicatoins Administratoin Centre, Finland
	ONID_FRENCH_DTT				= 0x20FA,	// Conseil Superieur de l'AudioVisuel
	ONID_GERMAN_DTT				= 0x2114,	// IRT on behalf of the German DVB-T broadcasts
	ONID_IRISH_DTT				= 0x2174,	// Irish Telecommunications Regulator
	ONID_ISRAELI_DTT			= 0x2178,	// BEZEQ (The Israel Telecommunication Corp Ltd .)
	ONID_ITALIAN_DTT			= 0x217C,	// 
	ONID_ITALIAN_MEDIASET_DTT	= 0x0110,	// Mediaset the main Italian commercial television network with headquarters in Milan, Lombardy.
	ONID_ITALIAN_EUTELSAT_1		= 0x013E,	// Eutelsat Satellite System 13E (1)
	ONID_ITALIAN_EUTELSAT_2		= 0x013F,	// Eutelsat Satellite System 13E (2)
	ONID_NETHERLANDS_DTT		= 0x2210,	// Nozema
	ONID_NORWEGIAN_DTT			= 0x2242,	// Norwegian Regulator
	ONID_SINGAPORE_DTT			= 0x22BE,	// Singapore Broadcasting Authority
	ONID_SLOVENIA_DTT			= 0x22C1,	// APEK - Slovenia
	ONID_SPANISH_DTT			= 0x22D4,	// Spanish Broadcasting Regulator
	ONID_SWEDISH_DTT			= 0x22F1,	// Swedish Broadcasting Regulator
	ONID_SWISS_DTT				= 0x22F4,	// OFCOM
	ONID_UK_DTT					= 0x233A	// Independent Television Commission
};
/**
* Define parser status.
*/
typedef enum
{
	EN_PARSER_NO_ERROR,
	EN_PARSER_USER_ABORT,
	EN_PARSER_TIMEOUT,
	EN_PARSER_ERROR
}EN_PARSER_STATUS;

/**
* Define table type following DVB standard.
*/
typedef enum
{
	EN_PAT,
	EN_CAT,
	EN_PMT,
	EN_SDT,
	EN_NIT,
	EN_EIT,
	EN_TDT
}EN_SI_TABLE;

#ifdef ENABLE_LCN_SUPPORT
/**
* Define LCN mode.
*/
typedef enum
{
	LCN_NORDIG_MODE,		/* This mode normally use in Europe */
	LCN_AUSTRALIA_MODE,		/* This mode only support in Australia */
	GERMANY_MAPPING_MODE,		/* This mode only support in Australia */
	LCN_NULL_MODE			/* This mode is not support LCN */
}EN_LCN_MODE;
#endif
typedef enum
{
	MPG,
	AC3
}PERFER_AUDIO_TYPE;
EN_PARSER_STATUS DVB_SI_ParserTP (bool8 b8AutoScanMode);
/*! \fn EN_PARSER_STATUS DVB_SI_ParserTP (bool8 b8AutoScanMode)
\brief start to parser a transponder.
\param b8AutoScanMode (Input) timeout in autoscan mode will be shorter.
\return EN_PARSER_STATUS see definition.
*/

u8    DVB_SI_GetTotalService(void);
/*! \fn u8    DVB_SI_GetTotalService(void)
\brief get totle service in the transponder.
\return number of service in the transponder.
*/

bool8 DVB_SI_GetServiceItem(u8 u8idx, EN_SERVICE_TYPE* penSrvType, DB_SrvDetail *pstService);
/*! \fn bool8 DVB_SI_GetServiceItem(u8 u8idx, EN_SERVICE_TYPE* penSrvType, DB_SrvDetail *pstService)
\brief get a service item in the transponder.
\param u8idx (Input) index of service item in the transponder.
\param penSrvType (Output) a point to service type of the item.
\param pstService (Output) a point to service item.
\return TRUE - got a service item.
\return FALSE - this service is not available.
*/
void DVB_SI_GetNetworkItem(DB_NetDetail *pstNetItem);
/* ! \fn void DVB_SI_GetNetworkItem(DB_NetDetail *pstNetItem)
\brief get a network item.
\param pstNetItem (Output) a point to network item.
*/

void  DVB_SI_EndOfParserTP(void);
/*! \fn void  DVB_SI_EndOfParserTP(void)
\brief free memory used in DVB_SI_ParserTP().
*/

void DVB_SI_SetPreferAudio(u8 u8Priority, u8* pu8LangCode);
/*! \fn void DVB_SI_SetPrefer(u8 u8Priority, u8* pu8LangCode)
\brief Set prefer audio language when parser audio PID.
\param u8Priority (Input) only two priority, 1 or 2.
\param pu8LangCode (Input) a point of string which follow ISO 639-2. disable it when string length is zero.
*/

void  DVB_SI_TriggerTDT(void);
/*! \fn void  DVB_SI_TriggerTDT(void)
\brief start to receive TDT.
*/

void  DVB_SI_StopTDT(void);
/*! \fn void  DVB_SI_StopTDT(void)
\brief stop to receive TDT.
*/

#ifndef ATSC_SYSTEM
void DVB_ParserEitLoop(ST_EIT_EVENT *pstEvent, u8 *pu8LoopData, u8 u8ParseExDesNum);
/*! \fn void DVB_ParserEitLoop(ST_EIT_EVENT *pstEvent, u8 *pu8LoopData)
\brief parser a event loop in EIT.
\param pstEvent (Output) a point for eit event.
\param pu8LoopData (Input) start point of event loop.
\param u8ParseExDesNum (Input) The extended event descriptor you want to parse. 0xFF: parse short or extended 0.
*/
#endif

u8* DVB_ParserFindTag(u8 *pu8Descriptor, u8 u8Tag, s16 s16TotalLength);
/*! \fn u8* DVB_ParserFindTag(u8 *pu8Descriptor, u8 u8Tag, s16 s16TotalLength)
\brief find tag in descriptor loop.
\param pu8Descriptor (Input) start point of descriptor loop.
\param u8Tag (Input) target tag(descriptor).
\param s16TotalLength (Input) total descriptor length.
\return pointer to target tad, NULL for search fail.
*/

//u8* DVB_ParserFindNextTag(u8 *pu8CurrentDescriptor, u8 *pu8FirstDescriptor, s16 s16TotalLength);
//u8* DVB_ParserFindSpecificTag(u8 *pu8Section, EN_SI_TABLE enTable, u16 u16LoopID, u8 u8Tag);

u8* DVB_ParserFindLoop(u8 *pu8Section, EN_SI_TABLE enTable, u16 u16LoopID);
/*! \fn u8* DVB_ParserFindLoop(u8 *pu8Section, EN_SI_TABLE enTable, u16 u16LoopID)
\brief find loop ID in a section.
\param pu8Section (Input) pointer to whole section.
\param enTable (Input) table type of the section.
\param u16LoopID (Input) target loop ID.
\return pointer to target loop, NULL for search fail.
*/

u8* DVB_ParserFindFirstLoop(u8 *pu8Section, EN_SI_TABLE enTable );
/*! \fn u8* DVB_ParserFindFirstLoop(u8 *pu8Section, EN_SI_TABLE enTable )
\brief find first loop in a section.
\param pu8Section (Input) pointer to whole section.
\param enTable (Input) table type of the section.
\return pointer to first loop, NULL for search fail.
*/

u8* DVB_ParserFindNextLoop(u8 *pu8Section, u8 *pu8Loop, EN_SI_TABLE enTable );
/*! \fn bool8 DVB_FilterCheckAvailableSection (u8 u8FID)
\brief find next loop in a section.
\param pu8Section (Input) pointer to whole section.
\param pu8Loop (Input) pointer to currently loop.
\param enTable (Input) table type of the section.
\return pointer to next loop, NULL for search fail.
*/

void DVB_SI_TriggerTOT(void);
void DVB_SI_StopTOT(void);

void DVB_SI_SetPerferAudioType(PERFER_AUDIO_TYPE PerferAudioType );
PERFER_AUDIO_TYPE DVB_SI_GetPerferAudioType(void);

void DVB_SI_GetPMTbyServiceID( u16 u16ServiceID, void (*sec_cb)(u8 u8FID, EN_FILTER_STATUS enStatus));
void DVB_SI_GetPMTbyServiceID_Term(void);

#ifdef ENABLE_LCN_SUPPORT
void DVB_SI_SetLCNMode (EN_LCN_MODE enMode);
EN_LCN_MODE DVB_SI_GetLCNMode (void);
bool8 DVB_SI_GetLCNStatus (void);
u16 DVB_SI_GetLCNMask (void);
u16 DVB_SI_GetLCNFreeNum (EN_SERVICE_TYPE tvRadioMode);
bool8 DVB_SI_SetLCNNumber (DB_SrvDetail *pstService);
#ifdef LCN_COUNTRY_CHECK_DISABLE
u16 DVB_SI_Get_MaxLCN_In_DB(EN_SERVICE_TYPE enServiceType);
void DVB_SI_CheckMaxLCN(u16 *pu16MaxVideoLCN, u16 *pu16MaxAudioLCN);
#else
u16 DVB_SI_CheckMaxLCN(void);
#endif
#endif

void DVB_SI_SetMsgLanguage(u8* pu8LangCode);
void DVB_SI_GetTPInfo( u16 *u16OriginalNID, u16 *u16TransportStreamID );

#ifdef CI_ENABLE
	bool8 DVB_SI_GetCAPMTInit(void);
	bool8 DVB_SI_GetCAPMTbyPMTPID( u16 u16PMTPid, u8 **pu8CAPMTSection, u16 *pu16CAPMTSecLen );
	bool8 DVB_SI_GetCAPMTbyProgrmIDX( EN_SERVICE_TYPE enSrvType, u16 u16PgmIdx, u8 **pu8CAPMTSection, u16 *pu16CAPMTSecLen );
#ifdef PVR_ENABLE
void DVB_SI_SetCIca_pmt_list_management(u8 u8value);
#endif
/***added by linda20070322 ****/
void DVB_SI_GetSystemID_end(void );
void DVB_SI_SetServiceInfo(EN_SERVICE_TYPE enType, u16 u16Srvidx);	

#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -