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

📄 navdata.h

📁 Sunplus 8202S source code.
💻 H
📖 第 1 页 / 共 2 页
字号:
#define TRACK_INFO_MAX      (0x66)
typedef struct
{
    UINT32  track_info[TRACK_INFO_MAX+1];
    UINT32  oko_trk_end[TRACK_INFO_MAX];
}tCDROM;

//====================================================================================  CDG
#define gf_gen 67                //define generating poly of Galois field
				 //primitive poly is a must
				 //polynomial coef. set bitwise
#define gf_order 64              //number of element in Galois field
				 //equals to 2^(highest order of
				 //generating poly)
#define gen_power 6              //highes order of generating poly


typedef unsigned char gf2m_format;         //gf2m_format as the storage format for
				 //field elements. one may redefine it to
				 //other type for enlarging the range for
				 //presentaion of field elements.

typedef struct
{
	gf2m_format exp2vec[gf_order];   //table to covert field element of
				        //exponential form to vector form
	gf2m_format vec2exp[gf_order];   //table to convet field element of
	                   	        //vector form to exponential form
	gf2m_format generator2420[24];   //declare memory for generator poly
	gf2m_format encodedseq2420[24];  //declare memory to store encoded
				        //codeword
	gf2m_format decodedseq2420[20];  //declare memory to store decoded
				        //sequece
	gf2m_format generator42[4];       
	gf2m_format encodedseq42[4];
	gf2m_format decodedseq42[2];
	gf2m_format rootbasis2420[5];
}tCDG;

//===============================================================================  FS & JPEG
#ifndef NEW_JPEG
#include "jpeglib.h"
#endif

typedef struct
{
	tCDG    cdg;	
#ifdef SUPPORT_MULTI_PARTITION      //wanghaoying 2004-8-9 17:28
    BYTE    count_part;             //number of multi-partition in the storage (esp. HDD)
    BYTE    part_current;
    BYTE    part_will;
#ifdef FAT_FILE_MODE
    UINT16  hdd_dir_current;
    UINT16  card_dir_current;
#endif
#endif

#ifdef FILE_MODE_WRITE
    BYTE    count_media;             //number of existing media
    BYTE    media_current;
    BYTE    media_will;
    UINT16  srce_dir_current;
    UINT16  dest_dir_current;    
#endif

	// File Structure part
	UINT16	count_dir[5];
	UINT16	first_dir[5];
	UINT16	count_file[5];
	UINT16	Dir_entry[ISO_DIR_MAX];		// map to real track number
	UINT16	file_specify_in_dir;		// number of specify style file in current directory

	BYTE	gifsFuncBtn;				// indicate which button that we choose(FS_FUNC_MP3, FS_FUNC_JPEG, FS_FUNC_GAME)
	BYTE	gifsState;

	UINT16	gifsMP3Count;				// # of MP3 files in current disc
	UINT16	gifsJPEGCount;				// .jpg

#ifdef SUPPORT_NESGAME
	UINT16	gifsGAMECount;				// .nes
#endif
    
#ifdef SUPPORT_FILE_SYSTEM_MODE
	UINT16	gifsOtherCount;
#endif
    
#ifdef SUPPORT_MIDI
    UINT16  gifsMidiCount;              //.mid
#endif

#ifdef SUPPORT_MP4_SUBTITLE
    UINT16  uiMP4SubtitleCount;         // mp4 subtitle
#endif

	UINT32	gifsMSFDVDRom;				//system upgrade image
	UINT32	gifsDVDRomSize;				//system-image file size

    UINT32	gbfsPictureCD;              //is Picture CD or not

    #if defined(MP4_DISC_DIRECT_PLAY) || defined(CDROM_MOVIE_DIRECT_PLAY)			//Maoyong 2004.05.12, for disc only has MP4 or/MP4+MPG files
	BYTE    gbfsSpecialMovieCD;
	#endif

/* nes driver is put into ROM, Robert 03/04/29
	UINT32	gifsMSFNESDrv;				//NES driver image
	UINT32	gifsNESDrvSize;				//NES-driver-image file size
	BYTE	bNesDrvError;
*/

	BYTE	gbfsSlide;
	BYTE	gifsbPreview;
	BYTE	gifsbZoomOK;
	BYTE	gfsnot2NormalSpeed;
	BYTE	iGraphMode;					//0:small graph, 1:NTSC graph
    BYTE    gbInJpeg;

	UINT16	iso9660_dir_cnt;
	UINT16	iso9660_file_cnt;
	UINT16	fsnav_dir_cnt;

	UINT16	first_mp3_entry;
	UINT16  last_mp3_entry;
	UINT16	first_mp3_seq;				// sequece of first file in gifsFuncBtn group

	UINT16	file_array[PER_PAGE];		//store file index of iso9660_file[index], PER_PAGE defined in fsGUIx.h
	UINT16	dir_array[PER_PAGE];		//store file index of iso9660_dir[index]

	// fs GUI part
	UINT16  ControlArea;
	UINT16	scroll_len;
	UINT16	scroll_step;

	UINT16  File_Page_Count;			// number of file page in current directory
	UINT16  Dir_Count;
	UINT16  File_Count;					// number of file in current page
	UINT16  file_page_now;				// index of current page
	UINT16  file_page_will;				// index of file page will be, panxing,2002-4-12
	UINT16	dir_page_now;
	UINT16	dir_current;
	UINT16	file_current;				// index of current file in current page
	UINT16	file_will;					// index of file will in current page,panxing,2002-4-13

	UINT16	fsnav_trk_now;
	UINT16	fsnav_dir_now;
	UINT16	fsnav_trk_will;
	UINT16	fsnav_dir_will;
#if defined(FAT_FILE_MODE)||defined(FILE_MODE_WRITE)//liweihua 2004-11-2//zhaoyanhua add 2004-4-9 9:34//lijd2005-1-8 13:04
    UINT16  file_index_in_dir;           //index of all files and subdirs in a dir
    UINT16  file_count_in_dir;           //number of all files and subdirs in a dir
    UINT16  file_current_in_page;        //file offset in current page
    UINT16  file_page_index;
#endif
	// JPEG thumbnail slide show
	UINT16	g_nJpegMode;
	UINT16	g_nPageCount;				// the page amount
	UINT16	g_nPageIndex; 
	UINT16	g_nThumbnailIndex;
	UINT16	g_nAmountInPage;

#ifndef NEW_JPEG
	

	// JPEG part
	int     DCHuffmanTable_cw[2][16];   //DC Huffman Code Word
	int     DCHuffmanTable_cl[2][16];   //DC Huffman Code Length
	int     DCHuffmanTable_rv[2][16];   //DC Huffman Value
	int     ACHuffmanTable_cw[2][176];  //AC Huffman Code Word
	int     ACHuffmanTable_cl[2][176];  //AC Huffman Code Length
	int     ACHuffmanTable_rv[2][176];  //AC Huffman Value        
	int     QTable[2][64];  //Quantization Table
	BYTE	bufJPEG[1024];  //Temp buffer for read from origional data
	INT16	gVID;
	BYTE	bJpgBreak;
	BYTE	bJpgVFDPause; //Jeff 20020523
	BYTE	jpg_Qdl_once;
	int     gQT[2][64];
	MYJPEG	jpg;
	T_DHT	dht;
	T_SOS	sos;
	T_ECS	ecs;
	T_SOF0	sof0;
	UINT16	jpg_framesize;        
	
	//int	LastDC[3];      //for DPCM, we store previous DC values, [0]:Y  [1]:Cb  [2]:Cr
	int     LastDC[64];
	int     gbDCT[64];
	int     gbIDCT[64];
	
	JPGTEMP	p;
#endif
	
	tCDROM  cdrom;		
	union
    {
            t_selection_list      s;
            t_play_list           p;
            t_end_list        e;
    }List;
}FSJPEGDATA;


typedef union
{	
	FSJPEGDATA	JPEG;
	DataSaved	DSV;
} share;

// for sim only
//extern UINT8 is_pe_show;
//extern UINT8 is_pg_print;
//extern UINT8 is_bsread_print;
//extern UINT8 dKEY_Ns, CurrKEY;
//extern int dKEYS[256];

extern share *pshare;
extern DataSaved *pDSV;
extern share share_data;
extern FSJPEGDATA *pFsJpeg;
//extern tVCD *pFsJpeg.cdg;


// param, prefix NP_ (nav param)
#define NP_GPRM(i)		(pDSV->GPRM[(i)])
#define NP_GPRM_mode		(pDSV->GPRM_mode)

#define NP_SPRM(i)		(pDSV->SPRM[(i)])

//video player
#define NP_M_LCD					(pDSV->SPRM[0])
#define NP_ASTN						(pDSV->SPRM[1])
#define NP_SPSTN					(pDSV->SPRM[2])
#define NP_AGLN						(pDSV->SPRM[3])
#define NP_TTN						(pDSV->SPRM[4])
#define NP_VTS_TTN					(pDSV->SPRM[5])
#define NP_TT_PGCN					(pDSV->SPRM[6])
#define NP_PTTN						(pDSV->SPRM[7])
#define NP_HL_BTNN					(pDSV->SPRM[8])
#define NP_NV_TMR					(pDSV->SPRM[9])
#define NP_TT_PGCN_for_NV_TMR		(pDSV->SPRM[10])
#define NP_P_AMXMD					(pDSV->SPRM[11])
#define NP_CTY_CD					(pDSV->SPRM[12])
#define NP_PTL_LVL					(pDSV->SPRM[13])
#define NP_P_CFG_for_Video			(pDSV->SPRM[14])
#define NP_P_CFG_for_Audio			(pDSV->SPRM[15])
#define NP_INI_LCD_for_AST			(pDSV->SPRM[16])
#define NP_INI_LCD_EXT_for_AST		(pDSV->SPRM[17])
#define NP_INI_LCD_for_SPST			(pDSV->SPRM[18])
#define NP_INI_LCD_EXT_for_SPST		(pDSV->SPRM[19])
#define NP_P_RCD					(pDSV->SPRM[20])

#ifdef DVD_AUDIO	
//audio player ,AU9-4
#define NP_AMGM_LCD           (pDSV->SPRM[0]) //AMGM Language code
#define NP_ASLN               (pDSV->SPRM[1]) // audio selection number
//#define NP_AMGM_LCD           (pDSV->SPRM[2])//reserved
//#define NP_AMGM_LCD           (pDSV->SPRM[3])//reserved
//#define NP_AMGM_LCD           (pDSV->SPRM[4])//reserved
//#define NP_AMGM_LCD           (pDSV->SPRM[5])//reserved
//#define NP_AMGM_LCD           (pDSV->SPRM[6])//reserved
#define NP_PGN                (pDSV->SPRM[7]) //PG number for TT_GP_DOM
#define NP_HL_BTNN            (pDSV->SPRM[8]) //Highlighted Button number for Selection state
//#define NP_AMGM_LCD           (pDSV->SPRM[9])//reserved
//#define NP_AMGM_LCD           (pDSV->SPRM[10])//reserved
//#define NP_AMGM_LCD           (pDSV->SPRM[11])//reserved
//#define NP_AMGM_LCD           (pDSV->SPRM[12])//reserved
//#define NP_AMGM_LCD           (pDSV->SPRM[13])//reserved
#define NP_VCAP_CFG_Video     (pDSV->SPRM[14])  //Video Capable audio player configuration for video
#define NP_VCAP_CFG_Audio     (pDSV->SPRM[15])  //Video Capable audio player configuration for audio
//#define NP_AMGM_LCD           (pDSV->SPRM[16])//reserved
//#define NP_AMGM_LCD           (pDSV->SPRM[17])//reserved
//#define NP_AMGM_LCD           (pDSV->SPRM[18])//reserved
//#define NP_AMGM_LCD           (pDSV->SPRM[19])//reserved
//#define NP_AMGM_LCD           (pDSV->SPRM[20])//reserved
#define NP_ATT_GRN            (pDSV->SPRM[21]) //ATT Group number
#define NP_ATTN               (pDSV->SPRM[22]) //ATT number for TT_GP_DOM
#define NP_TKN                (pDSV->SPRM[23]) //Track number for TT_GP_DOM
#define NP_ASVN               (pDSV->SPRM[24]) //ASV number
//#define NP_AMGM_LCD           (pDSV->SPRM[25])//reserved

//share varible between audio and video
//#define dTS_Ns          dVTS_Ns
#define dAMGM_VOBS_SA   dVMGM_VOBS_SA
#define dATT_SRPT_SA    dTT_SRPT_SA
#endif


#define FP_DOM				(0)
#define VMGM_DOM			(1)
#define VTSM_DOM			(2)
#define VMGM_DOM_PGCN		(3)
#define TT_DOM				(4)
#define STOP_STATE			(5)

#define TITLE_MENU			(2)
#define ROOT_MENU			(3)
#define SUB_PICTURE_MENU	(4)
#define AUDIO_MENU			(5)
#define ANGLE_MENU			(6)
#define PTT_MENU			(7)

// list of all navigator states
enum {	
	NAV_INIT=0,
	NAV_STOP=1,
	NAV_NEW_PGC,
	NAV_PGC_PLAY,
	NAV_PG_PLAY,
	NAV_CELL_PLAY,
	NAV_PE_PROC,
	NAV_CELL_POST,
	NAV_IDLE,
	NAV_PGC_POST,
	NAV_POWER,
	NAV_PREVIEW//terry,2004/2/7 07:18PM
};

//======================================================================

#define SYS_PARAM	0x01
#define GEN_PARAM	0x02

//======================================================================

#define set_search_video() pDSV->ChkVideo|=0x01
#define clr_search_video() pDSV->ChkVideo&=(~0x01)
#define is_search_video() (pDSV->ChkVideo&0x01)
#define set_menu_exist_hl() pDSV->ChkVideo|=0x02
#define clr_menu_exist_hl() pDSV->ChkVideo&=(~0x02)
#define is_menu_exist_hl() (pDSV->ChkVideo&0x02)


#endif /*__NAVDATA_H*/

⌨️ 快捷键说明

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