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

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/DVDDEF.H 4     04-03-31 20:26 Angieh $                                                           
  12.  $Log: /I76/I76_Common/I76_Reference/Playcore/Nav_DVD/Header/DVDDEF.H $                                                              
  13.  * 
  14.  * 4     04-03-31 20:26 Angieh
  15.  * Add support for index and page search.
  16.  * 
  17.  * 3     12/30/03 11:27a Leonh
  18.  * Angieh:Change for DVD AUDIO navigator header.
  19.  * 
  20.  * 5     12/21/03 4:46p Leonh
  21.  * Angieh:Support for the Bookmark Play.
  22.  * 
  23.  * 4     03-05-12 15:58 Fwang
  24.  * 
  25.  * 3     03-05-09 11:23 Fwang
  26.  * 
  27.  * 2     03-04-30 17:59 Fwang
  28.  * DVDA UOP define
  29.  * 
  30.  * 1     03-04-28 11:15 Fwang
  31.  * Initial for DVDA
  32.  * 
  33.  * 2     23/04/02 9:34 Nirm
  34.  * - Added dependency in "Config.h".
  35.  * 
  36.  * 1     2/17/02 12:12 Rinata
  37.  * 
  38.  * 1     2/17/02 11:38 Rinata
  39.  * 
  40.  * 2     8/01/02 16:24 Nirm
  41.  * Corrected Include-Paths.
  42.  Revision 1.11  2001/08/14 17:50:23Z  lyncolnc                                                              
  43.  Merge code from ZCH.                                                              
  44.  Revision 1.11  2001/08/13 06:57:37  leslie                                                              
  45.  Revision 1.11  2001/07/11 08:44:57  leslie                                                              
  46.  Revision 1.2  2001/07/11 02:44:07  leslie                                                              
  47.  Revision 1.1  2001/07/05 03:32:48  leslie                                                              
  48.  Initial revision                                                              
  49.  Revision 1.2  2001/06/27 08:28:06  leslie                                                              
  50.  Revision 1.10  2001/03/09 23:11:16  bhupeshv                                                              
  51.  Added resumevobu to DVDBookmark structure.                                                              
  52.  Revision 1.9  2000/12/30 02:19:06  tia                                                              
  53.  Save 2 more WORD in GPRM storage for SPRM timer information.                                                              
  54.  Revision 1.8  2000/06/23 19:00:13  leslie                                                              
  55.  Replace UINT with WORD                                                              
  56.  Revision 1.7  2000/06/14 02:46:11  tia                                                              
  57.  Revision 1.6  2000/06/06 20:59:36  tia                                                              
  58.  Revision 1.5  2000/05/19 03:48:19  tia                                                              
  59.  Revision 1.4  2000/05/17 02:41:27  tia                                                              
  60.  Revision 1.3  2000/05/05 02:36:10  tia                                                              
  61.  Revision 1.2  2000/04/27 02:47:10  tia                                                              
  62.  Revision 1.1  2000/04/14 02:02:04  tia                                                              
  63.  Initial revision                                                              
  64.  */
  65. /***********************************************************************/
  66. #include "Config.h" // Global Configuration - do not remove!
  67. #ifndef DVDDEF_h
  68. #define DVDDEF_h 1
  69. #include <stdlib.h>
  70. #include "Includesysdefs.h"
  71. #define DVD_UOP__    0L            // always non-prohibited
  72. #define DVD_UOP00    1L
  73. #define DVD_UOP01  ( 1L <<  1 )
  74. #define DVD_UOP02  ( 1L <<  2 )
  75. #define DVD_UOP03  ( 1L <<  3 )
  76. #define DVD_UOP04  ( 1L <<  4 )
  77. #define DVD_UOP05  ( 1L <<  5 )
  78. #define DVD_UOP06  ( 1L <<  6 )
  79. #define DVD_UOP07  ( 1L <<  7 )
  80. #define DVD_UOP08  ( 1L <<  8 )
  81. #define DVD_UOP09  ( 1L <<  9 )
  82. #define DVD_UOP10  ( 1L << 10 )
  83. #define DVD_UOP11  ( 1L << 11 )
  84. #define DVD_UOP12  ( 1L << 12 )
  85. #define DVD_UOP13  ( 1L << 13 )
  86. #define DVD_UOP14  ( 1L << 14 )
  87. #define DVD_UOP15  ( 1L << 15 )
  88. #define DVD_UOP16  ( 1L << 16 )
  89. #define DVD_UOP17  ( 1L << 17 )
  90. #define DVD_UOP18  ( 1L << 18 )
  91. #define DVD_UOP19  ( 1L << 19 )
  92. #define DVD_UOP20  ( 1L << 20 )
  93. #define DVD_UOP21  ( 1L << 21 )
  94. #define DVD_UOP22  ( 1L << 22 )
  95. #define DVD_UOP23  ( 1L << 23 )
  96. #define DVD_UOP24  ( 1L << 24 )
  97. #define DVD_UOP25  ( 1L << 25 )
  98. // ****************************************************************************
  99. //                             User Operations
  100. // ****************************************************************************
  101. //
  102. //             operation                    UOP class(es) and class index           param1      param2  Notes
  103. //
  104. // DVD-defined and CompCore (CC) specific UOPs
  105. //
  106. #define DVD_UOP_TIME_PLAY                   ( DVD_UOP00 )                             // TTN        time (sec)
  107. #define DVD_UOP_TIME_SEARCH                 ( DVD_UOP00 | DVD_UOP05 | ( 1L << 25 ) )   // time (sec)  -
  108. #define DVD_UOP_PTT_PLAY                    ( DVD_UOP01 )                             // TTN        PTTN
  109. #define DVD_UOP_PTT_SEARCH                  ( DVD_UOP01 | DVD_UOP05 | ( 1L << 25 ) )   // PTTN        -
  110. #define DVD_UOP_TITLE_PLAY                  ( DVD_UOP02 )                             // TTN         -
  111. #define DVD_UOP_STOP                        ( DVD_UOP03 )                             //  -          -
  112. #define DVD_UOP_GOUP                        ( DVD_UOP04 )                             //  -          -
  113. #define DVD_UOP_PREVPG_SEARCH               ( DVD_UOP06 )                             //  -          -
  114. #define DVD_UOP_TOPPG_SEARCH                ( DVD_UOP06 | ( 1L << 25 ) )               //  -          -
  115. #ifdef DVD_AUDIO_INDEX
  116. #define DVD_UOP_PREVINDEX_SEARCH (DVD_UOP06 | (2L<<25))
  117. #define DVD_UOP_NEXTINDEX_SEARCH (DVD_UOP07 | (1L<<25))
  118. #endif
  119. #define DVD_UOP_NEXTPG_SEARCH               ( DVD_UOP07 )                             //  -          -
  120. #define DVD_UOP_FORWARD_SCAN                ( DVD_UOP08 )                             // speedx100   -      speed=1 - normal play
  121. #define DVD_UOP_BACKWARD_SCAN               ( DVD_UOP09 )                             // speedx100   -
  122. #define DVD_UOP_TITLE_MENU                  ( DVD_UOP10 )                             // -           -
  123. #define DVD_UOP_ROOT_MENU                   ( DVD_UOP11 )                             // -           -
  124. #define DVD_UOP_SUBPICTURE_MENU             ( DVD_UOP12 )                             // -           -
  125. #define DVD_UOP_AUDIO_MENU                  ( DVD_UOP13 )                             // -           -
  126. #define DVD_UOP_ANGLE_MENU                  ( DVD_UOP14 )                             // -           -
  127. #define DVD_UOP_PTT_MENU                    ( DVD_UOP15 )                             // -           -
  128. #define DVD_UOP_RESUME                      ( DVD_UOP16 )                             //  -          -
  129. #define DVD_UOP_UPPER_BUTTON_SELECT         ( DVD_UOP17 )                             //  -          -
  130. #define DVD_UOP_LOWER_BUTTON_SELECT         ( DVD_UOP17 | ( 1L << 25 ) )               //  -          -
  131. #define DVD_UOP_LEFT_BUTTON_SELECT          ( DVD_UOP17 | ( 2L << 25 ) )               //  -          -
  132. #define DVD_UOP_RIGHT_BUTTON_SELECT         ( DVD_UOP17 | ( 3L << 25 ) )               //  -          -
  133. #define DVD_UOP_BUTTON_ACTIVATE             ( DVD_UOP17 | ( 4L << 25 ) )               //  -          -
  134. #define DVD_UOP_BUTTON_SELECT_AND_ACTIVATE  ( DVD_UOP17 | ( 5L << 25 ) )               // button #    -
  135. #define DVD_UOP_CC_BUTTON_SELECT            ( DVD_UOP17 | ( 6L << 25 ) )               // button #    -
  136. #define DVD_UOP_STILL_OFF                   ( DVD_UOP18 )                             //  -          -
  137. #define DVD_UOP_PAUSE_ON                    ( DVD_UOP19 )                             //  -          -
  138. #define DVD_UOP_AUDIO_STREAM_CHANGE         ( DVD_UOP20 )                             //  stream #   -
  139. #define DVD_UOP_SUBPICTURE_STREAM_CHANGE    ( DVD_UOP21 )                             //  stream #   Display On/Off (1/0) flag
  140. #define DVD_UOP_ANGLE_CHANGE                ( DVD_UOP22 )                             //  angle #    -
  141. #define DVD_UOP_KARAOKE_AUDIO_MODE_CHANGE   ( DVD_UOP23 )                             //  mode       -
  142. #define DVD_UOP_VIDEO_MODE_CHANGE           ( DVD_UOP24 )                             //  mode       -
  143. #define DVD_UOP_PAUSE_OFF                   ( DVD_UOP__ )                             //  -          -
  144. #define DVD_UOP_MENU_LANGUAGE_SELECT        ( DVD_UOP__ | ( 1L << 25 ) )               //  language   -
  145. #define DVD_UOP_PARENTAL_LEVEL_SELECT       ( DVD_UOP__ | ( 2L << 25 ) )               //  level      -
  146. #define DVD_UOP_PARENTAL_COUNTRY_SELECT     ( DVD_UOP__ | ( 3L << 25 ) )               //  level      -
  147. #define DVD_UOP_CC_CONFIGURE                ( DVD_UOP__ | ( 4L << 25 ) )               //  config type -
  148. #define DVD_UOP_CC_OPEN_DISK                ( DVD_UOP__ | ( 5L << 25 ) )               //  path       -
  149. #define DVD_UOP_CC_INITIAL_ACCESS           ( DVD_UOP__ | ( 6L << 25 ) )               //  path       -
  150. #define DVD_UOP_CC_PLAYBACK_STEP            ( DVD_UOP__ | ( 7L << 25 ) )               //  -          -
  151. #define DVD_UOP_CC_EJECT                    ( DVD_UOP__ | ( 8L << 25 ) )               //  -          -
  152. #define DVD_UOP_CC_AUDIO                    ( DVD_UOP__ | ( 9L << 25 ) )               // On/Off      -
  153. #define DVD_UOP_CC_VOLUME                   ( DVD_UOP__ | (10L << 25 ) )               // Relative T/F-       Volume
  154. #define DVD_UOP_VALIDATE                    ( DVD_UOP__ | (11L << 25 ) )
  155. #define DVD_UOP_CC_SINGLE_STEP              ( DVD_UOP__ | (12L << 25 ) )
  156. #define DVD_UOP_CC_REPEAT                   ( DVD_UOP__ | (13L << 25 ) )
  157. #define DVD_UOP_CC_BOOKMARK_SET             ( DVD_UOP__ | (14L << 25 ) )
  158. #define DVD_UOP_CC_BOOKMARK_PLAY            ( DVD_UOP__ | (15L << 25 ) )
  159. #define DVD_UOP_MOUSE_ACTIVATE              ( DVD_UOP__ | (16L << 25 ) )
  160. #define DVD_UOP_MOUSE_SELECT                ( DVD_UOP__ | (17L << 25 ) )
  161. #define DVD_UOP_CC_FPS                      ( DVD_UOP__ | (18L << 25 ) )
  162. #define DVD_UOP_CC_MUTE                     ( DVD_UOP__ | (19L << 25 ) )
  163. #define VCD_UOP_CC_HI_LO_RES                ( DVD_UOP__ | (20L << 25 ) )              //  Hi res on/off -  Selects hi/lo res still
  164. #define DVD_UOP_PLAYMODE_CHANGE ( DVD_UOP__ | (21L << 25 ) )
  165. #define DVD_UOP_GROUP_TRACK_SEARCH ( DVD_UOP__ | (22L << 25)  )
  166. #ifdef LANGUAGE_LEARNING_SUPPORT
  167. #define DVD_UOP_LEARNING_SUB_SELECT ( DVD_UOP__ | (23L << 25 ) )
  168. #define DVD_UOP_JMP_GRAMMER_PGC ( DVD_UOP__ | (24L << 25 ) )
  169. #endif
  170. //
  171. // Button location used in DVD_INFO_BUTTON_LOC
  172. //
  173. typedef struct {
  174.   BYTE flags;
  175.   BYTE button_number;
  176.   WORD startX, endX;
  177.   WORD startY, endY;
  178. } BUTTON_LOC;
  179. //
  180. // BUTTON_LOC's flags
  181. //
  182. #define AUTO_ACTION_BUTTON           0x0001
  183. #define INITIAL_SELECTED_BUTTON      0x0002
  184. //
  185. // Volume ID
  186. //
  187. typedef struct {
  188.   WORD number_of_volumes;
  189.   WORD volume_number;
  190.   BYTE disc_side;
  191. } VOLUME_ID;
  192. //
  193. // Title Structure
  194. //
  195. typedef struct {
  196.   BYTE tty_pb;    // title playback type
  197.   BYTE agl_ns;    // number of angles
  198.   WORD ptt_ns;    // number of PTTs
  199.   WORD ptl_id;    // for compatibility with GUI and DS nav filter
  200.                   //            to be removed soon
  201.   WORD ptl_ls;    // valid parental levels (bitwise or-ed):
  202.                   //  0x0100 is level 1, ..., 0x8000 is level 8
  203.   BYTE vtsn;      // VTS number
  204.   BYTE vts_ttn;   // VTS title number
  205. } TITLE_INFO;
  206. //
  207. //  Language Units
  208. //
  209. #define MAX__LANGUAGE_UNITS  16
  210. typedef struct {
  211.   WORD units;
  212.   WORD code[ MAX__LANGUAGE_UNITS ];
  213. } LANGUAGE_UNITS;
  214. typedef struct {
  215.   LANGUAGE_UNITS vmgm;
  216.   LANGUAGE_UNITS vtsm;
  217. } MENU_LANGUAGES;
  218. //
  219. //  Audio Attributes
  220. //
  221. typedef struct {
  222.   BYTE coding_mode;   // Audio coding mode
  223. BYTE multich_ext;   // Multichannel extension
  224.   BYTE atype;         // audio type
  225.   BYTE app_mode;      // audio application mode
  226.   BYTE quantization;
  227. BYTE fs;
  228. BYTE down_mix_flag;
  229. BYTE n_chan;     // number of channels from (1 to 8)
  230. WORD spec_code;     //specific code
  231. BYTE spec_code_ext; //specific code extension
  232. BYTE appi;       // application information
  233. } AUDIO_ATTRIBUTES;
  234. typedef struct {
  235. BYTE CodingMode;    // Audio coding mode
  236. BYTE Q_G1;          // Quantization of group 1
  237. BYTE Q_G2;          // Quantization of group 2
  238. BYTE Fs_G1;         // Sampling frequency of group 1
  239. BYTE Fs_G2;         // Sampling frequency of group 2
  240. BYTE MultiChannelType;  
  241. BYTE ChannelAssignment;  
  242. } DVDA_AUDIO_ATTRIBUTES;
  243. //
  244. // Bookmark structure
  245. //
  246. // IMPORTANT : IF YOU MODIFY THIS STRUCTURE, MAKE SURE TO MODIFY SIZE OF _PonDVDBookmark IN COREMAINCORENVG.C
  247. // OTHERWISE POWERON RESUME MAY NOT WORK ....ZORAN BMV0308
  248. typedef struct {
  249.   DWORD vobu;
  250.   WORD  ptt;
  251.   WORD  pgcn;
  252.   WORD  pgn;
  253.   WORD  pgc_time;
  254.   WORD  cell_time;
  255. #ifdef NO_SCPAD
  256.   WORD gprm[ 16 ];
  257. #else
  258.   WORD gprm_sc_handle;
  259. #endif
  260.   BYTE  domain;
  261.   BYTE  vtsn;
  262.   BYTE  vtsttn;
  263.   BYTE  att_grn; // Group number for DVD-A
  264.   BYTE  tkn; // Track number for DVD-A
  265.   BYTE  dlist; //dlist number for DVD-A
  266.   BYTE  pgct; // PGC type
  267.   BYTE  title;
  268.   BYTE angle;
  269.   BYTE audio;
  270.   BYTE spict;
  271.   BYTE hbttn;
  272.   DWORD resume_vobu; // [FFM] (SN:060) add resume vobu
  273. } DVD_BOOKMARK;
  274. /*<<<< ZORAN TC1228: Increase GPRMs array saved by 2 to store SPRM TIMER information */
  275. #define GPRM_SIZE (18*sizeof(WORD)) /* 16 GPRM + 2 SPRM (Timer information) */
  276. /* ZORAN TC1228 >>>> */
  277. /* Ilie's fix - commented out because can be confusing with rest of system
  278. //
  279. // Media Types:             bug #309
  280. //
  281. typedef enum {DVD, VCD, FLAT} MEDIA_TYPE;
  282. */
  283. //
  284. // Language/Country code generator
  285. //
  286. // usage: MAKE_DVD_CODE('e','n') for English
  287. //
  288. #define MAKE_DVD_LANGUAGE_CODE(a,b) ((WORD)(a*256 + b))
  289. #define MAKE_DVD_COUNTRY_CODE(a,b) ((WORD)(a*256 + b))
  290. //
  291. // Audio Presentation modes
  292. //
  293. #define DVD_AUDIO_MODE_MONO             0
  294. #define DVD_AUDIO_MODE_STEREO           1
  295. #define DVD_AUDIO_MODE_SURROUND         2
  296. #define DVD_AUDIO_MODE_THREE_D          3
  297. #define DVD_AUDIO_SPDIF_OFF             4
  298. #define DVD_AUDIO_SPDIF_ON              5
  299. //
  300. // Video Presentation modes
  301. //
  302. #define DVD_VIDEO_MODE_WIDE             0
  303. #define DVD_VIDEO_MODE_LETTERBOX        1
  304. #define DVD_VIDEO_MODE_PANSCAN          2
  305. #define DVD_VIDEO_MODE_DEFAULT          DVD_VIDEO_MODE_WIDE
  306. //
  307. // Karaoke Presentation modes
  308. //
  309. #define DVD_KARAOKE_AUDIO_MODE_DEFAULT     0
  310. #define DVD_KARAOKE_AUDIO_MODE_VOCALS_OFF  DVD_KARAOKE_AUDIO_MODE_DEFAULT
  311. #define DVD_KARAOKE_AUDIO_MODE_VOCAL1      1
  312. #define DVD_KARAOKE_AUDIO_MODE_VOCAL2      2
  313. #define DVD_KARAOKE_AUDIO_MODE_VOCALS_ON   3
  314. //Audio Quality modes
  315. #define DVD_AUDIO_QUALITY_CD               1
  316. #define DVD_AUDIO_QUALITY_FM               2
  317. //Audio Mute settings
  318. #define DVD_AUDIO_MUTE_OFF                 0
  319. #define DVD_AUDIO_MUTE_ON                  1
  320. //
  321. // Repeat modes
  322. //
  323. #define DVD_NO_REPEAT         0
  324. #define DVD_CELL_REPEAT       1
  325. #define DVD_CELL_NOTIFY       2
  326. #define DVD_PROGRAM_REPEAT    3
  327. #define DVD_PROGRAM_NOTIFY    4
  328. #define DVD_PGC_REPEAT        5
  329. #define DVD_PGC_NOTIFY        6
  330. #define DVD_PGC_SHUFFLE       7
  331. #define DVD_DISK_REPEAT       8
  332. #define DVD_DISK_SHUFFLE      9
  333. #define DVD_BMRK_REPEAT       10
  334. #define DVD_BMRK_BNOTIFY      11
  335. /*
  336. //
  337. // Repeat modes
  338. //
  339. #define DVD_NO_REPEAT         0
  340. #define DVD_CELL_REPEAT       2
  341. #define DVD_CELL_NOTIFY       3
  342. #define DVD_PROGRAM_REPEAT    4
  343. #define DVD_PROGRAM_NOTIFY    5
  344. #define DVD_PGC_REPEAT        6
  345. #define DVD_PGC_NOTIFY        7
  346. #define DVD_PGC_SHUFFLE       8
  347. #define DVD_DISK_REPEAT       9
  348. #define DVD_DISK_NOTIFY       10
  349. #define DVD_DISK_SHUFFLE      11
  350. #define DVD_BMRK_REPEAT       12
  351. #define DVD_BMRK_BNOTIFY      13
  352. */
  353. //
  354. // Configuration parameters:
  355. // Bug #82 (DS dbase)
  356. #define DVD_CONFIGURE_AUDIO    0
  357. #define DVD_CONFIGURE_VIDEO    1
  358. // ****************************************************************************
  359. //                             DVD Information
  360. // ****************************************************************************
  361. //
  362. //         information                    specifier detail output         result
  363. //
  364. //- #define DVD_INFO_TITLE_NAME         2 //  TTN        -     textual name   name length
  365. //- #define DVD_INFO_PTT_NAME           4 //  TTN       PTTN   textual name   name length
  366. //- #define DVD_INFO_LANGUAGES          5 //   -         -      -             # of languages
  367. //- #define DVD_INFO_LANGUAGE_NAME      6 //  lng index  -     textual name   name length
  368. //- #define DVD_INFO_AUDIO_STREAM_NAME  8 //  strm index -     textual name   name length
  369. //- #define DVD_INFO_SPU_STREAM_NAME   10 //  strm index -     textual name   name length
  370. //- #define DVD_INFO_ANGLE_NAME        12 //  strm index -     textual name   name length
  371. //- #define DVD_INFO_VIDEO_MODE_EXISTS 14 //  mode       -      -             TRUE/FALSE
  372. //- #define DVD_INFO_AUDIO_IS_KARAOKE  15 //   -         -      -             TRUE/FALSE
  373. #define DVD_INFO_AUDIO_ATTRIBUTES  17 //  strm index -      AUDIO_ATTRIBUTES
  374. #define DVD_INFO_SPU_LANGUAGE      18 //  strm index -      4-byte value: hi word = language code, low byte = lang code extension
  375. #define DVD_INFO_ERROR_MESSAGE     32 //  -          -      -             Error Text Message
  376. #define DVD_INFO_BUTTON_LOC        34 //  button #   -     BUTTON_LOC     TRUE/FALSE
  377. #define DVD_INFO_PTTS              35 //  TTN        -      -             # of PTTs
  378. #define DVD_INFO_ANGLES            36 //  TTN        -      -             # of angles
  379. #define DVD_INFO_MENU_STRUCTURE    37 //  -          -      -             bit mask
  380. //- #define DVD_INFO_MEDIA_PRESENT     38 //  drive ltr  -      -             TRUE if no media in DVD drive
  381. #define DVD_INFO_TITLE_STRUCTURE   39 //  TTN        -     TITLE_INFO     TRUE/FALSE
  382. //- #define DVD_INFO_VOLUME_LEVEL      40 //  -          -     -              volume level
  383. #define DVD_INFO_STILL_DURATION    41 //  -          -     -              still duration (in seconds)
  384. #define DVD_INFO_REPEAT_MODE       42 //  -          -     -              current repeat mode
  385. //- #define DVD_INFO_FPS               43 //  -          -     FPS(float)     TRUE/FALSE
  386. //- #define DVD_INFO_MUTE              44 //  -          -     DVD_AUDIO_MUTE_ON/DVD_AUDIO_MUTE_OFF(DWORD) TRUE/FALSE
  387. //- #define DVD_INFO_TOTAL_TITLE_TIME  45 //  - current  -     time(long)(sec)TRUE/FALSE
  388. #define DVD_INFO_VOLUME_ID         46 //  -          -     VOLUME_ID
  389. //  information specific to DVD-Audio
  390. #define DVDA_INFO_AUDIO_ATTRIBUTES  47 
  391. //
  392. //  Menu mask used in DVD_INFO_MENU_STRUCTURE
  393. //
  394. #define DVD_TITLE_MENU      0x0001
  395. #define DVD_ROOT_MENU       0x0002
  396. #define DVD_SUBPICTURE_MENU 0x0004
  397. #define DVD_AUDIO_MENU      0x0008
  398. #define DVD_ANGLE_MENU      0x0010
  399. #define DVD_PTT_MENU        0x0020
  400. //
  401. // Specific Warning and Error codes.  The values must be kept identical with
  402. // those defined by DVD_ERROR and DVD_WARNING types in dvdevcod.h of the
  403. // Direct X SDK.  All errors result in a stop condition.  Warnings will not
  404. // necessarily stop playback.
  405. //
  406. #define DVD_ERROR_UNEXPECTED           1  // unspecified error
  407. #define DVD_ERROR_COPY_PROTECT_FAIL    2  // key exchange for copy protection failed
  408. #define DVD_ERROR_INVALID_DVD_1_0_DISC 3  // disc not authored correctly.  Doesn't meet 1.0 spec
  409. #define DVD_ERROR_INVALID_DISC_REGION  4  // disc not approved for playback by decoders from this region
  410. #define DVD_ERROR_LOW_PARENTAL_LEVEL   5  // player's parental level set too low to play DVD
  411. #define DVD_ERROR_MACROVISION_FAIL     6  // Macrovision distribution failed.
  412. #define DVD_WARNING_INVALID_DVD_1_0_DISC 1  // disc authored incorrectly.  Unexpected behavior may occur
  413. #define DVD_WARNING_FORMAT_NOT_SUPPORTED 2  // decoder doesn't support current format.  Playback of stream
  414.                                             // might not function.  Example: stream is LPCM, but decoder doesn't support LPCM
  415. #define DVD_WARNING_ILLEGAL_NAV_COMMAND  3  // DVD navigator attempted to process an illegal command
  416. // ****************************************************************************
  417. //                             DVD Status Bits
  418. // ****************************************************************************
  419. //
  420. //         Status                    Bit Mask    Parameter   Notes
  421. //
  422. #define DVD_STATUS_STOP              0x00000001L   // UOP mask    Stop
  423. #define DVD_STATUS_PLAY              0x00000002L   // UOP mask    Play
  424. #define DVD_STATUS_PAUSE             0x00000004L   // UOP mask    Paues
  425. #define DVD_STATUS_STILL             0x00000010L   // UOP mask    Still
  426. #define DVD_STATUS_TITLES            0x00000020L   // #titles     Titles info available
  427. #define DVD_STATUS_AUDIOS            0x00000040L   // #audio      Audio info available for the current title
  428. #define DVD_STATUS_SPUS              0x00000080L   // #spu        Subpicture info available for the current title
  429. #define DVD_STATUS_PARENTAL_CONTROL  0x00000100L   // level       Parental Management available if level is not 0
  430.                                                   //             Also reports the new parental level every time is changed
  431. #define DVD_STATUS_WINDOW_ID         0x00000200L   // hwnd        New playback window handle
  432. #define DVD_STATUS_HLI               0x00000400L   //  -          Highlight Information is to be activated
  433. #define DVD_STATUS_UOP               0x00000800L   // BOOL        pending UOP execution status
  434. #define DVD_STATUS_TITLE_CHANGE      0x00001000L   // title num   title changed -- title num (LSB 8 bits) is 0 outside Title Domain
  435. #define DVD_STATUS_ANGLE_CHANGE      0x00002000L   // angle num   angle changed via angle menu / UOP
  436. #define DVD_STATUS_AUDIO_CHANGE      0x00004000L   // audio str   audio stream changed via angle menu / UOP
  437. #define DVD_STATUS_SPU_CHANGE        0x00008000L   // subpict str subpict stream changed via angle menu /UOP
  438. #define DVD_STATUS_PTT_CHANGE        0x00010000L   // PTT num     PTT changed
  439. #define DVD_STATUS_SCAN              0x00020000L   // scan speed
  440. #define DVD_STATUS_REGION_MANAGEMENT 0x00040000L   // RMA (see DVD VI4-4)
  441. #define DVD_STATUS_INIT              0x00080000L   // --          After InitialAccess, no other status rcvd.  Bug #606
  442. #define DVD_STATUS_TIME              0x00100000L   // PGC / Title and Cell / Chapter elapsed time
  443.                                                   //  (each 14 bit, in sec),
  444.                                                   //  last (LSB) 4 bits are the tc_flag (01 for 25fps, 11 for 30fps)
  445. #define DVD_STATUS_PLAYBACK_TIME     0x00200000L   // PGC / Title and Cell / Chapter playback time
  446.                                                   //  (each 14 bit, in sec), last (LSB) 4 bits PGC play mode
  447. #define DVD_STATUS_AVAILABLE_ANGLES  0x00400000L   // Available angles
  448. #define DVD_STATUS_LOOP              0x00800000L   // Repeat mode
  449. #define DVD_STATUS_CURRENT_BUTTON    0x01000000L   // button #
  450. #define DVD_STATUS_WARNING           0x02000000L   // specific warning.  MS Nav compatibility feature
  451. #define DVD_STATUS_ERROR             0x04000000L   // specific error.  MS Nav compatibility feature
  452. //* #define DVD_STATUS_MEDIA_TYPE        0x08000000   // media being played   DVD, VCD, or FLAT
  453. //* #define VCD_STATUS_STREAM_DATA       0x10000000   // video attribs of currently selected stream.  
  454. #define DVD_STATUS_DOMAIN_CHANGE     0x08000000L //ZORAN LX0709: Notify the UI the domain is changed
  455. //
  456. // Domain ID for DVD_STATUS_TITLE_CHANGE (MSB 8 bits)
  457. //
  458. #define DVD_FP_DOM      0
  459. #define DVD_VMGM_DOM    1
  460. #define DVD_VTSM_DOM    2
  461. #define DVD_TT_DOM      3
  462. #define DVD_STOP_DOM    4
  463. //
  464. // SUCCESS / FAILURE
  465. //
  466. #define SUCCESS     0
  467. #define FAILURE     -1
  468. #define FAILURE_FILE_ENCRYPTED -2
  469. //## end module.additionalDeclarations
  470. #endif  // DVDDEF_h