00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef LIBDVDNAV_DVD_TYPES_H
00027 #define LIBDVDNAV_DVD_TYPES_H
00028
00029
00030
00031
00032
00033 typedef enum {
00034
00035
00036 DVD_MENU_Escape = 0,
00037 DVD_MENU_Title = 2,
00038 DVD_MENU_Root = 3,
00039 DVD_MENU_Subpicture = 4,
00040 DVD_MENU_Audio = 5,
00041 DVD_MENU_Angle = 6,
00042 DVD_MENU_Part = 7
00043 } DVDMenuID_t;
00044
00045
00046
00047
00048
00049
00050 typedef struct {
00051 uint32_t palette;
00052
00053 uint16_t sx,sy,ex,ey;
00054 uint32_t pts;
00055
00056
00057 uint32_t buttonN;
00058 } dvdnav_highlight_area_t;
00059
00060
00061
00062
00063 #if 0
00064
00065
00066 typedef enum {
00067 DVD_DOMAIN_FirstPlay,
00068 DVD_DOMAIN_VMG,
00069 DVD_DOMAIN_VTSMenu,
00070 DVD_DOMAIN_VTSTitle,
00071 DVD_DOMAIN_Stop
00072 } DVDDomain_t;
00073
00074
00075 typedef enum {
00076 UOP_FLAG_TitleOrTimePlay = 0x00000001,
00077 UOP_FLAG_ChapterSearchOrPlay = 0x00000002,
00078 UOP_FLAG_TitlePlay = 0x00000004,
00079 UOP_FLAG_Stop = 0x00000008,
00080 UOP_FLAG_GoUp = 0x00000010,
00081 UOP_FLAG_TimeOrChapterSearch = 0x00000020,
00082 UOP_FLAG_PrevOrTopPGSearch = 0x00000040,
00083 UOP_FLAG_NextPGSearch = 0x00000080,
00084 UOP_FLAG_ForwardScan = 0x00000100,
00085 UOP_FLAG_BackwardScan = 0x00000200,
00086 UOP_FLAG_TitleMenuCall = 0x00000400,
00087 UOP_FLAG_RootMenuCall = 0x00000800,
00088 UOP_FLAG_SubPicMenuCall = 0x00001000,
00089 UOP_FLAG_AudioMenuCall = 0x00002000,
00090 UOP_FLAG_AngleMenuCall = 0x00004000,
00091 UOP_FLAG_ChapterMenuCall = 0x00008000,
00092 UOP_FLAG_Resume = 0x00010000,
00093 UOP_FLAG_ButtonSelectOrActivate = 0x00020000,
00094 UOP_FLAG_StillOff = 0x00040000,
00095 UOP_FLAG_PauseOn = 0x00080000,
00096 UOP_FLAG_AudioStreamChange = 0x00100000,
00097 UOP_FLAG_SubPicStreamChange = 0x00200000,
00098 UOP_FLAG_AngleChange = 0x00400000,
00099 UOP_FLAG_KaraokeAudioPresModeChange = 0x00800000,
00100 UOP_FLAG_VideoPresModeChange = 0x01000000
00101 } DVDUOP_t;
00102
00103
00104 typedef enum {
00105 DVD_PARENTAL_LEVEL_1 = 1,
00106 DVD_PARENTAL_LEVEL_2 = 2,
00107 DVD_PARENTAL_LEVEL_3 = 3,
00108 DVD_PARENTAL_LEVEL_4 = 4,
00109 DVD_PARENTAL_LEVEL_5 = 5,
00110 DVD_PARENTAL_LEVEL_6 = 6,
00111 DVD_PARENTAL_LEVEL_7 = 7,
00112 DVD_PARENTAL_LEVEL_8 = 8,
00113 DVD_PARENTAL_LEVEL_None = 15
00114 } DVDParentalLevel_t;
00115
00116
00117 typedef uint16_t DVDLangID_t;
00118
00119
00120 typedef uint16_t DVDCountryID_t;
00121
00122
00123 typedef uint16_t DVDRegister_t;
00124 typedef enum {
00125 DVDFalse = 0,
00126 DVDTrue = 1
00127 } DVDBool_t;
00128 typedef DVDRegister_t DVDGPRMArray_t[16];
00129 typedef DVDRegister_t DVDSPRMArray_t[24];
00130
00131
00132 typedef int DVDStream_t;
00133 typedef int DVDPTT_t;
00134 typedef int DVDTitle_t;
00135
00136
00137 typedef int DVDAngle_t;
00138
00139
00140 typedef struct {
00141 uint8_t Hours;
00142 uint8_t Minutes;
00143 uint8_t Seconds;
00144 uint8_t Frames;
00145 } DVDTimecode_t;
00146
00147
00148 typedef int DVDSubpictureStream_t;
00149
00150
00151 typedef int DVDAudioStream_t;
00152
00153
00154 typedef enum {
00155 DVD_AUDIO_APP_MODE_None = 0,
00156 DVD_AUDIO_APP_MODE_Karaoke = 1,
00157 DVD_AUDIO_APP_MODE_Surround = 2,
00158 DVD_AUDIO_APP_MODE_Other = 3
00159 } DVDAudioAppMode_t;
00160
00161
00162 typedef enum {
00163 DVD_AUDIO_FORMAT_AC3 = 0,
00164 DVD_AUDIO_FORMAT_MPEG1 = 1,
00165 DVD_AUDIO_FORMAT_MPEG1_DRC = 2,
00166 DVD_AUDIO_FORMAT_MPEG2 = 3,
00167 DVD_AUDIO_FORMAT_MPEG2_DRC = 4,
00168 DVD_AUDIO_FORMAT_LPCM = 5,
00169 DVD_AUDIO_FORMAT_DTS = 6,
00170 DVD_AUDIO_FORMAT_SDDS = 7,
00171 DVD_AUDIO_FORMAT_Other = 8
00172 } DVDAudioFormat_t;
00173
00174
00175 typedef enum {
00176 DVD_AUDIO_LANG_EXT_NotSpecified = 0,
00177 DVD_AUDIO_LANG_EXT_NormalCaptions = 1,
00178 DVD_AUDIO_LANG_EXT_VisuallyImpaired = 2,
00179 DVD_AUDIO_LANG_EXT_DirectorsComments1 = 3,
00180 DVD_AUDIO_LANG_EXT_DirectorsComments2 = 4
00181 } DVDAudioLangExt_t;
00182
00183
00184 typedef enum {
00185 DVD_SUBPICTURE_LANG_EXT_NotSpecified = 0,
00186 DVD_SUBPICTURE_LANG_EXT_NormalCaptions = 1,
00187 DVD_SUBPICTURE_LANG_EXT_BigCaptions = 2,
00188 DVD_SUBPICTURE_LANG_EXT_ChildrensCaptions = 3,
00189 DVD_SUBPICTURE_LANG_EXT_NormalCC = 5,
00190 DVD_SUBPICTURE_LANG_EXT_BigCC = 6,
00191 DVD_SUBPICTURE_LANG_EXT_ChildrensCC = 7,
00192 DVD_SUBPICTURE_LANG_EXT_Forced = 9,
00193 DVD_SUBPICTURE_LANG_EXT_NormalDirectorsComments = 13,
00194 DVD_SUBPICTURE_LANG_EXT_BigDirectorsComments = 14,
00195 DVD_SUBPICTURE_LANG_EXT_ChildrensDirectorsComments = 15,
00196 } DVDSubpictureLangExt_t;
00197
00198
00199 typedef enum {
00200 DVD_KARAOKE_DOWNMIX_0to0 = 0x0001,
00201 DVD_KARAOKE_DOWNMIX_1to0 = 0x0002,
00202 DVD_KARAOKE_DOWNMIX_2to0 = 0x0004,
00203 DVD_KARAOKE_DOWNMIX_3to0 = 0x0008,
00204 DVD_KARAOKE_DOWNMIX_4to0 = 0x0010,
00205 DVD_KARAOKE_DOWNMIX_Lto0 = 0x0020,
00206 DVD_KARAOKE_DOWNMIX_Rto0 = 0x0040,
00207 DVD_KARAOKE_DOWNMIX_0to1 = 0x0100,
00208 DVD_KARAOKE_DOWNMIX_1to1 = 0x0200,
00209 DVD_KARAOKE_DOWNMIX_2to1 = 0x0400,
00210 DVD_KARAOKE_DOWNMIX_3to1 = 0x0800,
00211 DVD_KARAOKE_DOWNMIX_4to1 = 0x1000,
00212 DVD_KARAOKE_DOWNMIX_Lto1 = 0x2000,
00213 DVD_KARAOKE_DOWNMIX_Rto1 = 0x4000
00214 } DVDKaraokeDownmix_t;
00215 typedef int DVDKaraokeDownmixMask_t;
00216
00217
00218 typedef enum {
00219 DVD_DISPLAY_MODE_ContentDefault = 0,
00220 DVD_DISPLAY_MODE_16x9 = 1,
00221 DVD_DISPLAY_MODE_4x3PanScan = 2,
00222 DVD_DISPLAY_MODE_4x3Letterboxed = 3
00223 } DVDDisplayMode_t;
00224
00225
00226 typedef struct {
00227 DVDAudioAppMode_t AppMode;
00228 DVDAudioFormat_t AudioFormat;
00229 DVDLangID_t Language;
00230 DVDAudioLangExt_t LanguageExtension;
00231 DVDBool_t HasMultichannelInfo;
00232 DVDAudioSampleFreq_t SampleFrequency;
00233 DVDAudioSampleQuant_t SampleQuantization;
00234 DVDChannelNumber_t NumberOfChannels;
00235 } DVDAudioAttributes_t;
00236 typedef int DVDAudioSampleFreq_t;
00237 typedef int DVDAudioSampleQuant_t;
00238 typedef int DVDChannelNumber_t;
00239
00240
00241 typedef enum {
00242 DVD_SUBPICTURE_TYPE_NotSpecified = 0,
00243 DVD_SUBPICTURE_TYPE_Language = 1,
00244 DVD_SUBPICTURE_TYPE_Other = 2
00245 } DVDSubpictureType_t;
00246 typedef enum {
00247 DVD_SUBPICTURE_CODING_RunLength = 0,
00248 DVD_SUBPICTURE_CODING_Extended = 1,
00249 DVD_SUBPICTURE_CODING_Other = 2
00250 } DVDSubpictureCoding_t;
00251 typedef struct {
00252 DVDSubpictureType_t Type;
00253 DVDSubpictureCoding_t CodingMode;
00254 DVDLangID_t Language;
00255 DVDSubpictureLangExt_t LanguageExtension;
00256 } DVDSubpictureAttributes_t;
00257
00258
00259 typedef struct {
00260 DVDBool_t PanscanPermitted;
00261 DVDBool_t LetterboxPermitted;
00262 int AspectX;
00263 int AspectY;
00264 int FrameRate;
00265 int FrameHeight;
00266 DVDVideoCompression_t Compression;
00267 DVDBool_t Line21Field1InGop;
00268 DVDBool_t Line21Field2InGop;
00269 int more_to_come;
00270 } DVDVideoAttributes_t;
00271 typedef int DVDVideoCompression_t;
00272
00273 #endif
00274
00275 #endif