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