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

📄 navdata.h

📁 Sunplus 8202S source code.
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef __NAVDATA_H
#define __NAVDATA_H
#include "types.h"
#include "udf_167.h"
#include "global.h"
#include "fs96602.h"
#include "fsGUI1.h"
#include "psd.h"

typedef struct {
	UINT8	dY, dCb, dCr;
} DSV_Palette;

typedef struct {
	UINT8	h, m, s, f;
	// tc_flag;
} PlayBack_Time;

typedef struct {
	UINT32 dC_CAT;
	//UINT32 dC_PBTM;
	PlayBack_Time dC_PBTM;
	UINT32 dC_FVOBU_SA, dC_LVOBU_SA;
	UINT16 dC_LVOBU_SA2EA;// dC_LVOBU_EA = dC_LVOBU_SA+dC_LVOBU_SA2EA
	//  UINT32 dC_FILVU_EA;
	//	UINT16 dC_VOB_IDN;
	//	UINT8 dC_IDN;
} DSV_Cell;

typedef struct {
	UINT32 dATS_PG_CNT;
	//UINT8 bATS_PG_EN_CN;
	//UINT32 dATS_PG_PA_TM;	
	UINT32 dATS_PG_PB_TM;
} ATS_PGI;

typedef struct {
	//UINT8 bATS_C_IXN;
	//UINT8 bATS_C_TY;
	UINT32 dATS_C_SA;
	UINT32 dATS_C_EA;
} ATS_C_PBI;

typedef struct {
	UINT8 bASVUN;
	UINT8 bASV_DMD;
	UINT16 sATS_ASV_PBI_SA;
	UINT16 sATS_ASV_PBI_EA;
} ATS_PG_ASV_PBI_SRP;

typedef struct {
	UINT8 bDlist[10];
} DLIST;

typedef struct {
	ATS_PGI pg[100];
	ATS_C_PBI cell[256];
	UINT8 asv[4096];
} ATS_PG_CELL;

typedef struct {
	UINT8 b[8];
} t_NCMD;

typedef struct {
	UINT16 PTL_ID_FLD;
} t_PTL_ID_FLD;

typedef struct {
	//UINT16 PTL_LVL;
	t_PTL_ID_FLD VTS[100];//PTL_ID_FLD_VMG + PTL_ID_FLD_VTS
} t_PTL_MAI;

typedef struct
{
	//UINT8 reserv;
	UINT8 ATT_CAT;
	UINT16 ATT_PG_Ns;		
	//UINT8 ATT_AGL_Ns;
	UINT32 ATT_PB_TM;
	UINT8 ATSN;
	//UINT32 ATS_SA;
}t_ATT_SRP_PB;

typedef struct {
	UINT8 TT_PB_TY;
	UINT16 PTT_Ns;	
	UINT16 TT_PTL_ID_FLD;
	UINT8 VTSN;
	//UINT32 MAX_TM_MAP;
} t_TT_SRP_PB;

typedef union
{
	t_TT_SRP_PB vtt;
#ifdef DVD_AUDIO	   			
	t_ATT_SRP_PB att;
#endif	
} t_AV_SRP_PB;

#define dTT_SRP_Ns_MAX        100

//#ifdef DVD_AUDIO	   	//terry,2003/8/3 06:08PM,tmp. mark it!!
#define dAST_ATRT_MAX         128
#define dVTS_MU_AST_ATRT_MAX  288
//#else
//#define dAST_ATRT_MAX         64
//#define dVTS_MU_AST_ATRT_MAX  192
//#endif

typedef struct
{
	// RSM saved info
	UINT8 dRSM_Domain;
	UINT8 dRSM_Cell;
	UINT32 dRSM_End_Addr;
	UINT32 dRSM_NV_PCK;	
	UINT8 dRSM_PGN;
	UINT8 dRSM_LoopCount;
	UINT8 dRSM_PGPlayed[13];		// for shuffle mode
	
	UINT16 dRSM_TTN;
	UINT16 dRSM_VTS_TTN;
	UINT16 dRSM_TT_PGCN;
	UINT16 dRSM_PTTN;
	UINT16 dRSM_HL_BTNN;
	UINT16 dRSM_PTL_LVL;
	UINT16 dRSM_AGLN;
	UINT16 dRSM_SPSTN;
	UINT16 dRSM_ASTN;
} t_RSM_INFO;
#include "ncmd.h"

#define NAV_DATA_ACCESS			(0)
#define BITSTREAM_ACCESS		(1)
#define SLIDE_SHOW_MD                   (0x00)
#define BROWSER_MD                      (0x01)

//terry,2004/12/22 06:54PM
#define SEL_AUDIO_MD                    (0x01<<0)
#define SEL_SUBTITLE_MD                 (0x01<<1)
#define USER_HL_MODE                    (0x01<<2)
#define SEL_SUBTITLE_OK                 (0x01<<3)
#define SEL_SP_VTSM                     (0x01<<4) 
#define SEL_SP_MENU_OK                  (0x01<<5) 
 
#define SUP_GET_ID_0x7F                 (0x007f) //include on/off flag (0x40)
#define SUP_GET_ID_0x3F                 (0x003f) //only id
#define SUP_OFF_DEF                     (0xffbf)
#define SUP_ON_DEF                      (0x0040)


#define SIM_USE
/*
* All of the global variables used by Navigator are placed here.
*/
typedef struct
{		
	UINT8 dAv_AST_Ns;//display use
	UINT8 dAv_SPST_Ns;//display use
	UINT8 dAudio_coding_md;//display use,PE use ,declare in user use
	UINT8 dNs_Audio_ch;//display use
	
	// Navigator Parameters
	UINT16	GPRM_mode;	// 1: counter, 0: reg
	
#ifdef DVD_AUDIO	
	UINT16	SPRM[26];   //AU9-3
	UINT16	GPRM[17];	// GPRM[16] as a temp reg for internal usage
#else
    UINT16	SPRM[23];
    UINT16	GPRM[17];	// GPRM[16] as a temp reg for internal usage
#endif	
	UINT16  audio_language;
    UINT16  subtitle_language;
	
	// Navigator State
	UINT8		CurrState;
	UINT8		CurrDomain;
	
	// current PGC info
	// logic sector number(=LBA), start address
	UINT32	CurrPGC_LSN;
	UINT32	CurrPGC_SA; //axel , match DVD-Part III 2004/7/14 
	
	// VMGM
	UINT8	VMG_CAT_RM;//region code
	UINT32	dVMGM_VOBS_SA;//VMGM VOB Set start address
	
	UINT32  dTT_SRPT_SA;
	UINT32	dVMGM_PGCI_UT_SA;
    UINT8   dTT_SRP_Ns;    
    
	UINT32	dPTL_MAIT_SA;
	t_PTL_MAI	dPTL_MAI;
	
	// VTS info
	UINT32	dVTSM_VOBS_SA;//VTSM VOB Set start address
	UINT32	dVTSTT_VOBS_SA;//VTS VOB Set start address
	UINT32  dVTS_PTT_SRPT_SA;
	UINT32	dVTS_TMAPT_SA,d_PGCN_TM_SA;
	UINT8	TMU;
	UINT16	MAP_EN_Ns;
	UINT32	dVTS_PGCIT_SA;//VTS PGCI table start address
	UINT32	dVTSM_PGCI_UT_SA;//VTSM PGCI language unit table
	UINT32	dVTSM_TTN;//TTN of first VTSM 
	
	
    //VTS A/V/S Info   	
   	UINT8	dSPST_id;
   	
#ifdef DVD_AUDIO	   	
   UINT8  dAST_ATRT[dAST_ATRT_MAX];		// 8ch - 16byte, AU7-3
   UINT8  dVTS_MU_AST_ATRT[dVTS_MU_AST_ATRT_MAX];// 16dm - 18byte ,AU7-13
#else
   UINT8  dAST_ATRT[dAST_ATRT_MAX];		// 8ch - 8byte
   UINT8  dVTS_MU_AST_ATRT[dVTS_MU_AST_ATRT_MAX];// 8ch - 24byte ,VI4-54
#endif   	
   	UINT8	dSPST_ATRT[192];	// 32ch - 6byte   	
   	UINT8 	dPGC_AST_CTLT[16];	  // 8ch - 2 byte ,VI4-87  
   	UINT8 	dPGC_SPST_CTLT[128];	// 32ch - 4byte ,VI4-89        		  		
	
	// TT info
	t_AV_SRP_PB dTT_SRP[dTT_SRP_Ns_MAX];//use 1-99
	
	union 
	{
	       UINT8 dTT_PB_TY;//it must access real time,so mark
		   UINT8 dATT_CAT;
	}tt_info;
	
	UINT8 dVTSN;
	UINT32 dVTS_SA;	
	
	// PGC
	UINT8	dPGC_PG_Ns, dPGC_C_Ns;
	//PlayBack_Time	PGC_PB_TM;
	UINT32	dPGC_UOP_CTL;
	UINT16	dPrevPGC, dNextPGC, dGoUpPGC;
	UINT8	dPGC_PB_MODE, dPGC_STILL;
	UINT8	dPRE_CMD_Ns, dPOST_CMD_Ns, dC_CMD_Ns;
	t_NCMD	dPGC_CMD[129]; // use 1-128
	UINT8	dEN_CN[100]; // use 1-99


	union 
	{
		DSV_Cell	DSVC[256]; // use 1-255
#ifdef DVD_AUDIO	   				
		ATS_PG_CELL ats;
#endif		
	}pc_info;
	DSV_Palette	DSVPLT[16]; // use 0-15
	
	// Navigation Command Process
	//t_NCMD CurrNCMD_Code;
	UINT8 CurrNCMD_PC;		// Program Counter
	
	// PGC Playback
	UINT8 CurrPGN;
	UINT8 CurrCell;
	UINT8 CurrLoopCount;
	UINT8 PGPlayed[13];		// for shuffle mode
	UINT8 DirectPlay;			// = 1, no precommand
	UINT32 ReadRLBN;		// relative LB number for read
	PlayBack_Time Current_Cell_TM;	
	
	t_RSM_INFO rsm_info[BOOK_MAX_ITEM+1];
	
	// PE info
	UINT8 new_cell;
	
	// Pointer for current PCI and HLI	
	PlayBack_Time C_ELTM;	
	
	// for PE interface
	UINT16 dV_ATR;
	UINT8 dAST_Ns;
	UINT8 dSPST_Ns;    
    UINT8 dAu_stream_id;
	
	// for VOBU interface
	//PlayBack_Time
	UINT8 dAGL_Ns;
	UINT8 ChkVideo;
	UINT8 dDisc_flag;		
	//for DVD_RTN_MENU_RESUME
#ifdef DVD_RTN_MENU_RESUME
	UINT8 dMenuPgc_flag;        //a flag: 1:execute CALL SS and play a MENU PGC; 0: not, heqiang, 2004-3-5 22:36
#endif
#ifdef NEW_SEL_SUBTITLE_WAY		
	UINT8 user_selected;
	UINT32 dVTSM_VOBS_SA_old;
//	UINT16 record_subp_ttn;
#endif	

	UINT8   Old_CN;//terry,2004/2/11 12:06PM

#ifdef DVD_AUDIO	   				
	UINT32  dASVS_SA;
	UINT16  HGR_INF;	// Hidden Group Information
	
	UINT16  dATS_ASV_PBIT_SA;
	//UINT32  dASVOBS_SA;
	
	UINT8   dASVUN;
	UINT32  dASVU_SA;	
	UINT32  dASVU_LEN;
	
    UINT32 asv_loaded_len;
    UINT8  disp_timing_md; //terry,2004/2/21 06:39PM
	
	UINT8   dASVN;
	UINT16  dASV_SA;	
	UINT32  dASV_LEN;	
	
	UINT8   dASV_Ns;
	UINT16  dABS_ASVN;
	
	UINT8   CurrDLIST;
	UINT32  Disp_Timing;
	UINT32  att_tm;
	UINT8   old_gpn;
	UINT8   old_trkn;	
	UINT16  get_next_asv_tm;
	INT16   asv_buf_offset;//terry,2004/2/27 04:40PM
	UINT8	hid_gp_chk_pwd;//nono 2004-3-2 20:14

	UINT16 asv_loaded_addr;//terry,2004/2/19 03:30PM
	UINT16  asv_file_sa_addr;//terry,2004/3/18 07:00PM
	UINT8   old_asvn;
#endif

} DataSaved;
//====================================================================================  TOC

⌨️ 快捷键说明

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