annotate dvd_types.h @ 133:d09a81cf65ce src

determine correct PG and PTT numbers when seeking across PG boundaries
author mroi
date Mon, 24 Mar 2003 16:42:59 +0000
parents df9712507b30
children 0fd70a257b44
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
1 /*
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
2 * Copyright (C) 2000, 2001 Björn Englund, Håkan Hjort
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
3 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
4 * This file is part of libdvdnav, a DVD navigation library. It is a modified
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
5 * file originally part of the Ogle DVD player project.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
6 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
7 * libdvdnav is free software; you can redistribute it and/or modify
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
10 * (at your option) any later version.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
11 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
12 * libdvdnav is distributed in the hope that it will be useful,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
15 * GNU General Public License for more details.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
16 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
20 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
21 * $Id$
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
22 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
23 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
24
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
25 #ifndef DVD_H_INCLUDED
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
26 #define DVD_H_INCLUDED
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
27
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
28 #include <inttypes.h>
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
29
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
30 /**
43
0ba15bf3dc25 Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents: 22
diff changeset
31 * \file dvd_types.h
0ba15bf3dc25 Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents: 22
diff changeset
32 *
0ba15bf3dc25 Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents: 22
diff changeset
33 * Various useful structs and enums for DVDs.
0ba15bf3dc25 Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents: 22
diff changeset
34 */
0ba15bf3dc25 Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents: 22
diff changeset
35
0ba15bf3dc25 Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents: 22
diff changeset
36 /**
0
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
37 * DVD Domain
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
38 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
39 typedef enum {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
40 DVD_DOMAIN_FirstPlay, /**< First Play Domain */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
41 DVD_DOMAIN_VMG, /**< Video Manager Domain */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
42 DVD_DOMAIN_VTSMenu, /**< Video Title Set Menu Domain */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
43 DVD_DOMAIN_VTSTitle, /**< Video Title Set Domain */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
44 DVD_DOMAIN_Stop /**< Stop Domain */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
45 } DVDDomain_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
46
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
47 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
48 * DVD Menu
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
49 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
50 typedef enum {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
51 DVD_MENU_Title = 2, /**< TBD */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
52 DVD_MENU_Root = 3, /**< TBD */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
53 DVD_MENU_Subpicture = 4, /**< TBD */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
54 DVD_MENU_Audio = 5, /**< TBD */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
55 DVD_MENU_Angle = 6, /**< TBD */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
56 DVD_MENU_Part = 7 /**< TBD */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
57 } DVDMenuID_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
58
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
59 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
60 * User operations
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
61 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
62 typedef enum {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
63 UOP_FLAG_TitleOrTimePlay = 0x00000001,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
64 UOP_FLAG_ChapterSearchOrPlay = 0x00000002,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
65 UOP_FLAG_TitlePlay = 0x00000004,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
66 UOP_FLAG_Stop = 0x00000008,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
67 UOP_FLAG_GoUp = 0x00000010,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
68 UOP_FLAG_TimeOrChapterSearch = 0x00000020,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
69 UOP_FLAG_PrevOrTopPGSearch = 0x00000040,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
70 UOP_FLAG_NextPGSearch = 0x00000080,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
71 UOP_FLAG_ForwardScan = 0x00000100,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
72 UOP_FLAG_BackwardScan = 0x00000200,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
73 UOP_FLAG_TitleMenuCall = 0x00000400,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
74 UOP_FLAG_RootMenuCall = 0x00000800,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
75 UOP_FLAG_SubPicMenuCall = 0x00001000,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
76 UOP_FLAG_AudioMenuCall = 0x00002000,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
77 UOP_FLAG_AngleMenuCall = 0x00004000,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
78 UOP_FLAG_ChapterMenuCall = 0x00008000,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
79 UOP_FLAG_Resume = 0x00010000,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
80 UOP_FLAG_ButtonSelectOrActivate = 0x00020000,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
81 UOP_FLAG_StillOff = 0x00040000,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
82 UOP_FLAG_PauseOn = 0x00080000,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
83 UOP_FLAG_AudioStreamChange = 0x00100000,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
84 UOP_FLAG_SubPicStreamChange = 0x00200000,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
85 UOP_FLAG_AngleChange = 0x00400000,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
86 UOP_FLAG_KaraokeAudioPresModeChange = 0x00800000,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
87 UOP_FLAG_VideoPresModeChange = 0x01000000
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
88 } DVDUOP_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
89
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
90
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
91 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
92 * Parental Level
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
93 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
94 typedef enum {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
95 DVD_PARENTAL_LEVEL_1 = 1,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
96 DVD_PARENTAL_LEVEL_2 = 2,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
97 DVD_PARENTAL_LEVEL_3 = 3,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
98 DVD_PARENTAL_LEVEL_4 = 4,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
99 DVD_PARENTAL_LEVEL_5 = 5,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
100 DVD_PARENTAL_LEVEL_6 = 6,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
101 DVD_PARENTAL_LEVEL_7 = 7,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
102 DVD_PARENTAL_LEVEL_8 = 8,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
103 DVD_PARENTAL_LEVEL_None = 15
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
104 } DVDParentalLevel_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
105
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
106 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
107 * Language ID (ISO-639 language code)
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
108 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
109 typedef uint16_t DVDLangID_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
110
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
111 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
112 * Country ID (ISO-3166 country code)
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
113 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
114 typedef uint16_t DVDCountryID_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
115
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
116 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
117 * Register
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
118 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
119 typedef uint16_t DVDRegister_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
120
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
121 typedef enum {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
122 DVDFalse = 0,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
123 DVDTrue = 1
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
124 } DVDBool_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
125
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
126 typedef DVDRegister_t DVDGPRMArray_t[16];
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
127 typedef DVDRegister_t DVDSPRMArray_t[24];
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
128
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
129 typedef int DVDStream_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
130
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
131 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
132 * Angle number (1-9 or default?)
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
133 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
134 typedef int DVDAngle_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
135
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
136 typedef int DVDPTT_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
137 typedef int DVDTitle_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
138 typedef struct {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
139 uint8_t Hours;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
140 uint8_t Minutes;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
141 uint8_t Seconds;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
142 uint8_t Frames;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
143 } DVDTimecode_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
144
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
145 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
146 * Subpicture stream number (0-31,62,63)
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
147 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
148 typedef int DVDSubpictureStream_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
149
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
150 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
151 * Audio stream number (0-7, 15(none))
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
152 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
153 typedef int DVDAudioStream_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
154
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
155
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
156 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
157 * The audio application mode
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
158 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
159 typedef enum {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
160 DVD_AUDIO_APP_MODE_None = 0, /**< app mode none */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
161 DVD_AUDIO_APP_MODE_Karaoke = 1, /**< app mode karaoke */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
162 DVD_AUDIO_APP_MODE_Surround = 2, /**< app mode surround */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
163 DVD_AUDIO_APP_MODE_Other = 3 /**< app mode other */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
164 } DVDAudioAppMode_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
165
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
166 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
167 * The audio format
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
168 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
169 typedef enum {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
170 DVD_AUDIO_FORMAT_AC3 = 0, /**< Dolby AC-3 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
171 DVD_AUDIO_FORMAT_MPEG1 = 1, /**< MPEG-1 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
172 DVD_AUDIO_FORMAT_MPEG1_DRC = 2, /**< MPEG-1 with dynamic range control */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
173 DVD_AUDIO_FORMAT_MPEG2 = 3, /**< MPEG-2 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
174 DVD_AUDIO_FORMAT_MPEG2_DRC = 4, /**< MPEG-2 with dynamic range control */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
175 DVD_AUDIO_FORMAT_LPCM = 5, /**< Linear Pulse Code Modulation */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
176 DVD_AUDIO_FORMAT_DTS = 6, /**< Digital Theater Systems */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
177 DVD_AUDIO_FORMAT_SDDS = 7, /**< Sony Dynamic Digital Sound */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
178 DVD_AUDIO_FORMAT_Other = 8 /**< Other format*/
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
179 } DVDAudioFormat_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
180
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
181 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
182 * Audio language extension
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
183 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
184 typedef enum {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
185 DVD_AUDIO_LANG_EXT_NotSpecified = 0, /**< TBD */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
186 DVD_AUDIO_LANG_EXT_NormalCaptions = 1, /**< TBD */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
187 DVD_AUDIO_LANG_EXT_VisuallyImpaired = 2, /**< TBD */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
188 DVD_AUDIO_LANG_EXT_DirectorsComments1 = 3, /**< TBD */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
189 DVD_AUDIO_LANG_EXT_DirectorsComments2 = 4 /**< TBD */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
190 } DVDAudioLangExt_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
191
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
192 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
193 * Subpicture language extension
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
194 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
195 typedef enum {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
196 DVD_SUBPICTURE_LANG_EXT_NotSpecified = 0,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
197 DVD_SUBPICTURE_LANG_EXT_NormalCaptions = 1,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
198 DVD_SUBPICTURE_LANG_EXT_BigCaptions = 2,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
199 DVD_SUBPICTURE_LANG_EXT_ChildrensCaptions = 3,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
200 DVD_SUBPICTURE_LANG_EXT_NormalCC = 5,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
201 DVD_SUBPICTURE_LANG_EXT_BigCC = 6,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
202 DVD_SUBPICTURE_LANG_EXT_ChildrensCC = 7,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
203 DVD_SUBPICTURE_LANG_EXT_Forced = 9,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
204 DVD_SUBPICTURE_LANG_EXT_NormalDirectorsComments = 13,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
205 DVD_SUBPICTURE_LANG_EXT_BigDirectorsComments = 14,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
206 DVD_SUBPICTURE_LANG_EXT_ChildrensDirectorsComments = 15,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
207 } DVDSubpictureLangExt_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
208
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
209 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
210 * Karaoke Downmix mode
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
211 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
212 typedef enum {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
213 DVD_KARAOKE_DOWNMIX_0to0 = 0x0001,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
214 DVD_KARAOKE_DOWNMIX_1to0 = 0x0002,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
215 DVD_KARAOKE_DOWNMIX_2to0 = 0x0004,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
216 DVD_KARAOKE_DOWNMIX_3to0 = 0x0008,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
217 DVD_KARAOKE_DOWNMIX_4to0 = 0x0010,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
218 DVD_KARAOKE_DOWNMIX_Lto0 = 0x0020,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
219 DVD_KARAOKE_DOWNMIX_Rto0 = 0x0040,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
220 DVD_KARAOKE_DOWNMIX_0to1 = 0x0100,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
221 DVD_KARAOKE_DOWNMIX_1to1 = 0x0200,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
222 DVD_KARAOKE_DOWNMIX_2to1 = 0x0400,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
223 DVD_KARAOKE_DOWNMIX_3to1 = 0x0800,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
224 DVD_KARAOKE_DOWNMIX_4to1 = 0x1000,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
225 DVD_KARAOKE_DOWNMIX_Lto1 = 0x2000,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
226 DVD_KARAOKE_DOWNMIX_Rto1 = 0x4000
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
227 } DVDKaraokeDownmix_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
228
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
229 typedef int DVDKaraokeDownmixMask_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
230
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
231 typedef enum {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
232 DVD_DISPLAY_MODE_ContentDefault = 0,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
233 DVD_DISPLAY_MODE_16x9 = 1,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
234 DVD_DISPLAY_MODE_4x3PanScan = 2,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
235 DVD_DISPLAY_MODE_4x3Letterboxed = 3
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
236 } DVDDisplayMode_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
237
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
238 typedef int DVDAudioSampleFreq_t; /**< TBD */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
239 typedef int DVDAudioSampleQuant_t; /**< TBD */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
240 typedef int DVDChannelNumber_t; /**< TBD */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
241
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
242
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
243 typedef struct {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
244 DVDAudioAppMode_t AppMode;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
245 DVDAudioFormat_t AudioFormat;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
246 DVDLangID_t Language;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
247 DVDAudioLangExt_t LanguageExtension;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
248 DVDBool_t HasMultichannelInfo;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
249 DVDAudioSampleFreq_t SampleFrequency;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
250 DVDAudioSampleQuant_t SampleQuantization;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
251 DVDChannelNumber_t NumberOfChannels;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
252 } DVDAudioAttributes_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
253
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
254 typedef enum {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
255 DVD_SUBPICTURE_TYPE_NotSpecified = 0,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
256 DVD_SUBPICTURE_TYPE_Language = 1,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
257 DVD_SUBPICTURE_TYPE_Other = 2
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
258 } DVDSubpictureType_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
259
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
260 typedef enum {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
261 DVD_SUBPICTURE_CODING_RunLength = 0,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
262 DVD_SUBPICTURE_CODING_Extended = 1,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
263 DVD_SUBPICTURE_CODING_Other = 2
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
264 } DVDSubpictureCoding_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
265
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
266 typedef struct {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
267 DVDSubpictureType_t Type;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
268 DVDSubpictureCoding_t CodingMode;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
269 DVDLangID_t Language;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
270 DVDSubpictureLangExt_t LanguageExtension;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
271 } DVDSubpictureAttributes_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
272
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
273 typedef int DVDVideoCompression_t; /**< TBD */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
274
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
275 typedef struct {
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
276 DVDBool_t PanscanPermitted;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
277 DVDBool_t LetterboxPermitted;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
278 int AspectX;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
279 int AspectY;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
280 int FrameRate;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
281 int FrameHeight;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
282 DVDVideoCompression_t Compression;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
283 DVDBool_t Line21Field1InGop;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
284 DVDBool_t Line21Field2InGop;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
285 int more_to_come;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
286 } DVDVideoAttributes_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
287
43
0ba15bf3dc25 Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents: 22
diff changeset
288 /**
0ba15bf3dc25 Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents: 22
diff changeset
289 * Atructure containing info on highlight areas.
0ba15bf3dc25 Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents: 22
diff changeset
290 */
22
3c1df0cb3aee Start of rewrite of libdvdnav. Still need to re-implement seeking.
jcdutton
parents: 0
diff changeset
291 typedef struct {
43
0ba15bf3dc25 Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents: 22
diff changeset
292 uint32_t palette; /*!< The CLUT entries for the highlight palette
22
3c1df0cb3aee Start of rewrite of libdvdnav. Still need to re-implement seeking.
jcdutton
parents: 0
diff changeset
293 (4-bits per entry -> 4 entries) */
43
0ba15bf3dc25 Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents: 22
diff changeset
294 uint16_t sx,sy,ex,ey; /*!< The start/end x,y positions */
0ba15bf3dc25 Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents: 22
diff changeset
295 uint32_t pts; /*!< Highlight PTS to match with SPU */
0ba15bf3dc25 Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents: 22
diff changeset
296 uint32_t buttonN; /*!< Button number for the SPU decoder. */
22
3c1df0cb3aee Start of rewrite of libdvdnav. Still need to re-implement seeking.
jcdutton
parents: 0
diff changeset
297 } dvdnav_highlight_area_t;
3c1df0cb3aee Start of rewrite of libdvdnav. Still need to re-implement seeking.
jcdutton
parents: 0
diff changeset
298
0
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
299 #endif /* DVD_H_INCLUDED */