12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145 |
- /***********************************************************************/
- /**
- *
- * \file dvb_dr_dvb.h
- *
- * \brief header for descriptor tag for 0x40~..
- *
- * \note Copyright (C) 2006 SunMedia Co, chengdu\n
- * The source code in this file is written by anlzhao referring to\n
- * ETSI EN 300 468 and owned by SunMedia Coporation.
- *
- * \author anlzhao@sunmedia.com.cn
- *
- ***********************************************************************/
- #ifndef _DVB_DR_DVB_H_
- #define _DVB_DR_DVB_H_
- #include <types.h>
- #include "dvb_dr.h"
- #include "mid_common.h"
- /**
- * \brief network name descriptor structure for 0x40.
- *
- * This structure is used to store a decoded network name
- * descriptor. (ETSI EN 300 468 section 6.2.30).
- */
- typedef struct dvbpsi_network_name_dr_s
- {
- UINT8 i_network_name_length; /*!< service_type */
- UINT8 network_name[256]; /*!< name of the service */
- } dvbpsi_network_name_dr_t;
- /*
- * struct dvbpsi_service_list_dr_s(0x41)
- * service list structure for 0x41.
- *
- * This structure is used to store service list. //cwhuang 100623 added
- */
- typedef struct dvbpsi_bat_service_list_dr_s
- {
- UINT16 trans_id;
- UINT8 ucDescriptorLength; /* service list descriptor length */
- UINT8 *pucServiceListdata; /* service list data */
- } dvbpsi_bat_service_list_dr_t;
- /**
- * \brief network name descriptor structure for 0x5b.
- *
- * This structure is used to store a decoded multiligual network name
- * descriptor. (ETSI EN 300 468 section 6.2.30).
- */
- typedef struct dvbpsi_multinetwork_name_dr_s
- {
- UINT8 i_iso6392_language_code[4]; /*!< ??? */
- UINT8 i_multinetwork_name_length; /*!< ??? */
- UINT8 ucMultiNetworkName[256]; /*!< ??? */
- struct dvbpsi_multinetwork_name_dr_s *next; /*!< ??? */
- }dvbpsi_multinetwork_name_dr_t;
- /**
- * \brief network name descriptor structure for 0x40.
- *
- * This structure is used to store a decoded network name
- * descriptor. (ETSI EN 300 468 section 6.2.30).
- */
- typedef struct dvbpsi_satellite_system_dr_s
- {
- INT32 freq; /*!< satellite frequency MHz*100 */
- INT16 orbital_pos; /*!< orbital position degree*10 */
- UINT8 modulation; /*!< modulation */
- UINT8 modulation_system; /*!< modulation system*/
- UINT8 polarization; /*!< polarization */
- UINT8 west_east_flag; /*!< east/west flag */
- INT32 symbol_rate; /*!< symbol rate */
- UINT8 fec_inner; /*!< fec inner */
- }dvbpsi_satellite_system_dr_t;
- /**
- * \brief network name descriptor structure for 0x40.
- *
- * This structure is used to store a decoded network name
- * descriptor. (ETSI EN 300 468 section 6.2.30).
- */
- typedef struct dvbpsi_cable_system_dr_s
- {
- UINT32 freq; /*!< cable frequency KHz */
- UINT8 fec_outer; /*!< fec outer */
- UINT8 modulation; /*!< modulation */
- UINT32 symbol_rate; /*!< symbol rate */
- UINT8 fec_inner; /*!< fec inner */
- } dvbpsi_cable_system_dr_t;
- /**
- * \brief network name descriptor structure for 0x5a.
- *
- * This structure is used to store a decoded delievery system info
- * descriptor. (ETSI EN 300 468 section 6.2.30).
- */
- typedef struct dvbpsi_terrestrial_system_dr_s
- {
- UINT32 u32freq; ///< frequency (kHz)
- UINT8 u8bandwidth; ///< bandwidth
- UINT8 u8constellation; ///< constellaon
- UINT8 u8hierarchy; ///< hierarchy
- UINT8 u8coderate_h; ///< code rate (High)
- UINT8 u8coderate_l; ///< code rate (Low)
- UINT8 u8guardinterval; ///< guard interval
- UINT8 u8transmode; ///< transmode
- UINT8 u8otherfreqflag; ///< other_frequency_flag
- } dvbpsi_terrestrial_system_dr_t;
- typedef struct dvnpsi_t2_ext_s
- {
- UINT8 cell_id_extension;
- UINT32 transposer_frequency;
- }dvnpsi_t2_ext_t;
- typedef struct dvbpsi_t2_freq_info_s
- {
- UINT16 cell_id;
- UINT8 centre_freq_number;
- UINT32 *centre_frequency;
- UINT8 ext_number;
- dvnpsi_t2_ext_t *ext;
- struct dvbpsi_t2_freq_info_s *next;
- }dvbpsi_t2_freq_info_t;
- typedef struct dvbpsi_T2_system_dr_s
- {
- UINT8 plp_id;
- UINT8 T2_system_id;
- UINT8 SISO_MISO;
- UINT8 bandwidth;
- UINT8 guard_interval;
- UINT8 transmission_mode;
- UINT8 other_frequency_flag;
- UINT8 tfs_flag;
- dvbpsi_t2_freq_info_t *freq_info;
- } dvbpsi_T2_system_dr_t;
- /**
- * \brief ISDB-T delivery system descriptor structure for 0x5a.
- *
- * This structure is used to store a decoded ISDB-T delievery system info
- * descriptor. (ABNTNBR 15603-3 section 8.3.31).
- * zhongbaoxing added for sbtvd @20120323
- */
- typedef struct dvbpsi_isdbterrestrial_system_dr_s
- {
- UINT16 u16AreaCode; ///< area code
- UINT8 u8guardinterval; ///< guard interval 00:1/32 01:1/16 10:1/8 11:1/4
- UINT8 u8transmode; ///< transmode 00:Mode1 01:Mode2 10:Mode3 11:Undef
- UINT16 *pu16Wfreq; ///< frequency
- } dvbpsi_isdbterrestrial_system_dr_t;
- /**
- * \brief "service" descriptor structure for 0x48.
- *
- * This structure is used to store a decoded "service"
- * descriptor. (ETSI EN 300 468 section 6.2.30).
- */
- typedef struct dvbpsi_service_dr_s
- {
- UINT8 i_service_type; /*!< service_type */
- UINT8 i_service_provider_name_length; /*!< length of the i_service_provider_name array */
- UINT8 service_provider_name[256]; /*!< name of the service provider */
- UINT8 i_service_name_length; /*!< length of the i_service_name array */
- UINT8 service_name[256]; /*!< name of the service */
- } dvbpsi_service_dr_t;
- //zhaorui 100925 add for mantis 0105229 +
- /**
- * \brief one country structure.
- *
- * This structure is used since country code will contain several
- * country code
- */
- typedef struct dvbpsi_country_s
- {
- UINT8 country_code[3]; ///< country code
- } dvbpsi_country_t;
- /**
- * \brief "country availability" descriptor structure for 0x49.
- *
- * This structure is used to store a decoded "country availability"
- * descriptor. (ETSI EN 300 468 section 6.2.10).
- */
- typedef struct dvbpsi_country_avail_dr_s
- {
- UINT8 country_nmb;
- UINT8 country_avail_flag;
- dvbpsi_country_t *p_country_code;
- struct dvbpsi_country_avail_dr_s *pNext;
- } dvbpsi_country_avail_dr_t;
- //zhaorui 100925 add for mantis 0105229 -
- typedef enum
- {
- DVBPSI_FREQLIST_CODINGTYPE_NOT_DEFINE,
- DVBPSI_FREQLIST_CODINGTYPE_SATELLITE,
- DVBPSI_FREQLIST_CODINGTYPE_CABLE,
- DVBPSI_FREQLIST_CODINGTYPE_TERRESTRIAL,
- } dvbpsi_freqlist_codingtype_e;
- /**
- * \brief one centre frequency structure.
- *
- * This structure is used since countre frequency code will contain several
- * centre frequencies
- */
- typedef struct dvbpsi_frequency_s
- {
- UINT8 Cfrequency[4]; ///< centre frequency code 10Hz
- } dvbpsi_frequency_t;
- /**
- * \brief frequency list descriptor structure for 0x62.
- *
- * This structure is used to store a decoded frequency list
- * descriptor. (ETSI EN 300 468 section 6.2.17).
- */
- typedef struct dvbpsi_frequency_list_dr_s
- {
- dvbpsi_freqlist_codingtype_e coding_type;
- dvbpsi_frequency_t *p_centre_freq;
- } dvbpsi_frequency_list_dr_t;
- /**
- * \brief one centre announcement structure.
- *
- * This structure is used since countre anouncement code will contain several
- * centre anouncement
- */
- typedef struct dvbpsi_anouncement_s
- {
- UINT8 announcement_type :4;
- UINT8 reference_type :4;
- UINT16 original_network_id;
- UINT16 transport_stream_id;
- UINT16 service_id;
- UINT8 component_tag;
- } dvbpsi_anouncement_t;
- /**
- * \brief announcement support descriptor structure for 0x6e.
- *
- * This structure is used to store a decoded announcement support
- * descriptor. (ETSI EN 300 468 section 6.2.3).
- */
- typedef struct dvbpsi_announcemen_support_dr_s
- {
- UINT8 annoucement_number;
- dvbpsi_anouncement_t *p_announcement;
- } dvbpsi_announcemen_support_dr_t;
- /**
- * \brief "linkage" descriptor structure.
- *
- * This structure is used to store a decoded "linkage"
- * descriptor.
- */
- typedef struct dvbpsi_linkage_dr_s
- {
- UINT16 i_transport_stream_id; /*!< CA system_ID */
- UINT16 i_original_network_id; /*!< CA PID */
- UINT16 i_service_id; /*!< service ID */
- UINT8 i_linkage_type; /*!< linkage type */
- UINT8 length; /*!< length */
- UINT8 data[249]; /*!< data */
- } dvbpsi_linkage_dr_t;
- #ifdef SUPPORT_ASTRA_LCN
- typedef struct _scan_linkinfo_t{
- UINT16 u16TsId;
- UINT16 u16OrgNetId;
- UINT16 u16ServiceId;
- UINT8 u8LinkType;
- }dvbpsi_LinkInfo_t;
- #endif
- /**
- * struct dvbpsi_strmid_dr_s(0x52)
- * (ISO/IEC 13818-1 section 2.6.18).
- */
- typedef struct dvbpsi_strmid_dr_s {
- UINT8 i_code_length; ///< code length
- UINT8 i_comp_data; ///< compare data
- } dvbpsi_strmid_dr_t;
- /**
- * struct dvbpsi_aac_dr_s(0x7c)
- * (ISO/IEC 13818-1 section 2.6.18).
- */
- typedef struct dvbpsi_aac_dr_s {
- UINT8 i_dr_length; ///< code length
- UINT8 i_dr_profilelevel; ///< compare data
- UINT8 i_dr_aactype; ///< compare data
- } dvbpsi_aac_dr_t;
- /**
- * struct dvbpsi_ac3_dr_s(0x6a)
- */
- typedef struct dvbpsi_ac3_dr_s {
- UINT8 component_type_flag;
- UINT8 component_type;
- } dvbpsi_ac3_dr_t;
- /**
- * struct dvbpsi_eac3_dr_s(0x7a)
- */
- typedef struct dvbpsi_eac3_dr_s {
- UINT8 component_type_flag;
- UINT8 component_type;
- } dvbpsi_eac3_dr_t;
- /**
- * \brief one teletext structure.
- *
- * This structure is used since teletext_descriptor will contain several
- * teletext
- */
- typedef struct dvbpsi_teletext_s
- {
- UINT8 i_iso6392_language_code[3]; ///< language code
- UINT8 i_teletext_type; ///< teletext type
- UINT8 i_teletext_magazine_number; ///< teletext magazine number
- UINT16 i_teletext_page_number; ///< teletext page number
- } dvbpsi_teletext_t;
- /**
- * \brief "teletext" descriptor structure.
- *
- * This structure is used to store a decoded "teletext"
- * descriptor. (ETSI EN 300 468 section 6.2.32).
- *
- */
- typedef struct dvbpsi_teletext_dr_s
- {
- UINT8 i_teletext_number; ///< teletext number
- dvbpsi_teletext_t* p_teletext; ///< pointer to dvbpsi_teletext_t
- } dvbpsi_teletext_dr_t;
- /**
- * \brief one subtitle structure.
- *
- * This structure is used since subtitling_descriptor will contain several
- * subtitles
- */
- typedef struct dvbpsi_subtitle_s
- {
- UINT8 i_iso6392_language_code[3]; ///< language code
- UINT8 i_subtitling_type; ///< subtitle type
- UINT16 i_composition_page_id; ///< composition page ID
- UINT16 i_ancillary_page_id; ///< ancillary page ID
- } dvbpsi_subtitle_t;
- /**
- * \brief "subtitling" descriptor structure.
- *
- * This structure is used to store a decoded "subtitling"
- * descriptor. (ETSI EN 300 468 section 6.2.30).
- *
- */
- typedef struct dvbpsi_subtitling_dr_s
- {
- UINT8 i_subtitles_number; ///< subtitle number
- dvbpsi_subtitle_t* p_subtitle; ///< pointer to dvbpsi_subtitle_t
- } dvbpsi_subtitling_dr_t;
- /*
- * struct dvbpsi_volume_compensating_list_dr_s(0x83)
- * volume compensating list structure for 0x83.
- *
- * This structure is used to store volume compensating list. //cwhuang 100623 added
- */
- typedef struct dvbpsi_volume_compensating_list_dr_s
- {
- UINT16 trans_id;
- UINT8 ucDescriptorLength; /* service list descriptor length */
- UINT8 *pucVolumeCompensatingListdata; /* service list data */
- } dvbpsi_volume_compensating_list_dr_t;
- #ifdef CONFIG_ISDB_SYSTEM
- /**
- * \brief "Content availability" descriptor structure for 0xDE.
- *
- * This structure is used to store a decoded "Content availability"
- * descriptor. (ABNT 15603-2 Data structure and basic info SI).
- */
- typedef struct dvbpsi_ConAvai_dr_s{
- UINT8 reserved:2; ///< reserved
- UINT8 bImageConstraintToken:1; ///< image contraint token
- UINT8 bRetentionMode:1; ///< retention mode
- UINT8 bRetentionState:3; ///< retention state
- UINT8 bEncryptionMode:1; ///< encryption mode
- } dvbpsi_ConAvai_dr_t;
- /**
- * \brief " digital copy control" descriptor structure for 0xC1.
- *
- * This structure is used to store a decoded " digital copy control"
- * descriptor. (ABNT 15603-2 Data structure and basic info SI).
- */
- typedef struct dvbpsi_DCopyCtrCom_s{
- UINT8 bComponentTag; ///< component tag
- UINT8 bDRecCtrData:2; ///< record control data
- UINT8 bMaximunBitFlag:1; ///< maximun bit flag
- UINT8 breserved:1; ///< reserved
- UINT8 bCopyCtrType:2; ///< copy control type
- UINT8 bAPSCtrData:2; ///< APS control data
- UINT8 bMaximunBit; ///< maximun bit
- struct dvbpsi_DCopyCtrCom_s *pNext; ///< pointer to next one
- } dvbpsi_DCopyCtrCom_t;
- /**
- * \brief " digital copy control" descriptor structure for 0xC1.
- *
- * This structure is used to store a decoded " digital copy control"
- * descriptor. (ABNT 15603-2 Data structure and basic info SI).
- */
- typedef struct dvbpsi_DCopyCtr_dr_s{
- UINT8 bDRecCtrData:2; ///< record control data
- UINT8 bMaximunBitFlag:1; ///< maximun bit flag
- UINT8 bComCtrFlag:1; ///< com control flag
- UINT8 bCopyCtrType:2; ///< copy control type
- UINT8 bAPSCtrData:2; ///< APS control data
- UINT8 bMaximunBit; ///< maximun bit
- dvbpsi_DCopyCtrCom_t *pCompCtr; ///< ponter to DCopyCtrCom_t
- } dvbpsi_DCopyCtr_dr_t;
- #define MAX_LOGOTS_DESC_CHARLEN 15///<ABNT NBR 15608-3:2008 29.4.1 Max is 5, but TS have more.
- /**
- * \brief "logo transmission" descriptor structure for 0xDE.
- *
- * This structure is used to store a decoded "logo transmission"
- * descriptor. (ABNT 15603-2 Data structure and basic info SI).
- */
- typedef struct dvbpsi_LogoTs_dr_s{
- UINT8 bLogoTsType; ///< logo ts type
- union {
- struct {
- UINT16 wLogoId; ///< logo ID
- UINT16 wLogoVersion; ///< logo version
- UINT16 wDownloadDataId; ///< download data ID
- } stType01;
- struct {
- UINT16 wLogoId; ///< logo ID
- } stType02;
- struct {
- UINT8 bLogoChar[MAX_LOGOTS_DESC_CHARLEN]; ///< logo string
- } stType03;
- }uType;
- } dvbpsi_LogoTs_dr_t;
- /*
- * struct dvbpsi_TSinformation_dr_s(0xCD)
- * brief "TS information" descriptor structure for 0xCD.
- *
- * This structure is used to store a decoded "TS information"
- * descriptor. (ABNT 15603-2 Data structure and basic info SI).
- */
- typedef struct dvbpsi_TSinfo_dr_s
- {
- UINT8 remoteControlKeyId;
- }dvbpsi_TSinfo_dr_t;
- #endif
- /*
- * struct dvbpsi_PartialReception_dr_s(0xFB)
- * brief "Partial Reception" descriptor structure for 0xFB.
- *
- * This structure is used to store a decoded "Partial Reception"
- * descriptor. (ABNT 15603-2 Data structure and basic info SI).
- */
- typedef struct dvbpsi_PartialReception_dr_s
- {
- UINT16 serviceNumCount;
- UINT16 serviceId[];
- }dvbpsi_PartialReception_dr_t;
- /**
- * \brief "multilingual_service" descriptor structure for 0x5d.
- */
- typedef struct dvbpsi_ml_service_dr_s
- {
- UINT8 i_iso6392_language_code[4]; /*!< language code*/
- UINT8 i_service_provider_name_length; /*!< length of the i_service_provider_name array */
- UINT8 service_provider_name[256]; /*!< name of the service provider */
- UINT8 i_service_name_length; /*!< length of the i_service_name array */
- UINT8 service_name[256]; /*!< name of the service */
- struct dvbpsi_ml_service_dr_s *next; /*!< pointer to next one */
- } dvbpsi_ml_service_dr_t;
- /**
- * \brief DVBPSI Service ariable desc
- */
- typedef struct dvbpsi_ScanDvbSdtServiceCellIdInfo_s
- {
- UINT8 availability;
- UINT8 cellidCount;
- UINT16 cellid[0];
- } dvbpsi_ScanDvbSdtServiceCellIdInfo_t;
- //BRAD MOD+ For Preferred name list descriptor
- /**
- * \brief pref name struct
- */
- typedef struct dvbpsi_PrefName_s
- {
- UINT8 name_id; ///< name ID
- UINT8 service_name[40]; ///< service name
- } dvbpsi_PrefName_t;
- /**
- * \brief pref name list
- */
- typedef struct dvbpsi_PrefNameList_service_dr_s
- {
- char iso6392_language_code[4]; ///< language code
- UINT8 name_count; ///< name count
- dvbpsi_PrefName_t pref_name[5]; ///< pref name list
- struct dvbpsi_PrefNameList_service_dr_s *next; ///< pointer to next one
- } dvbpsi_PrefNameList_service_dr_t;
- //BRAD MOD-
- /**
- * \brief DVBPSI LCN version2
- */
- typedef struct dvbpsi_lcn_v2_dr_s
- {
- UINT8 channel_list_id; ///< channel list ID
- UINT8 channel_list_name[256];
- UINT8 channel_list_name_length;
- UINT8 country_code[3]; ///< country code
- UINT8 visible_service_flag; ///< visible service flag
- UINT16 lcn; ///< LCN
- struct dvbpsi_lcn_v2_dr_s *p_next; ///< pointer to next one
- } dvbpsi_lcn_v2_dr_t;
- #ifdef SUPPORT_BAT_LCN
- typedef struct dvbpsi_bat_lcn_s
- {
- UINT8 len;
- UINT8 pData[256];
- } dvbpsi_bat_lcn_t;
- #endif
- //#ifdef SUPPORT_OTA_UPGRADE_2_LOADER
- struct dvbpsi_tfcas_private_info_s
- {
- UINT16 SW_Model; ///< sw model
- UINT16 SW_Version; ///< sw version
- UINT16 HW_Model; ///< hw model
- UINT16 HW_Version; ///< hw version
- UINT32 u32Start_serial; ///< start serial number
- UINT32 u32End_serial; ///< end serial number
- UINT8 u8Upgrade_mode; ///< upgrade mode
- UINT32 u32Reserve : 24; ///< reserved
- };
- struct dvbpsi_tfcas_dvbc3_privates_info_s
- {
- UINT8 stHwInfo[8];
- UINT32 u32Start_serial;
- UINT32 u32End_serial;
- };
- struct dvbpsi_tfcas_ota_s
- {
- UINT8 delivery_tag;
- UINT8 length;
- UINT8 data[244];
- UINT16 Download_pid:13;
- UINT8 Download_type:3;
- UINT8 Private_data_len;
- union{
- struct dvbpsi_tfcas_dvbc3_privates_info_s stDvbc3PrivateInfo;
- struct dvbpsi_tfcas_private_info_s stPrivateInfo;
- }private_info;
- };
- typedef struct dvbpsi_tfcas_dr_s
- {
- UINT16 i_STB_Manufacturer_ID;
- UINT8 length;
- INT32 i32TotalIndex;
- struct dvbpsi_tfcas_ota_s *pstTfcas_ota;
- } dvbpsi_tfcas_dr_t;
- //#endif
- typedef struct dvbpsi_srvlist_dr_s
- {
- UINT16 service_id;
- UINT8 service_type;
- } dvbpsi_srvlist_dr_t;
- #ifdef SUPPORT_ASTRA_LCN
- typedef struct dvbsi_service_list_name_dr_s
- {
- UINT8 i_iso6392_language_code[4];
- UINT8 i_service_name_length; /*!< length of the i_service_name array */
- UINT8 service_name[40]; /*!< ASTRA required 31 bytes space */
- } dvbsi_service_list_name_dr_t;
- typedef struct bouquet_name_s
- {
- UINT8 bouguet_name_length;
- UINT8 bouquet_name[31];
- } bouquet_name_t;
- typedef struct dvbsi_bouquet_list_dr_s
- {
- UINT8 i_bouquet_num;
- bouquet_name_t *pstBouquet_name;
- } dvbsi_bouquet_list_dr_t;
- typedef struct dvbsi_virtual_service_id_dr_s
- {
- UINT16 virtual_service_id;
- } dvbsi_virtual_service_id_dr_t;
- #endif
- /**
- * @fn dvbpsi_network_name_dr_t *dvbpsi_DecodeNetworkNameDr(UINT8 *pu8Descriptor, INT16 n16Len);
- * @brief Network name descriptor decoder(0x40)
- * @param pu8Descriptor: Pointer to the descriptor buffer
- * @param n16Len: The total descriptor length
- * @return a pointer to a new network name descriptor structure
- * which contains the decoded data.
- */
- dvbpsi_network_name_dr_t *dvbpsi_DecodeNetworkNameDr(UINT8 *pu8Descriptor, INT16 n16Len);
- /**
- * @fn dvbpsi_multinetwork_name_dr_t *dvbpsi_DecodeMultiNetworkNameDr(UINT8 * pu8Descriptor, INT16 n16Len);
- * @brief Network name descriptor decoder(0x5b)
- * @param pu8Descriptor: Pointer to the descriptor buffer
- * @param n16Len: The total descriptor length
- * @return a pointer to a new multi network name descriptor structure
- * which contains the decoded data.
- */
- dvbpsi_multinetwork_name_dr_t *dvbpsi_DecodeMultiNetworkNameDr(UINT8 * pu8Descriptor, INT16 n16Len);
- /**
- * @fn void dvbpsi_FreeMLNetworkDr(dvbpsi_multinetwork_name_dr_t * pDecoded);
- * @brief free ML Network struct variable
- * @param pDecoded: variable will be freed
- */
- void dvbpsi_FreeMLNetworkDr(dvbpsi_multinetwork_name_dr_t * pDecoded);
- /**
- * @fn dvbpsi_satellite_system_dr_t *dvbpsi_DecodeSatelliteSystemDr(UINT8 *pu8Descriptor, INT16 n16Len);
- * @brief Satellite delivery system descriptor decoder(0x43)
- * @param pu8Descriptor: Pointer to the descriptor buffer
- * @param n16Len: The total descriptor length
- * @return a pointer to a new satellite delivery system descriptor structure
- * which contains the decoded data.
- */
- dvbpsi_satellite_system_dr_t *dvbpsi_DecodeSatelliteSystemDr(UINT8 *pu8Descriptor, INT16 n16Len);
- /**
- * @fn dvbpsi_cable_system_dr_t *dvbpsi_DecodeCableSystemDr(UINT8 *pu8Descriptor, INT16 n16Len);
- * @brief Cable system descriptor decoder
- * @param pu8Descriptor: Pointer to the descriptor buffer
- * @param n16Len: The total descriptor length
- * @return a pointer to a new cable system descriptor structure
- * which contains the decoded data.
- */
- dvbpsi_cable_system_dr_t *dvbpsi_DecodeCableSystemDr(UINT8 *pu8Descriptor, INT16 n16Len);
- /**
- * @fn dvbpsi_terrestrial_system_dr_t *dvbpsi_DecodeDVBTerrestrialSystemDr(UINT8 *pu8Descriptor, INT16 n16Len);
- * @brief Terrestrial system descriptor decoder(0x5a)
- * @param pu8Descriptor: Pointer to the descriptor buffer
- * @param n16Len: The total descriptor length
- * @return a pointer to a new terrestrial system descriptor structure
- * which contains the decoded data.
- */
- dvbpsi_terrestrial_system_dr_t *dvbpsi_DecodeDVBTerrestrialSystemDr(UINT8 *pu8Descriptor, INT16 n16Len);
- dvbpsi_T2_system_dr_t *dvbpsi_DecodeT2SystemDr(UINT8 * pu8Descriptor, INT16 n16Len);
- void dvbpsi_FreeT2SystemDr(dvbpsi_T2_system_dr_t * pDecoded);
- /**
- * @fn dvbpsi_terrestrial_system_dr_t *dvbpsi_DecodeISDBTerrestrialSystemDr(UINT8 *pu8Descriptor, INT16 n16Len);
- * @brief Terrestrial system descriptor decoder(0x5a)
- * @param pu8Descriptor: Pointer to the descriptor buffer
- * @param n16Len: The total descriptor length
- * @return a pointer to a new terrestrial system descriptor structure
- * which contains the decoded data.
- */
- dvbpsi_isdbterrestrial_system_dr_t *dvbpsi_DecodeISDBTerrestrialSystemDr(UINT8 *pu8Descriptor, INT16 n16Len);
- /**
- * @fn dvbpsi_service_dr_t *dvbpsi_DecodeServiceDr(UINT8 *pu8Descriptor, INT16 n16Len);
- * @brief Service descriptor decoder(0x48)
- * @param pu8Descriptor: Pointer to the descriptor buffer
- * @param n16Len: The total descriptor length
- * @return a pointer to a new "service" descriptor structure
- * which contains the decoded data.
- */
- dvbpsi_service_dr_t *dvbpsi_DecodeServiceDr(UINT8 *pu8Descriptor, INT16 n16Len);
- //zhaorui 100925 add for mantis 0105229 +
- /**
- * @fn dvbpsi_country_avail_dr_t *dvbpsi_DecodeCountryAvailDr(UINT8 *pu8Descriptor, INT16 n16Len);
- * @brief country availability descriptor decoder(0x49)
- * @param pu8Descriptor: Pointer to the descriptor buffer
- * @param n16Len: The total descriptor length
- * @return a pointer to a new "country availability" descriptor structure
- * which contains the decoded data.
- */
- dvbpsi_country_avail_dr_t *dvbpsi_DecodeCountryAvailDr(UINT8 *pu8Descriptor, INT16 n16Len);
- /**
- * @fn void dvbpsi_FreeCountryAvailDr(dvbpsi_country_avail_dr_t * pstCountryAvail);
- * @brief free country availability struct variable
- * @param pstCountryAvail: variable will be freed
- */
- void dvbpsi_FreeCountryAvailDr(dvbpsi_country_avail_dr_t * pstCountryAvail);
- //zhaorui 100925 add for mantis 0105229 -
- /**
- * @fn dvbpsi_frequency_list_dr_t *dvbpsi_DecodeFrequencyListDr(UINT8 *pu8Descriptor, INT16 n16Len, UINT32* u32Number);
- * @brief frequency list descriptor decoder(0x62)
- * @param pu8Descriptor: Pointer to the descriptor buffer
- * @param n16Len: The total descriptor length
- * @return a pointer to a frequency list descriptor structure
- * which contains the decoded data.
- */
- dvbpsi_frequency_list_dr_t *dvbpsi_DecodeFrequencyListDr(UINT8 *pu8Descriptor, INT16 n16Len, UINT32* u32Number);
- /**
- * @fn void dvbpsi_FreeFrequencyListDr(dvbpsi_frequency_list_dr_t * pstFreqList);
- * @brief free frequency list struct variable
- * @param pstFreqList: variable will be freed
- */
- void dvbpsi_FreeFrequencyListDr(dvbpsi_frequency_list_dr_t * pstFreqList);
- dvbpsi_announcemen_support_dr_t *dvbpsi_AnnouncementSptDr(UINT16 len, UINT8 *pDesc);
- void dvbpsi_FreeAnnouncementSptDr(dvbpsi_announcemen_support_dr_t * pstAncmtSptDr);
- unsigned short dvbpsi_AdaptationFieldDataDr(UINT16 len, UINT8 *pDesc, UINT8 *pAdpFidldId);
- /**
- * @fn dvbpsi_srvlist_dr_t *dvbpsi_DecodeServiceListDr(UINT8 * pu8Descriptor, INT16 n16Len);
- * @brief dvbpsi_DecodeServiceListDr(0x41)
- * @param pu8Descriptor: Pointer to the descriptor buffer
- * @param n16Len: The total descriptor length
- * @return a pointer to a service list extracted from the service list descriptor.
- */
- dvbpsi_srvlist_dr_t *dvbpsi_DecodeServiceListDr(UINT8 * pu8Descriptor, INT16 n16Len);
- /**
- * @fn dvbpsi_linkage_dr_t *dvbpsi_DecodeLinkDr(UINT8 *p_descriptor, INT16 Len);
- * @brief Service descriptor decoder(0x4a)
- * "conditional access" descriptor decoder.
- * @param p_descriptor: Pointer to the descriptor buffer
- * @param Len: The total descriptor length
- * @return a pointer to a new "conditional access" descriptor structure which
- * contains the decoded data.
- */
- dvbpsi_linkage_dr_t *dvbpsi_DecodeLinkDr(UINT8 *p_descriptor, INT16 Len);
- /**
- * @fn INT32 dvbpsi_DecodeStrmIdDr(UINT8 *pu8Descriptor, INT16 n16Len, dvbpsi_strmid_dr_t *pStrmIdDr);
- * @brief Stream identifier descriptor decoder(0x52)
- * @param pu8Descriptor: Pointer to the descriptor buffer
- * @param n16Len: The total descriptor length
- * @param pStrmIdDr: Pointer to Stream ID descriptor buffer
- * @return a pointer to a stream identifier descriptor structure
- * which contains the decoded data.
- */
- INT32 dvbpsi_DecodeStrmIdDr(UINT8 *pu8Descriptor, INT16 n16Len, dvbpsi_strmid_dr_t *pStrmIdDr);
- /**
- * @fn INT32 dvbpsi_DecodeAACDr(UINT8 * pu8Descriptor, INT16 n16Len, dvbpsi_aac_dr_t * pAACDr);
- */
- INT32 dvbpsi_DecodeAACDr(UINT8 * pu8Descriptor, INT16 n16Len, dvbpsi_aac_dr_t * pAACDr);
- /**
- * @fn INT32 dvbpsi_DecodeAC3Dr(UINT8 * pu8Descriptor, INT16 n16Len, dvbpsi_ac3_dr_t * pAC3Dr);
- */
- INT32 dvbpsi_DecodeAC3Dr(UINT8 * pu8Descriptor, INT16 n16Len, dvbpsi_ac3_dr_t * pAC3Dr);
- /**
- * @fn INT32 dvbpsi_DecodeAC3Dr(UINT8 * pu8Descriptor, INT16 n16Len, dvbpsi_ac3_dr_t * pAC3Dr);
- */
- INT32 dvbpsi_DecodeEAC3Dr(UINT8 * pu8Descriptor, INT16 n16Len, dvbpsi_eac3_dr_t * pEAC3Dr);
- /**
- * @fn dvbpsi_teletext_dr_t* dvbpsi_DecodeTeletextDr(UINT8 *pu8Descriptor, INT16 n16Len);
- * @brief "teletext" descriptor decoder(0x56)
- * @param pu8Descriptor: Pointer to the descriptor buffer
- * @param n16Len: The total descriptor length
- * @return a pointer to a new "teletext" descriptor structure
- * which contains the decoded data.
- */
- dvbpsi_teletext_dr_t* dvbpsi_DecodeTeletextDr(UINT8 *pu8Descriptor, INT16 n16Len);
- /**
- * @fn void dvbpsi_FreeTeletextDr(dvbpsi_teletext_dr_t *pstTeletext);
- * @brief free Teletext struct variable
- * @param pstTeletext: variable will be freed
- */
- void dvbpsi_FreeTeletextDr(dvbpsi_teletext_dr_t *pstTeletext);
- /**
- * @fn dvbpsi_subtitling_dr_t* dvbpsi_DecodeSubtitlingDr(UINT8 *pu8Descriptor, INT16 u16Len);
- * @brief "subtitling" descriptor decoder(0x59)
- * @param pu8Descriptor: Pointer to the descriptor buffer
- * @param u16Len: The total descriptor length
- * @return a pointer to a new "subtitling" descriptor structure
- * which contains the decoded data.
- */
- dvbpsi_subtitling_dr_t* dvbpsi_DecodeSubtitlingDr(UINT8 *pu8Descriptor, INT16 u16Len);
- /**
- * @fn void dvbpsi_FreeSubtitlingDr(dvbpsi_subtitling_dr_t *pstSubtitle);
- * @brief free Subtitle struct variable
- * @param pstSubtitle: variable will be freed
- */
- void dvbpsi_FreeSubtitlingDr(dvbpsi_subtitling_dr_t *pstSubtitle);
- /**
- * @fn dvbpsi_ml_service_dr_t *dvbpsi_DecodeMlServiceDr(UINT8 *pu8Descriptor,
- * INT16 n16Len,
- * dvbsi_special_spec eFollowSpecialSpec);
- * @brief multilingual Service descriptor decoder(0x5d)
- * @param pu8Descriptor: Pointer to the descriptor buffer
- * @param n16Len: The total descriptor length
- * @param eFollowSpecialSpec: follow special spec
- * @return a pointer to a new "multilingual service" descriptor structure
- * which contains the decoded data.
- */
- dvbpsi_ml_service_dr_t *dvbpsi_DecodeMlServiceDr(UINT8 *pu8Descriptor, INT16 n16Len, dvbsi_special_spec eFollowSpecialSpec);
- /**
- * @fn void dvbpsi_FreeMLServiceDr(dvbpsi_ml_service_dr_t *pDecoded);
- * @brief free ML Servive struct variable
- * @param pDecoded: variable will be freed
- */
- void dvbpsi_FreeMLServiceDr(dvbpsi_ml_service_dr_t *pDecoded);
- /**
- * @fn unsigned short dvbpsi_ServiceMoveDr( UINT16 len,
- * UINT8 *pDesc,
- * unsigned short *OrgNetId,
- * unsigned short *TsId,
- * unsigned short *ServiceId);
- * @brief service move descriptor(0x60)
- * @param pDesc: Pointer to the descriptor buffer
- * @param len: The total descriptor length
- * @param OrgNetId: a pointer to memory for storing of new original network id
- * @param TsId: a pointer to memory for storing of new transport stream id
- * @param ServiceId: a pointer to memory for storing of service id
- * @return unsigned short integer
- */
- unsigned short dvbpsi_ServiceMoveDr(UINT16 len, UINT8 *pDesc,unsigned short *OrgNetId,unsigned short *TsId, unsigned short *ServiceId);
- #ifdef SUPPORT_PREFERRED_NAME
- /**
- * \fn dvbpsi_PrefNameList_service_dr_t *dvbpsi_DecodePrefNameListServiceDr(UINT8 * pu8Descriptor, INT16 n16Len);
- * \brief Pref Name List Service descriptor
- * \param pu8Descriptor: Pointer to the descriptor buffer
- * \param n16Len: The total descriptor length
- * \return a pointer to a new "pref name list service" descriptor structure
- */
- dvbpsi_PrefNameList_service_dr_t *dvbpsi_DecodePrefNameListServiceDr(UINT8 * pu8Descriptor, INT16 n16Len);
- /**
- * \fn void dvbpsi_FreePrefNameListServiceDr(dvbpsi_PrefNameList_service_dr_t * pDecoded);
- * \brief free pref name list struct variable
- * \param pDecoded: variable will be freed
- */
- void dvbpsi_FreePrefNameListServiceDr(dvbpsi_PrefNameList_service_dr_t * pDecoded);
- #endif
- /**
- * \fn dvbsi_special_spec dvbpsi_DecodePDSDDr(UINT8 * pu8Descriptor, INT16 n16Len);
- * \brief "PDSD" descriptor
- * \param pu8Descriptor: Pointer to the descriptor buffer
- * \param n16Len: The total descriptor length
- * \return dvbsi_special_spec
- */
- dvbsi_special_spec dvbpsi_DecodePDSDDr(UINT8 * pu8Descriptor, INT16 n16Len);
- /**
- * \fn UINT16 dvbpsi_DecodeLCNDr(UINT8 *pu8Descriptor,
- * INT16 n16Len,
- * UINT16 u16ProgramNum,
- * dvbsi_special_spec eFollowSpecialSpec);
- * \brief "LCN" descriptor
- * \param pu8Descriptor: Pointer to the descriptor buffer
- * \param n16Len: The total descriptor length
- * \param u16ProgramNum: program number
- * \param eFollowSpecialSpec: follow special spec
- * \return unsigned 16 bits integer
- */
- UINT16 dvbpsi_DecodeLCNDr(UINT8 *pu8Descriptor, INT16 n16Len,UINT16 u16ProgramNum, dvbsi_special_spec eFollowSpecialSpec);
- UINT16 dvbpsi_DecodeLCNDr_B0(UINT8 * pu8Descriptor, INT16 n16Len, UINT16 u16ProgramNum);
- #ifdef CONFIG_SUPPORT_KDG_CERTIFICATION
- UINT16 dvbpsi_DecodeLCNDr_9C(UINT8 * pu8Descriptor, INT16 n16Len, UINT16 u16ProgramNum);
- #endif
- /**
- * \fn UINT32 *dvbpsi_DecodeLCNDr_forlist(UINT8 * pu8Descriptor,
- * INT16 n16Len,
- * dvbsi_special_spec eFollowSpecialSpec);
- * \brief "LCN for list" descriptor
- * \param pu8Descriptor: Pointer to the descriptor buffer
- * \param n16Len: The total descriptor length
- * \param eFollowSpecialSpec: follow special spec
- * \return unsigned 32 bits integer
- */
- UINT32 *dvbpsi_DecodeLCNDr_forlist(UINT8 * pu8Descriptor, INT16 n16Len, dvbsi_special_spec eFollowSpecialSpec);
- /**
- * \fn UINT8 dvbpsi_DecodeServiceAttributeDr(UINT8 *pu8Descriptor,
- * INT16 n16Len,
- * UINT16 u16ProgramNum);
- * \brief "service attribute" descriptor
- * \param pu8Descriptor: Pointer to the descriptor buffer
- * \param n16Len: The total descriptor length
- * \param u16ProgramNum: program number
- * \return unsigned 8 bits integer
- */
- UINT8 dvbpsi_DecodeServiceAttributeDr(UINT8 *pu8Descriptor, INT16 n16Len,UINT16 u16ProgramNum);
- /**
- * \fn unsigned short dvbpsi_OadCompChk(UINT16 len, UINT8 *pDesc);
- * \brief Oad compare check
- * \param len: total length
- * \param pDesc: compare destination
- * \return unsigned short bits integer
- */
- unsigned short dvbpsi_OadCompChk(UINT16 len, UINT8 *pDesc);
- int dvbpsi_SsuCompChk(UINT16 len, UINT8 *pDesc, UINT16 elementaryPid);
- /*
- * Service Availability descriptor decoder.
- * @pu8Descriptor: Pointer to the descriptor buffer
- * @n16Len: The total descriptor length
- * Return a pointer to structure
- * which contains cell info data.
- */
- dvbpsi_ScanDvbSdtServiceCellIdInfo_t *dvbpsi_DecodeServiceAvailabilityDr(UINT8 * pu8Descriptor, INT16 n16Len);
- /**
- * \fn dvbpsi_lcn_v2_dr_t* dvbpsi_DecodeLCNV2Dr(UINT8 * pu8Descriptor,
- * INT16 n16Len,
- * UINT16 u16ServiceId,
- * dvbsi_special_spec eFollowSpecialSpec);
- * \brief "LCN version 2" descriptor
- * \param pu8Descriptor: Pointer to the descriptor buffer
- * \param n16Len: The total descriptor length
- * \param u16ServiceId: service ID
- * \param eFollowSpecialSpec: follow special spec
- * \return a pointer to a new "LCN version 2" descriptor structure
- */
- dvbpsi_lcn_v2_dr_t* dvbpsi_DecodeLCNV2Dr(UINT8 * pu8Descriptor, INT16 n16Len, UINT16 u16ServiceId, dvbsi_special_spec eFollowSpecialSpec);
- /**
- * \fn void dvbpsi_FreeLCNV2Dr(void);
- * \brief free LCN version 2 struct variable
- */
- void dvbpsi_FreeLCNV2Dr(void);
- #ifdef SUPPORT_HD_SIMULCAST_LCN
- /**
- * \fn UINT16 dvbpsi_DecodeHDSimulLCNDr(UINT8 * pu8Descriptor,
- * INT16 n16Len,
- * UINT16 u16ProgramNum,
- * dvbsi_special_spec eFollowSpecialSpec);
- * \brief "Simul LCN" descriptor
- * \param pu8Descriptor: Pointer to the descriptor buffer
- * \param n16Len: The total descriptor length
- * \param u16ProgramNum: program number
- * \param eFollowSpecialSpec: follow special spec
- * \return unsigned 16 bits integer
- */
- UINT16 dvbpsi_DecodeHDSimulLCNDr(UINT8 * pu8Descriptor, INT16 n16Len, UINT16 u16ProgramNum, dvbsi_special_spec eFollowSpecialSpec);
- #endif
- #ifdef SUPPORT_EPG_SERIES //Mika 091203 added for series rec.
- /**
- * \fn UINT8 *dvbpsi_DecodeDefAuthorityDesc(UINT8 *pu8Descriptor, INT16 n16Len);
- * \brief "Def Authority" descriptor
- * \param pu8Descriptor: Pointer to the descriptor buffer
- * \param n16Len: The total descriptor length
- * \return unsigned 8 bits integer
- */
- UINT8 *dvbpsi_DecodeDefAuthorityDesc(UINT8 *pu8Descriptor, INT16 n16Len);
- #endif
- /**
- * \fn int dvbpsi_FtaContentMgrDr(UINT8 * pu8Descriptor,
- * UINT16 u16Len,
- * UINT8 *pstData);
- * \brief FTA content manager
- * \param pu8Descriptor: Pointer to the descriptor buffer
- * \param u16Len: The total descriptor length
- * \param pstData: FTA content data
- * \return integer
- */
- extern int dvbpsi_FtaContentMgrDr(UINT8 * pu8Descriptor, UINT16 u16Len, UINT8 *pstData);//BRAD MOD+
- #ifdef CONFIG_ISDB_SYSTEM
- /**
- * \fn dvbpsi_ConAvai_dr_t *dvbpsi_ContentAvailabilityDr(UINT8 * pu8Descriptor, INT16 n16Len);
- * \brief "content avail ability" descriptor
- * \param pu8Descriptor: Pointer to the descriptor buffer
- * \param n16Len: The total descriptor length
- * \return a pointer to a new "content avail ability" descriptor structure
- */
- dvbpsi_ConAvai_dr_t *dvbpsi_ContentAvailabilityDr(UINT8 * pu8Descriptor, INT16 n16Len);
- /**
- * \fn dvbpsi_DCopyCtr_dr_t *dvbpsi_DigitalCopyCtrDr(UINT8 * pu8Descriptor, INT16 n16Len);
- * \brief "copy control" descriptor
- * \param pu8Descriptor: Pointer to the descriptor buffer
- * \param n16Len: The total descriptor length
- * \return a pointer to a new "copy control" descriptor structure
- */
- dvbpsi_DCopyCtr_dr_t *dvbpsi_DigitalCopyCtrDr(UINT8 * pu8Descriptor, INT16 n16Len);
- /**
- * \fn void dvbpsi_DigitalCopyCtrFree(void *p_Desc);
- * \brief free copy control struct variable
- * \param p_Desc: copy destination
- */
- void dvbpsi_DigitalCopyCtrFree(void *p_Desc);
- /**
- * \fn dvbpsi_LogoTs_dr_t *dvbpsi_LogoTransmissionDr(UINT8 * pu8Descriptor, INT16 n16Len);
- * \brief "logo transmission" descriptor
- * \param pu8Descriptor: Pointer to the descriptor buffer
- * \param n16Len: The total descriptor length
- * \return a pointer to a new "logo transmission" descriptor structure
- */
- dvbpsi_LogoTs_dr_t *dvbpsi_LogoTransmissionDr(UINT8 * pu8Descriptor, INT16 n16Len);
- /**
- * \fn UINT8 dvbpsi_ParentalRatingDr(UINT8 * pu8Descriptor, INT16 n16Len);
- * \brief parent rating descriptor
- * \param pu8Descriptor: Pointer to the descriptor buffer
- * \param n16Len: The total descriptor length
- * \return unsigned 8 bits integer
- */
- UINT8 dvbpsi_ParentalRatingDr(UINT8 * pu8Descriptor, INT16 n16Len);//pmt parental rating des
- /*
- * TS information descriptor(0xCD)
- * @pu8Descriptor: Pointer to the descriptor buffer
- * @n16Len: The total descriptor length
- * Return remote control key id
- */
- dvbpsi_TSinfo_dr_t *dvbpsi_DecodeTSInforDr(UINT8 * pu8Descriptor, INT16 n16Len, UINT16 ProgNumber);
- #endif
- /*
- * Partial Reception descriptor.
- * @pu8Descriptor: Pointer to the descriptor buffer
- * @n16Len: The total descriptor length
- * @ProgNumber: serviceId of current TS
- * Return one seg service Id list
- */
- dvbpsi_PartialReception_dr_t * dvbpsi_DecodePartialReceptionDr(UINT8 * pu8Descriptor, INT16 n16Len, UINT16 ProgNumber);
- #ifdef SUPPORT_VOLUME_COMPENSATING //cwhuang 100623 added
- dvbpsi_volume_compensating_list_dr_t *dvbpsi_VolumeCompensatingListDr(UINT8 *pu8Descriptor,
- INT16 n16Len,UINT16 usTranID);
- #endif
- #ifdef SUPPORT_BAT_SERVICE_LIST //cwhuang 100623 added
- dvbpsi_bat_service_list_dr_t *dvbpsi_DecodeBatServiceListDr(UINT8 *pu8Descriptor,
- INT16 n16Len,UINT16 usTranID);
- #endif
- #ifdef SUPPORT_TRD
- /**
- * \fn dvbpsi_target_region_dr_t *dvbpsi_DecodeTrdDr(UINT8 * pu8Descriptor, INT16 n16Len);
- * \brief "TRD" descriptor
- * \param pu8Descriptor: Pointer to the descriptor buffer
- * \param n16Len: The total descriptor length
- * \return a pointer to a new "TRD" descriptor structure
- */
- dvbpsi_target_region_dr_t *dvbpsi_DecodeTrdDr(UINT8 * pu8Descriptor, INT16 n16Len);
- /**
- * \fn void dvbpsi_FreeTrdDr(dvbpsi_target_region_dr_t * pDecoded);
- * \brief free TRD struct vatiable
- * \param pDecoded: variable will be freed
- */
- void dvbpsi_FreeTrdDr(dvbpsi_target_region_dr_t * pDecoded);
- /**
- * \fn dvbpsi_target_region_name_dr_t *dvbpsi_DecodeTrdNameDr(UINT8 * pu8Descriptor, INT16 n16Len);
- * \brief "TRD name" descriptor
- * \param pu8Descriptor: Pointer to the descriptor buffer
- * \param n16Len: The total descriptor length
- * \return a pointer to a new "TRD name" descriptor structure
- */
- dvbpsi_target_region_name_dr_t *dvbpsi_DecodeTrdNameDr(UINT8 * pu8Descriptor, INT16 n16Len);
- /**
- * \fn void dvbpsi_FreeTrdNameDr(dvbpsi_target_region_name_dr_t * pDecoded);
- * \brief free TRD name struct variable
- * \param pDecoded: variable will be freed
- */
- void dvbpsi_FreeTrdNameDr(dvbpsi_target_region_name_dr_t * pDecoded);
- #endif
- #ifdef SUPPORT_BAT_LCN
- dvbpsi_bat_lcn_t* dvbpsi_BatLcn(UINT8 *p_descriptor, INT16 len);
- #endif
- #ifdef SUPPORT_OTA_UPGRADE_2_LOADER
- extern void Free_Tfcas_Dr(dvbpsi_tfcas_dr_t** pp_decoded);
- extern dvbpsi_tfcas_dr_t *dvbpsi_DecodeTfcasDr(UINT8 * p_descriptor, INT16 len);
- #endif
- #ifdef SUPPORT_ASTRA_LCN
- /**
- * \fn dvbsi_service_list_name_dr_t *dvbpsi_DecodeServiceListNameDr(UINT8 * pu8Descriptor, INT16 n16Len);
- * \brief "Service list name" descriptor
- * \param pu8Descriptor: Pointer to the descriptor buffer
- * \param n16Len: The total descriptor length
- * \return a pointer to a new "service list name" descriptor structure
- */
- dvbsi_service_list_name_dr_t *dvbpsi_DecodeServiceListNameDr(UINT8 * pu8Descriptor, INT16 n16Len);
- /**
- * \fn dvbsi_bouquet_list_dr_t *dvbpsi_DecodeBouquetListDr(UINT8 * pu8Descriptor, INT16 n16Len);
- * \brief "Bouquet List" descriptor
- * \param pu8Descriptor: Pointer to the descriptor buffer
- * \param n16Len: The total descriptor length
- * \return a pointer to a new "Bouquet list name" descriptor structure
- */
- dvbsi_bouquet_list_dr_t *dvbpsi_DecodeBouquetListDr(UINT8 * pu8Descriptor, INT16 n16Len);
- /**
- * \fn void dvbpsi_FreeBouquetListDr(dvbpsi_target_region_dr_t * pDecoded);
- * \brief free Bouquet list descriptor struct vatiable
- * \param pDecoded: variable will be freed
- */
- void dvbpsi_FreeBouquetListDr(dvbsi_bouquet_list_dr_t *p_decoded);
- /**
- * \fn dvbsi_virtual_service_id_dr_t *dvbpsi_DecodeVirtualServiceIdDr(UINT8 * pu8Descriptor, INT16 n16Len);
- * \brief "Virtual service id" descriptor
- * \param pu8Descriptor: Pointer to the descriptor buffer
- * \param n16Len: The total descriptor length
- * \return a pointer to a new "Bouquet list name" descriptor structure
- */
- dvbsi_virtual_service_id_dr_t *dvbpsi_DecodeVirtualServiceIdDr(UINT8 * pu8Descriptor, INT16 n16Len);
- #endif
- #endif //#ifndef _DVB_DR_DVB_H_
|