NVDVGDEF.H
上传用户:super_houu
上传日期:2008-09-21
资源大小:4099k
文件大小:11k
源码类别:

DVD

开发平台:

Others

  1. /***********************************************************************/
  2. /* File:                                                               */
  3. /* =====                                                               */
  4. /* Descripton:                                                         */
  5. /* ===========                                                         */
  6. /*                                                                     */
  7. /* Log:                                                                */
  8. /* =====                                                                 */
  9. /*
  10.  $Name: $                                                             
  11.  $Header: /I76/I76_Common/I76_Reference/Playcore/Nav_DVD/Header/NVDVGDEF.H 17    2/20/04 6:17p Glenl $                                                           
  12.  $Log: /I76/I76_Common/I76_Reference/Playcore/Nav_DVD/Header/NVDVGDEF.H $                                                              
  13.  * 
  14.  * 17    2/20/04 6:17p Glenl
  15.  * Merged S1 code
  16.  * 
  17.  * 16    04-02-16 20:16 Chaol
  18.  * add karaoke
  19.  * 
  20.  * 15    12/30/03 11:28a Leonh
  21.  * Angieh:Change for DVD AUDIO navigator header.
  22.  * 
  23.  * 13    11/28/03 3:39a Leonh
  24.  * Anigeh:Put the Downmix Table updated flag in the gns.dvd.
  25.  * 
  26.  * 12    11/12/03 12:55p Leonh
  27.  * correct the code
  28.  * 
  29.  * 11    11/12/03 12:48p Leonh
  30.  * clean up the code
  31.  * 
  32.  * 10    11/11/03 11:34a Leonh
  33.  * Angieh:Add DVD Audio compile switch.
  34.  * 
  35.  * 9     11/07/03 4:55a Leonh
  36.  * clean up the code
  37.  * 
  38.  * 8     10/09/03 9:02a Leslie
  39.  * LeonH: make I76 DVDA project compile through 
  40.  * 
  41.  * 8     9/16/03 3:17p Leonh
  42.  * Merge the latest change from ref
  43.  * 
  44.  * 7     8/21/03 10:32a Leonh
  45.  * Clean up some comments
  46.  * 
  47.  * 6     8/20/03 2:56p Leonh
  48.  * Merge dvd audio code with the latest nav_dvd code with reference
  49.  * 
  50.  * 
  51.  * 1     03-04-28 11:15 Fwang
  52.  * Initial for DVDA
  53.  * 
  54.  * 13    03-04-28 17:13 Leslie
  55.  * Add bIsUserGotoOperation
  56.  * 
  57.  * 12    03-04-22 22:36 Leslie
  58.  * 
  59.  * 7     9/05/02 21:47 Nirm
  60.  * - Added pre-caching of CGMS information, in order to minimize
  61.  * File-System accesses when possible.
  62.  * 
  63.  * 6     9/05/02 16:14 Nirm
  64.  * - Alternative implementation to CGMS support.
  65.  * 
  66.  * 5     4/30/02 17:11 Rinata
  67.  * CGMS/WSS support
  68.  * 
  69.  * 4     4/23/02 10:16a Leslie
  70.  * Add new S_DVD_GLOBALS memeber ucTimesearch
  71.  * 
  72.  * 3     23/04/02 9:34 Nirm
  73.  * - Added dependency in "Config.h".
  74.  * 
  75.  * 2     2/22/02 11:25p Dingming
  76.  * define pending type instead of pause/step_pending
  77.  * 
  78.  * 1     2/17/02 12:12 Rinata
  79.  * 
  80.  * 1     2/17/02 11:38 Rinata
  81.  * 
  82.  * 2     8/01/02 16:24 Nirm
  83.  * Corrected Include-Paths.
  84.  Revision 1.25  2001/09/21 00:47:17Z  stephaneh                                                              
  85.  Merged code from Wang Fan for DVD Nav bugs for ZS5xx                                                              
  86.  Revision 1.24  2001/05/10 04:52:54Z  bhupeshv                                                              
  87.  Fixed S2 bug A1 for Total title time(Elapsed time)                                                              
  88.  Revision 1.23  2001/04/12 23:48:12  bhupeshv                                                              
  89.  Added ome field "TitleTime in S_DVD_GLOBLES                                                              
  90.  Revision 1.22  2001/01/09 20:40:08  tia                                                              
  91.  Add VALID stream count and num variables.                                                              
  92.  Revision 1.21  2000/12/30 02:25:40  tia                                                              
  93.  add session_id                                                              
  94.  Revision 1.20  2000/12/16 02:47:00  tia                                                              
  95.  Add global variables to store language code for Audio and subtitle.                                                              
  96.  Revision 1.19  2000/12/11 01:09:00  tia                                                              
  97.  Revision 1.18  2000/12/11 01:05:23  tia                                                              
  98.  Revision 1.17  2000/12/02 00:32:59  tia                                                              
  99.  Revision 1.16  2000/10/18 21:29:15  eric                                                              
  100.  change the chapter display method                                                              
  101.  Revision 1.15  2000/09/22 18:45:25Z  tia                                                              
  102.  Revision 1.14  2000/09/05 20:56:08  tia                                                              
  103.  Revision 1.13  2000/07/27 02:56:56  tia                                                              
  104.  Revision 1.12  2000/07/14 05:55:54  tia                                                              
  105.  Revision 1.11  2000/07/10 17:56:12  tia                                                              
  106.  Revision 1.10  2000/06/14 02:46:23  tia                                                              
  107.  Revision 1.9  2000/05/24 23:32:21  tia                                                              
  108.  Revision 1.8  2000/05/20 03:59:01  tia                                                              
  109.  Revision 1.7  2000/05/19 03:48:25  tia                                                              
  110.  Revision 1.6  2000/05/17 02:41:37  tia                                                              
  111.  Revision 1.5  2000/05/11 22:36:02  tia                                                              
  112.  Revision 1.4  2000/05/05 02:36:16  tia                                                              
  113.  Revision 1.3  2000/04/29 02:35:59  tia                                                              
  114.  Revision 1.2  2000/04/27 02:47:17  tia                                                              
  115.  Revision 1.1  2000/04/18 18:51:14  tia                                                              
  116.  Initial revision                                                              
  117.  */
  118. /***********************************************************************/
  119. #include "Config.h" // Global Configuration - do not remove!
  120. #ifndef _NVDVGDEF_H
  121. #define _NVDVGDEF_H
  122. #include "PlaycoreNav_DVDHeadernvgadefs.h"
  123. #include "PlaycoreNav_DVDHeadernav_pe.h"
  124. #include "PlaycoreNav_DVDHeaderdvda_amg.h"
  125. #include "PlaycoreNav_DVDHeaderdvda_asv.h"
  126. typedef struct tag_dvd_globals{
  127. /* Static variables used by Navigator core */
  128. S_SPRM sprm;
  129. S_GPRM gprm;
  130. S_DVD_NAVIGATION_C dvd;
  131. S_DSI dsi; /* LATEST DSI packet received */
  132. S_PCI pci; /* Current active PCI packet */
  133. S_VMG vmg; /* Current VMG, only one per disc */
  134. S_VTS vts; /* Current VTS, several per disc */
  135. #ifdef DVD_AUDIO_SUPPORT
  136. S_AMG amg; /* Current AMG  */
  137. S_ATS ats;
  138. S_ASV asv;
  139. #endif   
  140. S_RTPBINFO rtpb; /* Real Time Playback Info */
  141. S_PGC pgc; /* current PGC information */
  142. S_PGC_SRP ptab; /* PGC and PG data */
  143. S_NavigationManager nm; 
  144. #ifdef NO_SCPAD
  145. S_NAV_PK_INFO_FIFO npfifo; /* FIFO for passing DSI info onto PCI because of delayed processing of PCI */
  146. #endif
  147. /* Static variables used by Navigator event handler and PE */
  148. PTM_EVENT_RECORD ptm_event[MAX_PTM_EVENT];
  149. UINT32 hCGMSInfoTable; // A Handle to the CGMS-Info Table on the Scratch-Pad
  150. UINT8 uCGMSTableOccupancy; // Holds the number of valid Entries in the Table
  151. UINT8 uCGMSPreCachedStart; // Indicates which VTS start the precached. 
  152. UINT8 uCGMSPreCachedEnd; // Indicates which VTS end the precached. 
  153. BYTE ucCurrCGMS_Mode; // Holds the current CGMS Mode
  154. DWORD dw_ifobase;
  155. DWORD dw_vmg_ifobase;
  156. DWORD dw_amg_ifobase;
  157. DWORD dw_sap_ifobase;
  158. DWORD tt_gr_time;              //Total group time
  159. DWORD tt_gr_elapsed_time;  //     Elapsed group time 
  160. LBN cur_vobs_base; /* Current vobs base depending on domain selection */
  161. PASSWORD_STATUS password_state;
  162. DWORD dwBookMarkATime;
  163. WORD program_mode_index;
  164. WORD pgc_playback_time; /* in seconds */
  165. WORD audio_lcd; /* audio language code  */
  166. WORD subpic_lcd; /* subtitle language code */
  167. #ifdef COMPUTE_TITLE_TIME
  168. WORD TitleTime; //Total title time
  169. WORD TitleElapsedTime; //Title Elapsed Time 
  170. #endif //COMPUTE_TITLE_TIME
  171. WORD wNavTimer; // LX: Navigation timer, minimal unt is 200ms
  172. CmdOpt dwNavErrorCode;
  173. BYTE session_id; /* ZORAN TC1229 : Add session ID to be appended to Nav Packs identifier */
  174. BYTE i_ptm_event_pending_cnt;
  175. BYTE i_dvd_type; /* indicate what possible type  DVD this is */
  176. BYTE i_dvd_selected_type;
  177. BYTE audio_stream_count; /* indicate how many audio streams are currently available */
  178. BYTE subpic_stream_count; /* indicate how may sub picture streams are available */
  179. BYTE button_count; /* number of active HLI buttons */
  180. BYTE audio_stream_num;
  181. BYTE subpic_stream_num;
  182. BYTE audio_coding_mode;
  183. /* <<< ZORAN TC0108 :  valid stream count with valid stream num */
  184. BYTE audio_valid_count;
  185. BYTE subpic_valid_count;
  186. BYTE audio_valid_num; /* start from 1 to audio_valid_count */
  187. BYTE subpic_valid_num; /* start from 1 to subpic_valid_count */
  188. /* ZORAN TC0108 >>> */
  189. BYTE audio_type;
  190. BYTE audio_app;
  191. BYTE audio_quant;
  192. BYTE audio_GR1_quant;  
  193. BYTE audio_GR2_quant;
  194. BYTE audio_fs;
  195. BYTE audio_GR1_fs;
  196. BYTE audio_GR2_fs;
  197. BYTE audio_ch;
  198. BYTE audio_channelAssignment;
  199. BYTE audio_appi;
  200. BYTE pttn;
  201. BYTE  pending_type;
  202. BYTE ucTimeSearch; //LX042202: 0: Invalid, 1:Time Search Allowed, 2: Time Search Prohibited
  203. BYTE GprmRegionCode;
  204. BYTE ucSubStreamIDBack;
  205. UINT spc_initialized:1; /* Indicate if space was initialized, spc_construct() */
  206. UINT b_request_title_validation:1;
  207. UINT b_clk_event_enable:1;
  208. UINT b_in_critical_ptm_isr:1;
  209. UINT b_first_seek_after_get_data:1;
  210. UINT b_need_initial_access:1;
  211. UINT b_in_vobu_still:1;
  212. UINT b_stop_on_error:1;
  213. UINT              bFullStop:1;      
  214. #ifdef EXINO2
  215.     UINT bSceneAgainInRepeatSingle:1;
  216. #endif // EXINO2
  217. UINT bncSetSPSTN :1;
  218. #ifdef LANGUAGE_LEARNING_SUPPORT
  219. UINT bIsInGrammarPGC:1;
  220. UINT bIsInLanguageLearningSubPic:1;
  221. UINT bIsDSIRamCmdAvaiable:1;
  222. #endif
  223. UINT bRequestRecordErrCode:1;
  224. UINT bFileSystemReadDataError:1;
  225. UINT bFirstTimeFlushSubBuf;
  226. UINT bGotoBookmarkDone:1;
  227. UINT                 bCPPM_IsEncrypted:1;
  228. UINT waterMarkMute;
  229. UINT bIsUserGotoOperation:1;
  230. UINT bAtsDmUpdated:1;
  231. UINT bIsIPReverseWatchDog:1;//Leslie_0323_2005: Add Error handling for DVD IP Reverse
  232. } S_DVD_GLOBALS;
  233. #define  DVD_TYPE_NO_DISC 0x00
  234. #define  DVD_TYPE_VMG 0x01
  235. #define  DVD_TYPE_AMG 0x02
  236. #define  DVD_TYPE_SAP 0x04
  237. #define  DVD_TYPE_DVD_ROM 0x08
  238. #ifdef DVD_VR_SUPPORT
  239. #define  DVD_TYPE_VR_VMG 0x10
  240. #endif //DVD_VR_SUPPORT
  241. #define  STOP_PENDING 0x01
  242. #define  PAUSE_PENDING      0x02
  243. #define  SKIP_NOTIFICATION_PENDING      0x04
  244. #ifdef D_ENABLE_FIRST_IFRAME_NOTIFICATION
  245. #define  FIRST_IFRAME_NOTIFY_PENDING 0x08
  246. #endif // D_ENABLE_FIRST_IFRAME_NOTIFICATION
  247. #endif