navdata.h
上传用户:poi891205
上传日期:2013-07-15
资源大小:9745k
文件大小:18k
源码类别:

DVD

开发平台:

C/C++

  1. #ifndef __NAVDATA_H
  2. #define __NAVDATA_H
  3. #include "types.h"
  4. #include "udf_167.h"
  5. #include "global.h"
  6. #include "fs96602.h"
  7. #include "fsGUI1.h"
  8. #include "psd.h"
  9. typedef struct {
  10. UINT8 dY, dCb, dCr;
  11. } DSV_Palette;
  12. typedef struct {
  13. UINT8 h, m, s, f;
  14. // tc_flag;
  15. } PlayBack_Time;
  16. typedef struct {
  17. UINT32 dC_CAT;
  18. //UINT32 dC_PBTM;
  19. PlayBack_Time dC_PBTM;
  20. UINT32 dC_FVOBU_SA, dC_LVOBU_SA;
  21. UINT16 dC_LVOBU_SA2EA;// dC_LVOBU_EA = dC_LVOBU_SA+dC_LVOBU_SA2EA
  22. //  UINT32 dC_FILVU_EA;
  23. // UINT16 dC_VOB_IDN;
  24. // UINT8 dC_IDN;
  25. } DSV_Cell;
  26. typedef struct {
  27. UINT32 dATS_PG_CNT;
  28. //UINT8 bATS_PG_EN_CN;
  29. //UINT32 dATS_PG_PA_TM;
  30. UINT32 dATS_PG_PB_TM;
  31. } ATS_PGI;
  32. typedef struct {
  33. //UINT8 bATS_C_IXN;
  34. //UINT8 bATS_C_TY;
  35. UINT32 dATS_C_SA;
  36. UINT32 dATS_C_EA;
  37. } ATS_C_PBI;
  38. typedef struct {
  39. UINT8 bASVUN;
  40. UINT8 bASV_DMD;
  41. UINT16 sATS_ASV_PBI_SA;
  42. UINT16 sATS_ASV_PBI_EA;
  43. } ATS_PG_ASV_PBI_SRP;
  44. typedef struct {
  45. UINT8 bDlist[10];
  46. } DLIST;
  47. typedef struct {
  48. ATS_PGI pg[100];
  49. ATS_C_PBI cell[256];
  50. UINT8 asv[4096];
  51. } ATS_PG_CELL;
  52. typedef struct {
  53. UINT8 b[8];
  54. } t_NCMD;
  55. typedef struct {
  56. UINT16 PTL_ID_FLD;
  57. } t_PTL_ID_FLD;
  58. typedef struct {
  59. //UINT16 PTL_LVL;
  60. t_PTL_ID_FLD VTS[100];//PTL_ID_FLD_VMG + PTL_ID_FLD_VTS
  61. } t_PTL_MAI;
  62. typedef struct
  63. {
  64. //UINT8 reserv;
  65. UINT8 ATT_CAT;
  66. UINT16 ATT_PG_Ns;
  67. //UINT8 ATT_AGL_Ns;
  68. UINT32 ATT_PB_TM;
  69. UINT8 ATSN;
  70. //UINT32 ATS_SA;
  71. }t_ATT_SRP_PB;
  72. typedef struct {
  73. UINT8 TT_PB_TY;
  74. UINT16 PTT_Ns;
  75. UINT16 TT_PTL_ID_FLD;
  76. UINT8 VTSN;
  77. //UINT32 MAX_TM_MAP;
  78. } t_TT_SRP_PB;
  79. typedef union
  80. {
  81. t_TT_SRP_PB vtt;
  82. #ifdef DVD_AUDIO    
  83. t_ATT_SRP_PB att;
  84. #endif
  85. } t_AV_SRP_PB;
  86. #define dTT_SRP_Ns_MAX        100
  87. //#ifdef DVD_AUDIO     //terry,2003/8/3 06:08PM,tmp. mark it!!
  88. #define dAST_ATRT_MAX         128
  89. #define dVTS_MU_AST_ATRT_MAX  288
  90. //#else
  91. //#define dAST_ATRT_MAX         64
  92. //#define dVTS_MU_AST_ATRT_MAX  192
  93. //#endif
  94. typedef struct
  95. {
  96. // RSM saved info
  97. UINT8 dRSM_Domain;
  98. UINT8 dRSM_Cell;
  99. UINT32 dRSM_End_Addr;
  100. UINT32 dRSM_NV_PCK;
  101. UINT8 dRSM_PGN;
  102. UINT8 dRSM_LoopCount;
  103. UINT8 dRSM_PGPlayed[13]; // for shuffle mode
  104. UINT16 dRSM_TTN;
  105. UINT16 dRSM_VTS_TTN;
  106. UINT16 dRSM_TT_PGCN;
  107. UINT16 dRSM_PTTN;
  108. UINT16 dRSM_HL_BTNN;
  109. UINT16 dRSM_PTL_LVL;
  110. UINT16 dRSM_AGLN;
  111. UINT16 dRSM_SPSTN;
  112. UINT16 dRSM_ASTN;
  113. } t_RSM_INFO;
  114. #include "ncmd.h"
  115. #define NAV_DATA_ACCESS (0)
  116. #define BITSTREAM_ACCESS (1)
  117. #define SLIDE_SHOW_MD                   (0x00)
  118. #define BROWSER_MD                      (0x01)
  119. //terry,2004/12/22 06:54PM
  120. #define SEL_AUDIO_MD                    (0x01<<0)
  121. #define SEL_SUBTITLE_MD                 (0x01<<1)
  122. #define USER_HL_MODE                    (0x01<<2)
  123. #define SEL_SUBTITLE_OK                 (0x01<<3)
  124. #define SEL_SP_VTSM                     (0x01<<4) 
  125. #define SEL_SP_MENU_OK                  (0x01<<5) 
  126.  
  127. #define SUP_GET_ID_0x7F                 (0x007f) //include on/off flag (0x40)
  128. #define SUP_GET_ID_0x3F                 (0x003f) //only id
  129. #define SUP_OFF_DEF                     (0xffbf)
  130. #define SUP_ON_DEF                      (0x0040)
  131. #define SIM_USE
  132. /*
  133. * All of the global variables used by Navigator are placed here.
  134. */
  135. typedef struct
  136. {
  137. UINT8 dAv_AST_Ns;//display use
  138. UINT8 dAv_SPST_Ns;//display use
  139. UINT8 dAudio_coding_md;//display use,PE use ,declare in user use
  140. UINT8 dNs_Audio_ch;//display use
  141. // Navigator Parameters
  142. UINT16 GPRM_mode; // 1: counter, 0: reg
  143. #ifdef DVD_AUDIO
  144. UINT16 SPRM[26];   //AU9-3
  145. UINT16 GPRM[17]; // GPRM[16] as a temp reg for internal usage
  146. #else
  147.     UINT16 SPRM[23];
  148.     UINT16 GPRM[17]; // GPRM[16] as a temp reg for internal usage
  149. #endif
  150. UINT16  audio_language;
  151.     UINT16  subtitle_language;
  152. // Navigator State
  153. UINT8 CurrState;
  154. UINT8 CurrDomain;
  155. // current PGC info
  156. // logic sector number(=LBA), start address
  157. UINT32 CurrPGC_LSN;
  158. UINT32 CurrPGC_SA; //axel , match DVD-Part III 2004/7/14 
  159. // VMGM
  160. UINT8 VMG_CAT_RM;//region code
  161. UINT32 dVMGM_VOBS_SA;//VMGM VOB Set start address
  162. UINT32  dTT_SRPT_SA;
  163. UINT32 dVMGM_PGCI_UT_SA;
  164.     UINT8   dTT_SRP_Ns;    
  165.     
  166. UINT32 dPTL_MAIT_SA;
  167. t_PTL_MAI dPTL_MAI;
  168. // VTS info
  169. UINT32 dVTSM_VOBS_SA;//VTSM VOB Set start address
  170. UINT32 dVTSTT_VOBS_SA;//VTS VOB Set start address
  171. UINT32  dVTS_PTT_SRPT_SA;
  172. UINT32 dVTS_TMAPT_SA,d_PGCN_TM_SA;
  173. UINT8 TMU;
  174. UINT16 MAP_EN_Ns;
  175. UINT32 dVTS_PGCIT_SA;//VTS PGCI table start address
  176. UINT32 dVTSM_PGCI_UT_SA;//VTSM PGCI language unit table
  177. UINT32 dVTSM_TTN;//TTN of first VTSM 
  178.     //VTS A/V/S Info   
  179.     UINT8 dSPST_id;
  180.    
  181. #ifdef DVD_AUDIO    
  182.    UINT8  dAST_ATRT[dAST_ATRT_MAX]; // 8ch - 16byte, AU7-3
  183.    UINT8  dVTS_MU_AST_ATRT[dVTS_MU_AST_ATRT_MAX];// 16dm - 18byte ,AU7-13
  184. #else
  185.    UINT8  dAST_ATRT[dAST_ATRT_MAX]; // 8ch - 8byte
  186.    UINT8  dVTS_MU_AST_ATRT[dVTS_MU_AST_ATRT_MAX];// 8ch - 24byte ,VI4-54
  187. #endif   
  188.     UINT8 dSPST_ATRT[192]; // 32ch - 6byte   
  189.     UINT8  dPGC_AST_CTLT[16];   // 8ch - 2 byte ,VI4-87  
  190.     UINT8  dPGC_SPST_CTLT[128]; // 32ch - 4byte ,VI4-89           
  191. // TT info
  192. t_AV_SRP_PB dTT_SRP[dTT_SRP_Ns_MAX];//use 1-99
  193. union 
  194. {
  195.        UINT8 dTT_PB_TY;//it must access real time,so mark
  196.    UINT8 dATT_CAT;
  197. }tt_info;
  198. UINT8 dVTSN;
  199. UINT32 dVTS_SA;
  200. // PGC
  201. UINT8 dPGC_PG_Ns, dPGC_C_Ns;
  202. //PlayBack_Time PGC_PB_TM;
  203. UINT32 dPGC_UOP_CTL;
  204. UINT16 dPrevPGC, dNextPGC, dGoUpPGC;
  205. UINT8 dPGC_PB_MODE, dPGC_STILL;
  206. UINT8 dPRE_CMD_Ns, dPOST_CMD_Ns, dC_CMD_Ns;
  207. t_NCMD dPGC_CMD[129]; // use 1-128
  208. UINT8 dEN_CN[100]; // use 1-99
  209. union 
  210. {
  211. DSV_Cell DSVC[256]; // use 1-255
  212. #ifdef DVD_AUDIO    
  213. ATS_PG_CELL ats;
  214. #endif
  215. }pc_info;
  216. DSV_Palette DSVPLT[16]; // use 0-15
  217. // Navigation Command Process
  218. //t_NCMD CurrNCMD_Code;
  219. UINT8 CurrNCMD_PC; // Program Counter
  220. // PGC Playback
  221. UINT8 CurrPGN;
  222. UINT8 CurrCell;
  223. UINT8 CurrLoopCount;
  224. UINT8 PGPlayed[13]; // for shuffle mode
  225. UINT8 DirectPlay; // = 1, no precommand
  226. UINT32 ReadRLBN; // relative LB number for read
  227. PlayBack_Time Current_Cell_TM;
  228. t_RSM_INFO rsm_info[BOOK_MAX_ITEM+1];
  229. // PE info
  230. UINT8 new_cell;
  231. // Pointer for current PCI and HLI
  232. PlayBack_Time C_ELTM;
  233. // for PE interface
  234. UINT16 dV_ATR;
  235. UINT8 dAST_Ns;
  236. UINT8 dSPST_Ns;    
  237.     UINT8 dAu_stream_id;
  238. // for VOBU interface
  239. //PlayBack_Time
  240. UINT8 dAGL_Ns;
  241. UINT8 ChkVideo;
  242. UINT8 dDisc_flag;
  243. //for DVD_RTN_MENU_RESUME
  244. #ifdef DVD_RTN_MENU_RESUME
  245. UINT8 dMenuPgc_flag;        //a flag: 1:execute CALL SS and play a MENU PGC; 0: not, heqiang, 2004-3-5 22:36
  246. #endif
  247. #ifdef NEW_SEL_SUBTITLE_WAY
  248. UINT8 user_selected;
  249. UINT32 dVTSM_VOBS_SA_old;
  250. // UINT16 record_subp_ttn;
  251. #endif
  252. UINT8   Old_CN;//terry,2004/2/11 12:06PM
  253. #ifdef DVD_AUDIO    
  254. UINT32  dASVS_SA;
  255. UINT16  HGR_INF; // Hidden Group Information
  256. UINT16  dATS_ASV_PBIT_SA;
  257. //UINT32  dASVOBS_SA;
  258. UINT8   dASVUN;
  259. UINT32  dASVU_SA;
  260. UINT32  dASVU_LEN;
  261.     UINT32 asv_loaded_len;
  262.     UINT8  disp_timing_md; //terry,2004/2/21 06:39PM
  263. UINT8   dASVN;
  264. UINT16  dASV_SA;
  265. UINT32  dASV_LEN;
  266. UINT8   dASV_Ns;
  267. UINT16  dABS_ASVN;
  268. UINT8   CurrDLIST;
  269. UINT32  Disp_Timing;
  270. UINT32  att_tm;
  271. UINT8   old_gpn;
  272. UINT8   old_trkn;
  273. UINT16  get_next_asv_tm;
  274. INT16   asv_buf_offset;//terry,2004/2/27 04:40PM
  275. UINT8 hid_gp_chk_pwd;//nono 2004-3-2 20:14
  276. UINT16 asv_loaded_addr;//terry,2004/2/19 03:30PM
  277. UINT16  asv_file_sa_addr;//terry,2004/3/18 07:00PM
  278. UINT8   old_asvn;
  279. #endif
  280. } DataSaved;
  281. //====================================================================================  TOC
  282. #define TRACK_INFO_MAX      (0x66)
  283. typedef struct
  284. {
  285.     UINT32  track_info[TRACK_INFO_MAX+1];
  286.     UINT32  oko_trk_end[TRACK_INFO_MAX];
  287. }tCDROM;
  288. //====================================================================================  CDG
  289. #define gf_gen 67                //define generating poly of Galois field
  290.  //primitive poly is a must
  291.  //polynomial coef. set bitwise
  292. #define gf_order 64              //number of element in Galois field
  293.  //equals to 2^(highest order of
  294.  //generating poly)
  295. #define gen_power 6              //highes order of generating poly
  296. typedef unsigned char gf2m_format;         //gf2m_format as the storage format for
  297.  //field elements. one may redefine it to
  298.  //other type for enlarging the range for
  299.  //presentaion of field elements.
  300. typedef struct
  301. {
  302. gf2m_format exp2vec[gf_order];   //table to covert field element of
  303.         //exponential form to vector form
  304. gf2m_format vec2exp[gf_order];   //table to convet field element of
  305.                             //vector form to exponential form
  306. gf2m_format generator2420[24];   //declare memory for generator poly
  307. gf2m_format encodedseq2420[24];  //declare memory to store encoded
  308.         //codeword
  309. gf2m_format decodedseq2420[20];  //declare memory to store decoded
  310.         //sequece
  311. gf2m_format generator42[4];       
  312. gf2m_format encodedseq42[4];
  313. gf2m_format decodedseq42[2];
  314. gf2m_format rootbasis2420[5];
  315. }tCDG;
  316. //===============================================================================  FS & JPEG
  317. #ifndef NEW_JPEG
  318. #include "jpeglib.h"
  319. #endif
  320. typedef struct
  321. {
  322. tCDG    cdg;
  323. #ifdef SUPPORT_MULTI_PARTITION      //wanghaoying 2004-8-9 17:28
  324.     BYTE    count_part;             //number of multi-partition in the storage (esp. HDD)
  325.     BYTE    part_current;
  326.     BYTE    part_will;
  327. #ifdef FAT_FILE_MODE
  328.     UINT16  hdd_dir_current;
  329.     UINT16  card_dir_current;
  330. #endif
  331. #endif
  332. #ifdef FILE_MODE_WRITE
  333.     BYTE    count_media;             //number of existing media
  334.     BYTE    media_current;
  335.     BYTE    media_will;
  336.     UINT16  srce_dir_current;
  337.     UINT16  dest_dir_current;    
  338. #endif
  339. // File Structure part
  340. UINT16 count_dir[5];
  341. UINT16 first_dir[5];
  342. UINT16 count_file[5];
  343. UINT16 Dir_entry[ISO_DIR_MAX]; // map to real track number
  344. UINT16 file_specify_in_dir; // number of specify style file in current directory
  345. BYTE gifsFuncBtn; // indicate which button that we choose(FS_FUNC_MP3, FS_FUNC_JPEG, FS_FUNC_GAME)
  346. BYTE gifsState;
  347. UINT16 gifsMP3Count; // # of MP3 files in current disc
  348. UINT16 gifsJPEGCount; // .jpg
  349. #ifdef SUPPORT_NESGAME
  350. UINT16 gifsGAMECount; // .nes
  351. #endif
  352.     
  353. #ifdef SUPPORT_FILE_SYSTEM_MODE
  354. UINT16 gifsOtherCount;
  355. #endif
  356.     
  357. #ifdef SUPPORT_MIDI
  358.     UINT16  gifsMidiCount;              //.mid
  359. #endif
  360. #ifdef SUPPORT_MP4_SUBTITLE
  361.     UINT16  uiMP4SubtitleCount;         // mp4 subtitle
  362. #endif
  363. UINT32 gifsMSFDVDRom; //system upgrade image
  364. UINT32 gifsDVDRomSize; //system-image file size
  365.     UINT32 gbfsPictureCD;              //is Picture CD or not
  366.     #if defined(MP4_DISC_DIRECT_PLAY) || defined(CDROM_MOVIE_DIRECT_PLAY) //Maoyong 2004.05.12, for disc only has MP4 or/MP4+MPG files
  367. BYTE    gbfsSpecialMovieCD;
  368. #endif
  369. /* nes driver is put into ROM, Robert 03/04/29
  370. UINT32 gifsMSFNESDrv; //NES driver image
  371. UINT32 gifsNESDrvSize; //NES-driver-image file size
  372. BYTE bNesDrvError;
  373. */
  374. BYTE gbfsSlide;
  375. BYTE gifsbPreview;
  376. BYTE gifsbZoomOK;
  377. BYTE gfsnot2NormalSpeed;
  378. BYTE iGraphMode; //0:small graph, 1:NTSC graph
  379.     BYTE    gbInJpeg;
  380. UINT16 iso9660_dir_cnt;
  381. UINT16 iso9660_file_cnt;
  382. UINT16 fsnav_dir_cnt;
  383. UINT16 first_mp3_entry;
  384. UINT16  last_mp3_entry;
  385. UINT16 first_mp3_seq; // sequece of first file in gifsFuncBtn group
  386. UINT16 file_array[PER_PAGE]; //store file index of iso9660_file[index], PER_PAGE defined in fsGUIx.h
  387. UINT16 dir_array[PER_PAGE]; //store file index of iso9660_dir[index]
  388. // fs GUI part
  389. UINT16  ControlArea;
  390. UINT16 scroll_len;
  391. UINT16 scroll_step;
  392. UINT16  File_Page_Count; // number of file page in current directory
  393. UINT16  Dir_Count;
  394. UINT16  File_Count; // number of file in current page
  395. UINT16  file_page_now; // index of current page
  396. UINT16  file_page_will; // index of file page will be, panxing,2002-4-12
  397. UINT16 dir_page_now;
  398. UINT16 dir_current;
  399. UINT16 file_current; // index of current file in current page
  400. UINT16 file_will; // index of file will in current page,panxing,2002-4-13
  401. UINT16 fsnav_trk_now;
  402. UINT16 fsnav_dir_now;
  403. UINT16 fsnav_trk_will;
  404. UINT16 fsnav_dir_will;
  405. #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
  406.     UINT16  file_index_in_dir;           //index of all files and subdirs in a dir
  407.     UINT16  file_count_in_dir;           //number of all files and subdirs in a dir
  408.     UINT16  file_current_in_page;        //file offset in current page
  409.     UINT16  file_page_index;
  410. #endif
  411. // JPEG thumbnail slide show
  412. UINT16 g_nJpegMode;
  413. UINT16 g_nPageCount; // the page amount
  414. UINT16 g_nPageIndex; 
  415. UINT16 g_nThumbnailIndex;
  416. UINT16 g_nAmountInPage;
  417. #ifndef NEW_JPEG
  418. // JPEG part
  419. int     DCHuffmanTable_cw[2][16];   //DC Huffman Code Word
  420. int     DCHuffmanTable_cl[2][16];   //DC Huffman Code Length
  421. int     DCHuffmanTable_rv[2][16];   //DC Huffman Value
  422. int     ACHuffmanTable_cw[2][176];  //AC Huffman Code Word
  423. int     ACHuffmanTable_cl[2][176];  //AC Huffman Code Length
  424. int     ACHuffmanTable_rv[2][176];  //AC Huffman Value        
  425. int     QTable[2][64];  //Quantization Table
  426. BYTE bufJPEG[1024];  //Temp buffer for read from origional data
  427. INT16 gVID;
  428. BYTE bJpgBreak;
  429. BYTE bJpgVFDPause; //Jeff 20020523
  430. BYTE jpg_Qdl_once;
  431. int     gQT[2][64];
  432. MYJPEG jpg;
  433. T_DHT dht;
  434. T_SOS sos;
  435. T_ECS ecs;
  436. T_SOF0 sof0;
  437. UINT16 jpg_framesize;        
  438. //int LastDC[3];      //for DPCM, we store previous DC values, [0]:Y  [1]:Cb  [2]:Cr
  439. int     LastDC[64];
  440. int     gbDCT[64];
  441. int     gbIDCT[64];
  442. JPGTEMP p;
  443. #endif
  444. tCDROM  cdrom;
  445. union
  446.     {
  447.             t_selection_list      s;
  448.             t_play_list           p;
  449.             t_end_list        e;
  450.     }List;
  451. }FSJPEGDATA;
  452. typedef union
  453. {
  454. FSJPEGDATA JPEG;
  455. DataSaved DSV;
  456. } share;
  457. // for sim only
  458. //extern UINT8 is_pe_show;
  459. //extern UINT8 is_pg_print;
  460. //extern UINT8 is_bsread_print;
  461. //extern UINT8 dKEY_Ns, CurrKEY;
  462. //extern int dKEYS[256];
  463. extern share *pshare;
  464. extern DataSaved *pDSV;
  465. extern share share_data;
  466. extern FSJPEGDATA *pFsJpeg;
  467. //extern tVCD *pFsJpeg.cdg;
  468. // param, prefix NP_ (nav param)
  469. #define NP_GPRM(i) (pDSV->GPRM[(i)])
  470. #define NP_GPRM_mode (pDSV->GPRM_mode)
  471. #define NP_SPRM(i) (pDSV->SPRM[(i)])
  472. //video player
  473. #define NP_M_LCD (pDSV->SPRM[0])
  474. #define NP_ASTN (pDSV->SPRM[1])
  475. #define NP_SPSTN (pDSV->SPRM[2])
  476. #define NP_AGLN (pDSV->SPRM[3])
  477. #define NP_TTN (pDSV->SPRM[4])
  478. #define NP_VTS_TTN (pDSV->SPRM[5])
  479. #define NP_TT_PGCN (pDSV->SPRM[6])
  480. #define NP_PTTN (pDSV->SPRM[7])
  481. #define NP_HL_BTNN (pDSV->SPRM[8])
  482. #define NP_NV_TMR (pDSV->SPRM[9])
  483. #define NP_TT_PGCN_for_NV_TMR (pDSV->SPRM[10])
  484. #define NP_P_AMXMD (pDSV->SPRM[11])
  485. #define NP_CTY_CD (pDSV->SPRM[12])
  486. #define NP_PTL_LVL (pDSV->SPRM[13])
  487. #define NP_P_CFG_for_Video (pDSV->SPRM[14])
  488. #define NP_P_CFG_for_Audio (pDSV->SPRM[15])
  489. #define NP_INI_LCD_for_AST (pDSV->SPRM[16])
  490. #define NP_INI_LCD_EXT_for_AST (pDSV->SPRM[17])
  491. #define NP_INI_LCD_for_SPST (pDSV->SPRM[18])
  492. #define NP_INI_LCD_EXT_for_SPST (pDSV->SPRM[19])
  493. #define NP_P_RCD (pDSV->SPRM[20])
  494. #ifdef DVD_AUDIO
  495. //audio player ,AU9-4
  496. #define NP_AMGM_LCD           (pDSV->SPRM[0]) //AMGM Language code
  497. #define NP_ASLN               (pDSV->SPRM[1]) // audio selection number
  498. //#define NP_AMGM_LCD           (pDSV->SPRM[2])//reserved
  499. //#define NP_AMGM_LCD           (pDSV->SPRM[3])//reserved
  500. //#define NP_AMGM_LCD           (pDSV->SPRM[4])//reserved
  501. //#define NP_AMGM_LCD           (pDSV->SPRM[5])//reserved
  502. //#define NP_AMGM_LCD           (pDSV->SPRM[6])//reserved
  503. #define NP_PGN                (pDSV->SPRM[7]) //PG number for TT_GP_DOM
  504. #define NP_HL_BTNN            (pDSV->SPRM[8]) //Highlighted Button number for Selection state
  505. //#define NP_AMGM_LCD           (pDSV->SPRM[9])//reserved
  506. //#define NP_AMGM_LCD           (pDSV->SPRM[10])//reserved
  507. //#define NP_AMGM_LCD           (pDSV->SPRM[11])//reserved
  508. //#define NP_AMGM_LCD           (pDSV->SPRM[12])//reserved
  509. //#define NP_AMGM_LCD           (pDSV->SPRM[13])//reserved
  510. #define NP_VCAP_CFG_Video     (pDSV->SPRM[14])  //Video Capable audio player configuration for video
  511. #define NP_VCAP_CFG_Audio     (pDSV->SPRM[15])  //Video Capable audio player configuration for audio
  512. //#define NP_AMGM_LCD           (pDSV->SPRM[16])//reserved
  513. //#define NP_AMGM_LCD           (pDSV->SPRM[17])//reserved
  514. //#define NP_AMGM_LCD           (pDSV->SPRM[18])//reserved
  515. //#define NP_AMGM_LCD           (pDSV->SPRM[19])//reserved
  516. //#define NP_AMGM_LCD           (pDSV->SPRM[20])//reserved
  517. #define NP_ATT_GRN            (pDSV->SPRM[21]) //ATT Group number
  518. #define NP_ATTN               (pDSV->SPRM[22]) //ATT number for TT_GP_DOM
  519. #define NP_TKN                (pDSV->SPRM[23]) //Track number for TT_GP_DOM
  520. #define NP_ASVN               (pDSV->SPRM[24]) //ASV number
  521. //#define NP_AMGM_LCD           (pDSV->SPRM[25])//reserved
  522. //share varible between audio and video
  523. //#define dTS_Ns          dVTS_Ns
  524. #define dAMGM_VOBS_SA   dVMGM_VOBS_SA
  525. #define dATT_SRPT_SA    dTT_SRPT_SA
  526. #endif
  527. #define FP_DOM (0)
  528. #define VMGM_DOM (1)
  529. #define VTSM_DOM (2)
  530. #define VMGM_DOM_PGCN (3)
  531. #define TT_DOM (4)
  532. #define STOP_STATE (5)
  533. #define TITLE_MENU (2)
  534. #define ROOT_MENU (3)
  535. #define SUB_PICTURE_MENU (4)
  536. #define AUDIO_MENU (5)
  537. #define ANGLE_MENU (6)
  538. #define PTT_MENU (7)
  539. // list of all navigator states
  540. enum {
  541. NAV_INIT=0,
  542. NAV_STOP=1,
  543. NAV_NEW_PGC,
  544. NAV_PGC_PLAY,
  545. NAV_PG_PLAY,
  546. NAV_CELL_PLAY,
  547. NAV_PE_PROC,
  548. NAV_CELL_POST,
  549. NAV_IDLE,
  550. NAV_PGC_POST,
  551. NAV_POWER,
  552. NAV_PREVIEW//terry,2004/2/7 07:18PM
  553. };
  554. //======================================================================
  555. #define SYS_PARAM 0x01
  556. #define GEN_PARAM 0x02
  557. //======================================================================
  558. #define set_search_video() pDSV->ChkVideo|=0x01
  559. #define clr_search_video() pDSV->ChkVideo&=(~0x01)
  560. #define is_search_video() (pDSV->ChkVideo&0x01)
  561. #define set_menu_exist_hl() pDSV->ChkVideo|=0x02
  562. #define clr_menu_exist_hl() pDSV->ChkVideo&=(~0x02)
  563. #define is_menu_exist_hl() (pDSV->ChkVideo&0x02)
  564. #endif /*__NAVDATA_H*/