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

📄 dvdtypes.h

📁 神龙卡开发原代码
💻 H
📖 第 1 页 / 共 2 页
字号:
 **********************************************************//**   Menu Ids.  */typedef enum {/** Title menu ID */	RM_DVD_MENU_ID_TITLE      = 0x02,/** Root menu ID */	RM_DVD_MENU_ID_ROOT       = 0x03,/** Audio menu ID */	RM_DVD_MENU_ID_AUDIO      = 0x05,/** Subpicture menu ID */	RM_DVD_MENU_ID_SUBPICTURE = 0x04,/** Angle menu ID */	RM_DVD_MENU_ID_ANGLE      = 0x06,/** Chapter menu ID */	RM_DVD_MENU_ID_PTT        = 0x07} RMdvdMenuId;/**   Parental levels. */typedef enum {/** Parental level 1*/	RM_DVD_PARENTAL_LEVEL_1         =  1,/** Parental level 2*/	RM_DVD_PARENTAL_LEVEL_2         =  2,/** Parental level 3*/	RM_DVD_PARENTAL_LEVEL_3         =  3,/** Parental level 4*/	RM_DVD_PARENTAL_LEVEL_4         =  4,/** Parental level 5*/	RM_DVD_PARENTAL_LEVEL_5         =  5,/** Parental level 6*/	RM_DVD_PARENTAL_LEVEL_6         =  6,/** Parental level 7*/	RM_DVD_PARENTAL_LEVEL_7         =  7,/** Parental level 8*/	RM_DVD_PARENTAL_LEVEL_8         =  8,/** Parental level disabled*/	RM_DVD_PARENTAL_LEVEL_DISABLED  = 0xf} RMdvdParentalLevel;/** Scan type */typedef enum {	/** Resume normal playback. */	RM_DVD_SCAN_NO_SCAN,	/** Play forward with all frames. */	RM_DVD_SCAN_FORWARD_ALL_FRAMES,	/** Play forward with only I frames. */	RM_DVD_SCAN_FORWARD_I_FRAMES,	/** Play backward with all frames. */	RM_DVD_SCAN_BACKWARD_ALL_FRAMES,	/** Play backward with only I frames. */	RM_DVD_SCAN_BACKWARD_I_FRAMES} RMdvdScanType;/** Display and aspect ratio modes */typedef enum {	/** 4:3 source, 4:3 output display*/	RM_DVD_VIDEO_4_3__4_3_RECT = 1,	/** 4:3 source, 16:9 output display, crop top and bottom*/	RM_DVD_VIDEO_4_3__16_9_ZOOM_ON,	/** 4:3 source, 16:9 output display, black band on sides*/	RM_DVD_VIDEO_4_3__16_9_ZOOM_OFF,	/** 16:9 source, 16:9 output display. This is the so-called 'Wide' mode.*/	RM_DVD_VIDEO_16_9__16_9_RECT,	/** 16:9 source, pan and scan, 4:3 output display*/	RM_DVD_VIDEO_16_9__4_3_PANSCAN,	/** 16:9 source, letter box, 4:3 output display*/	RM_DVD_VIDEO_16_9__4_3_LETTERBOX} RMdvdVideoMode;/**	Audio types.*/typedef enum {	/** AC3 Audio*/	RM_DVD_AUDIO_AC3,	/** MPEG Audio*/	RM_DVD_AUDIO_MPEG,	/** PCM Audio*/	RM_DVD_AUDIO_PCM,	/** DTS Audio*/	RM_DVD_AUDIO_DTS,	/** SDDS Audio*/	RM_DVD_AUDIO_SDDS,	/** Mpeg2 extension bitstream. */	RM_DVD_AUDIO_MPEG_EXTENSION} RMdvdAudioType;/**   audio capabilities. see SPRM(15), VI4-172. */typedef enum {	RM_DVD_CAN_SDDS_KARAOKE = 1<<2,	RM_DVD_CAN_DTS_KARAOKE = 1<<3,	RM_DVD_CAN_MPEG_KARAOKE = 1<<4,	RM_DVD_CAN_AC3_KARAOKE = 1<<6,	RM_DVD_CAN_PCM_KARAOKE = 1<<7,	RM_DVD_CAN_SDDS = 1<<10,	RM_DVD_CAN_DTS = 1<<11,	RM_DVD_CAN_MPEG = 1<<12,	RM_DVD_CAN_AC3 = 1<<14} RMdvdAudioCapability;/** see Annex C. */typedef enum {	RM_DVD_AUDIO_NOT_SPECIFIED = 0,	RM_DVD_AUDIO_KARAOKE = 1,	RM_DVD_AUDIO_SURROUND = 2} RMdvdAudioApplicationMode;typedef enum {	RM_DVD_AUDIO_16_BITS = 0,	RM_DVD_AUDIO_20_BITS = 1,	RM_DVD_AUDIO_24_BITS = 2} RMdvdAudioQuantization;/** see AST_ATR as referenced in RMdvdAudioStream */typedef enum {	/** 48kHz frequency */	RM_DVD_AUDIO_48KHz = 0,	/** 96kHz frequency */	RM_DVD_AUDIO_96KHz = 1} RMdvdAudioFrequency;/** see AST_ATR as referenced in RMdvdAudioStream */typedef enum {	/** The stream has 1 channel*/	RM_DVD_AUDIO_CHANNELS_1 = 0,	/** The stream has 2 channels*/	RM_DVD_AUDIO_CHANNELS_2 = 1,	/** The stream has 3 channels*/	RM_DVD_AUDIO_CHANNELS_3 = 2,	/** The stream has 4 channels*/	RM_DVD_AUDIO_CHANNELS_4 = 3,	/** The stream has 5 channels*/	RM_DVD_AUDIO_CHANNELS_5 = 4,	/** The stream has 6 channels*/	RM_DVD_AUDIO_CHANNELS_6 = 5,	/** The stream has 7 channels*/	RM_DVD_AUDIO_CHANNELS_7 = 6,	/** The stream has 8 channels*/	RM_DVD_AUDIO_CHANNELS_8 = 7,} RMdvdAudioChannels;/** see VI4-28, CHRS */typedef enum {	RM_DVD_CHARSET_UNICODE = 0x0,	RM_DVD_CHARSET_ISO646 = 0x1, /* 7 bit ascii */	RM_DVD_CHARSET_JIS = 0x10, /* JIS Roman & JIS Kanji 1990. see Annex A.4 */	RM_DVD_CHARSET_ISO8859 = 0x11, /* 8 bit ascii */	RM_DVD_CHARSET_SHIFT_JIS = 0x12 /* Shift JIS Kanji including JIS Roman & JIS Katakana */} RMdvdCharset;/** DVD Domain type */typedef enum {	RM_DVD_DOMAIN_FPPGC,	RM_DVD_DOMAIN_VMGM,	RM_DVD_DOMAIN_VTSM,	RM_DVD_DOMAIN_VTSTT} RMdvdDomainType;/** Simple Region code aliases */#define RM_DVD_REGION_NORTH_AMERICA            RM_DVD_REGION_1#define RM_DVD_REGION_WESTERN_EUROPE_JAPAN     RM_DVD_REGION_2#define RM_DVD_REGION_SOUTHEAST_ASIA           RM_DVD_REGION_3#define RM_DVD_REGION_SOUTH_AMERICA_AUSTRALIA  RM_DVD_REGION_4#define RM_DVD_REGION_EASTERN_EUROPE_AFRICA    RM_DVD_REGION_5#define RM_DVD_REGION_CHINA                    RM_DVD_REGION_6#define RM_DVD_REGION_FREE                     RM_DVD_REGION_0/** DVD Region codes */typedef enum {	RM_DVD_REGION_1 = 1<<0,	RM_DVD_REGION_2 = 1<<1,	RM_DVD_REGION_3 = 1<<2,	RM_DVD_REGION_4 = 1<<3,	RM_DVD_REGION_5 = 1<<4,	RM_DVD_REGION_6 = 1<<5,	RM_DVD_REGION_0 = 1<<6} RMdvdRegionCode;/******************************************************************************* * DVD Query structures *******************************************************************************//** Maximum number of audio streams. 0..7 */#define MAX_AST 8		// 0..7/** Maximum number of subpicture streams. 0..31 */#define MAX_SPST 32		// 0..31/** Maximum number of buttons. 1..36 */#define MAX_BTN 36/** Maximum number of titles 1..99 */#define MAX_TT 99		// 1..99/** Maximum number of angles. 1..9 */#define MAX_AGL 9		// 1..9/** 	Title Search Pointer Table Information  : TT_SRPTI	see VI4-12*/typedef struct {	/** Number of Titles (1-99) */	RMuint8 numberOfTitles;	/** Number of Angles (1-9) for each title */	RMuint8 numberOfAnglesForTitle [MAX_TT];	/** Number of Part_of_Titles (1-99) for each title */	RMuint8 numberOfPTTsForTitle [MAX_TT];} RMdvdTitleSRPTI;/**     Each pointer in this structure is a string encoded in charset    and ended with the charset-specified end-of-string character.*/typedef struct {	RMdvdCharset charset;	RMuint8 *titleName;	RMuint8 *subTitleName;	RMuint8 *orgTitleName;	RMuint8 *producerName;	RMuint8 *directorName;	RMuint8 *scenarioWriter;	RMuint8 *originalWriter;	RMuint8 *actorsName[10]; /* max = 10. Too bad for the others. */} RMdvdTitleTXTDT;/** attributes of the Audio Streams currently available.    See VI4-9, VMGM_AST_ATR,        VI4-44, VTSM_AST_ATR and        VI4-49, VTS_AST_ATR*/typedef struct {	RMdvdAudioType audioType;	RMdvdAudioFrequency frequency;	RMdvdAudioChannels numberOfChannels;	RMbool isLanguage;	RMdvdLanguageCode languageCode;	RMuint8 languageCodeExtension;	RMdvdAudioApplicationMode mode;	RMdvdAudioQuantization quantization;} RMdvdAudioStream;/** attributes of the Audio Streams currently available.*/typedef struct {	RMbool isAvailable[MAX_AST];	RMdvdAudioStream audioStreams[MAX_AST];} RMdvdAudioStreams;/**   attributes of the Sub Picture Streams currently available.   See VI4-11 VMGM_SPST_ATR,       VI4-46 VTSM_SPST_ATR and       VI4-53, VTS_SPST_ATR */typedef struct {	RMbool isLanguage;	RMdvdLanguageCode languageCode;	RMuint8 languageCodeExtension;} RMdvdSubPictureStream;/**   attributes of the Sub Picture Streams currently available. */typedef struct {	RMbool isAvailable[MAX_SPST];	RMdvdSubPictureStream subPictureStreams[MAX_SPST];} RMdvdSubPictureStreams;/**   Button location. */typedef struct {	RMuint16 left;	RMuint16 right;	RMuint16 top;	RMuint16 bottom;} RMdvdButtonInformation;/** Button Information */typedef struct {	RMuint8 n;	RMdvdButtonInformation buttons[MAX_BTN];} RMdvdButtonsInformation;/**  DVD initialization structure.  Contains the user preferences. */typedef struct {	/** SPRM(0). see VI4-158. */	RMdvdLanguageCode menuDescriptionLanguageCode;	/** SPRM(11). see VI4-169. */	RMuint16 playerAudioMixingModeForKaraoke;	/**	   The country code used to set the parental level.	   This is the value set in SPRM(12). see VI4-170	 */	RMdvdCountryCode countryCodeForParentalLevel;	/**	   The parental level. This is the value set 	   in SPRM(13). see VI4-170.	 */	RMdvdParentalLevel parentalLevel;	/**	   Video display mode and aspect ratio. This corresponds	   to the values set in SPRM(14). see VI4-171.	   The possible values are:	     - RM_DVD_VIDEO_16_9__4_3_PANSCAN: you have a 4/3 output screen. If	       the input is 16/9 format, use panscan output. Otherwise, do not	       rescale.	     - RM_DVD_VIDEO_16_9__4_3_LETTERBOX: you have 4/3 output screen. If 	       the input is 16/9 format, use letterbox output. Otherwise, do not	       rescale.	     - RM_DVD_VIDEO_4_3__16_9_ZOOM_OFF: you have 16/9 output screen. If 	       the input is 4/3, just output it as-is. Do not rescale for 16/9	       input.	 */	RMdvdVideoMode videoMode;	/**	   Audio Capability. This corresponds to the values	   set in SPRM(15). see VI4-172.	   It is a list of ORed RMdvdAudioCapabilities.	   ie: 	   audioCapability = !RM_DVD_CAN_SDDS_KARAOKE |	                     !RM_DVD_CAN_DTS_KARAOKE |			     !RM_DVD_CAN_MPEG_KARAOKE |			     ...	 */	RMint16 audioCapability;	/**	   Initial Language code for Audio Stream. 	   see VI4-173. SPRM(16) and SPRM(17).	*/	RMdvdLanguageCode initialLanguageForAudioStream;	/**	   Initial Language code for SubPicture Stream. 	   see VI4-174. SPRM(18) and SPRM(19).	*/	RMdvdLanguageCode initialLanguageForSubPictureStream;	/** see SPRM(20). VI4-175. */	RMdvdRegionCode playerRegionCode;} RMdvdUserSettings;/** GPRM Registers */typedef RMuint16    RMdvdGPRMs[16];/** SPRM Registers */typedef RMuint16    RMdvdSPRMs[24];/**   Indicates which user operation (UOP) commands are currently allowed by the digital video disc (DVD).  @remarks DVD authors can insert UOP commands at almost any place on the disc to disallow a navigation command   that would otherwise be permitted within the current DVD domain.   In other words, UOP commands enable disc authors to override the usual navigation permissions. */typedef enum {    RM_DVD_UOP_FLAG_Play_Title_Or_AtTime           = 0x00000001,     RM_DVD_UOP_FLAG_Play_Chapter                   = 0x00000002,     RM_DVD_UOP_FLAG_Play_Title                     = 0x00000004,     RM_DVD_UOP_FLAG_Stop                           = 0x00000008,      RM_DVD_UOP_FLAG_ReturnFromSubMenu              = 0x00000010,    RM_DVD_UOP_FLAG_Play_Chapter_Or_AtTime         = 0x00000020,     RM_DVD_UOP_FLAG_PlayPrev_Or_Replay_Chapter     = 0x00000040,      RM_DVD_UOP_FLAG_PlayNext_Chapter               = 0x00000080,       RM_DVD_UOP_FLAG_Play_Forwards                  = 0x00000100,      RM_DVD_UOP_FLAG_Play_Backwards                 = 0x00000200,    RM_DVD_UOP_FLAG_ShowMenu_Title                 = 0x00000400,    RM_DVD_UOP_FLAG_ShowMenu_Root                  = 0x00000800,    RM_DVD_UOP_FLAG_ShowMenu_SubPic                = 0x00001000,    RM_DVD_UOP_FLAG_ShowMenu_Audio                 = 0x00002000,    RM_DVD_UOP_FLAG_ShowMenu_Angle                 = 0x00004000,    RM_DVD_UOP_FLAG_ShowMenu_Chapter               = 0x00008000,    RM_DVD_UOP_FLAG_Resume                         = 0x00010000,    RM_DVD_UOP_FLAG_Select_Or_Activate_Button      = 0x00020000,    RM_DVD_UOP_FLAG_Still_Off                      = 0x00040000,    RM_DVD_UOP_FLAG_Pause_On                       = 0x00080000,    RM_DVD_UOP_FLAG_Select_Audio_Stream            = 0x00100000,    RM_DVD_UOP_FLAG_Select_SubPic_Stream           = 0x00200000,    RM_DVD_UOP_FLAG_Select_Angle                   = 0x00400000,    RM_DVD_UOP_FLAG_Select_Karaoke_Audio_Presentation_Mode = 0x00800000,    RM_DVD_UOP_FLAG_Select_Video_Mode_Preference   = 0x01000000 } RMdvdValidUOPFlag;/** playlist item type */typedef enum {	/** Play the chapter as defined by TTN and PTTN */	RM_DVD_PLAYLIST_PLAY_CHAPTER,	/** Play the chapter as defined by TTN */	RM_DVD_PLAYLIST_PLAY_TITLE,	/** End playlist mode. */	RM_DVD_PLAYLIST_END} RMdvdPlaylistItemType;/** playlist item. */typedef struct {	/** item type.*/	RMdvdPlaylistItemType type;	/** TTN (title number) for this item if meaningful */	RMuint8 TTN;	/** PTTN (chapter number) for this item if meaningful */	RMuint16 PTTN;} RMdvdPlaylistItem;/** Macrovision Levels, see VI4-107 */typedef enum {	RM_DVD_MACROVISION_DISABLED = 0,	RM_DVD_MACROVISION_LEVEL1   = 1,	RM_DVD_MACROVISION_LEVEL2   = 2,	RM_DVD_MACROVISION_LEVEL3   = 3} RMdvdMacrovisionLevel;#endif // __DVDNAV_H__

⌨️ 快捷键说明

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