annotate nav_types.h @ 32:6698620c1477 src

Because of ARM memory alignment issues the struct app_info has to be packed. Patch by Erik Hovland /erik ^ hovland * org \
author rathann
date Sat, 13 Dec 2008 14:27:51 +0000
parents 98951f8ec89c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1 /*
22
447c5319a522 Convert all ISO8859-1 sequences to proper UTF-8.
diego
parents: 21
diff changeset
2 * Copyright (C) 2000, 2001, 2002 HÃ¥kan Hjort <d95hjort@dtek.chalmers.se>
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
3 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
4 * The data structures in this file should represent the layout of the
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
5 * pci and dsi packets as they are stored in the stream. Information
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
6 * found by reading the source to VOBDUMP is the base for the structure
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
7 * and names of these data types.
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
8 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
9 * VOBDUMP: a program for examining DVD .VOB files.
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
10 * Copyright 1998, 1999 Eric Smith <eric@brouhaha.com>
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
11 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
12 * VOBDUMP is free software; you can redistribute it and/or modify it
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
13 * under the terms of the GNU General Public License version 2 as
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
14 * published by the Free Software Foundation. Note that I am not
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
15 * granting permission to redistribute or modify VOBDUMP under the terms
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
16 * of any later version of the General Public License.
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
17 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
18 * This program is distributed in the hope that it will be useful (or at
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
19 * least amusing), but WITHOUT ANY WARRANTY; without even the implied
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
20 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
21 * the GNU General Public License for more details.
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
22 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
23 * You should have received a copy of the GNU General Public License
21
4aa618ae094f Use consistent license headers everywhere: Fix FSF address and boilerplate.
diego
parents: 20
diff changeset
24 * along with this program; if not, write to the Free Software Foundation,
4aa618ae094f Use consistent license headers everywhere: Fix FSF address and boilerplate.
diego
parents: 20
diff changeset
25 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
26 */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
27
23
ac07d427fbc6 Use consistent multiple inclusion guards everywhere:
diego
parents: 22
diff changeset
28 #ifndef LIBDVDREAD_NAV_TYPES_H
ac07d427fbc6 Use consistent multiple inclusion guards everywhere:
diego
parents: 22
diff changeset
29 #define LIBDVDREAD_NAV_TYPES_H
ac07d427fbc6 Use consistent multiple inclusion guards everywhere:
diego
parents: 22
diff changeset
30
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
31 #include <inttypes.h>
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
32 #include "ifo_types.h" /* only dvd_time_t, vm_cmd_t and user_ops_t */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
33
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
34 /* The length including the substream id byte. */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
35 #define PCI_BYTES 0x3d4
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
36 #define DSI_BYTES 0x3fa
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
37
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
38 #define PS2_PCI_SUBSTREAM_ID 0x00
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
39 #define PS2_DSI_SUBSTREAM_ID 0x01
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
40
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
41 /* Remove this */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
42 #define DSI_START_BYTE 1031
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
43
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
44 /**
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 14
diff changeset
45 * PCI General Information
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
46 */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
47 typedef struct {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
48 uint32_t nv_pck_lbn; /**< sector address of this nav pack */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
49 uint16_t vobu_cat; /**< 'category' of vobu */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
50 uint16_t zero1; /**< reserved */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
51 user_ops_t vobu_uop_ctl; /**< UOP of vobu */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
52 uint32_t vobu_s_ptm; /**< start presentation time of vobu */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
53 uint32_t vobu_e_ptm; /**< end presentation time of vobu */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
54 uint32_t vobu_se_e_ptm; /**< end ptm of sequence end in vobu */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
55 dvd_time_t e_eltm; /**< Cell elapsed time */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
56 char vobu_isrc[32];
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
57 } ATTRIBUTE_PACKED pci_gi_t;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
58
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
59 /**
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
60 * Non Seamless Angle Information
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
61 */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
62 typedef struct {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
63 uint32_t nsml_agl_dsta[9]; /**< address of destination vobu in AGL_C#n */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
64 } ATTRIBUTE_PACKED nsml_agli_t;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
65
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 14
diff changeset
66 /**
fce16251755c Remove all trailing whitespace,
rathann
parents: 14
diff changeset
67 * Highlight General Information
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
68 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
69 * For btngrX_dsp_ty the bits have the following meaning:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
70 * 000b: normal 4/3 only buttons
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
71 * XX1b: wide (16/9) buttons
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
72 * X1Xb: letterbox buttons
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
73 * 1XXb: pan&scan buttons
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
74 */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
75 typedef struct {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
76 uint16_t hli_ss; /**< status, only low 2 bits 0: no buttons, 1: different 2: equal 3: eual except for button cmds */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
77 uint32_t hli_s_ptm; /**< start ptm of hli */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
78 uint32_t hli_e_ptm; /**< end ptm of hli */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
79 uint32_t btn_se_e_ptm; /**< end ptm of button select */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
80 unsigned int zero1 : 2; /**< reserved */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
81 unsigned int btngr_ns : 2; /**< number of button groups 1, 2 or 3 with 36/18/12 buttons */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
82 unsigned int zero2 : 1; /**< reserved */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
83 unsigned int btngr1_dsp_ty : 3; /**< display type of subpic stream for button group 1 */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
84 unsigned int zero3 : 1; /**< reserved */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
85 unsigned int btngr2_dsp_ty : 3; /**< display type of subpic stream for button group 2 */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
86 unsigned int zero4 : 1; /**< reserved */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
87 unsigned int btngr3_dsp_ty : 3; /**< display type of subpic stream for button group 3 */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
88 uint8_t btn_ofn; /**< button offset number range 0-255 */
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 14
diff changeset
89 uint8_t btn_ns; /**< number of valid buttons <= 36/18/12 (low 6 bits) */
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
90 uint8_t nsl_btn_ns; /**< number of buttons selectable by U_BTNNi (low 6 bits) nsl_btn_ns <= btn_ns */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
91 uint8_t zero5; /**< reserved */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
92 uint8_t fosl_btnn; /**< forcedly selected button (low 6 bits) */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
93 uint8_t foac_btnn; /**< forcedly activated button (low 6 bits) */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
94 } ATTRIBUTE_PACKED hl_gi_t;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
95
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
96
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 14
diff changeset
97 /**
fce16251755c Remove all trailing whitespace,
rathann
parents: 14
diff changeset
98 * Button Color Information Table
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
99 * Each entry beeing a 32bit word that contains the color indexs and alpha
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
100 * values to use. They are all represented by 4 bit number and stored
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
101 * like this [Ci3, Ci2, Ci1, Ci0, A3, A2, A1, A0]. The actual palette
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
102 * that the indexes reference is in the PGC.
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
103 * @TODO split the uint32_t into a struct
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
104 */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
105 typedef struct {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
106 uint32_t btn_coli[3][2]; /**< [button color number-1][select:0/action:1] */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
107 } ATTRIBUTE_PACKED btn_colit_t;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
108
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 14
diff changeset
109 /**
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
110 * Button Information
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
111 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
112 * NOTE: I've had to change the structure from the disk layout to get
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
113 * the packing to work with Sun's Forte C compiler.
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
114 * The 4 and 7 bytes are 'rotated' was: ABC DEF GHIJ is: ABCG DEFH IJ
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
115 */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
116 typedef struct {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
117 unsigned int btn_coln : 2; /**< button color number */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
118 unsigned int x_start : 10; /**< x start offset within the overlay */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
119 unsigned int zero1 : 2; /**< reserved */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
120 unsigned int x_end : 10; /**< x end offset within the overlay */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
121
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
122 unsigned int auto_action_mode : 2; /**< 0: no, 1: activated if selected */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
123 unsigned int y_start : 10; /**< y start offset within the overlay */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
124 unsigned int zero2 : 2; /**< reserved */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
125 unsigned int y_end : 10; /**< y end offset within the overlay */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
126
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
127 unsigned int zero3 : 2; /**< reserved */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
128 unsigned int up : 6; /**< button index when pressing up */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
129 unsigned int zero4 : 2; /**< reserved */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
130 unsigned int down : 6; /**< button index when pressing down */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
131 unsigned int zero5 : 2; /**< reserved */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
132 unsigned int left : 6; /**< button index when pressing left */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
133 unsigned int zero6 : 2; /**< reserved */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
134 unsigned int right : 6; /**< button index when pressing right */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
135 vm_cmd_t cmd;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
136 } ATTRIBUTE_PACKED btni_t;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
137
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
138 /**
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 14
diff changeset
139 * Highlight Information
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
140 */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
141 typedef struct {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
142 hl_gi_t hl_gi;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
143 btn_colit_t btn_colit;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
144 btni_t btnit[36];
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
145 } ATTRIBUTE_PACKED hli_t;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
146
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
147 /**
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
148 * PCI packet
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
149 */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
150 typedef struct {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
151 pci_gi_t pci_gi;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
152 nsml_agli_t nsml_agli;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
153 hli_t hli;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
154 uint8_t zero1[189];
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
155 } ATTRIBUTE_PACKED pci_t;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
156
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
157
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
158
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
159
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
160 /**
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 14
diff changeset
161 * DSI General Information
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
162 */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
163 typedef struct {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
164 uint32_t nv_pck_scr;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
165 uint32_t nv_pck_lbn; /**< sector address of this nav pack */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
166 uint32_t vobu_ea; /**< end address of this VOBU */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
167 uint32_t vobu_1stref_ea; /**< end address of the 1st reference image */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
168 uint32_t vobu_2ndref_ea; /**< end address of the 2nd reference image */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
169 uint32_t vobu_3rdref_ea; /**< end address of the 3rd reference image */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
170 uint16_t vobu_vob_idn; /**< VOB Id number that this VOBU is part of */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
171 uint8_t zero1; /**< reserved */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
172 uint8_t vobu_c_idn; /**< Cell Id number that this VOBU is part of */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
173 dvd_time_t c_eltm; /**< Cell elapsed time */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
174 } ATTRIBUTE_PACKED dsi_gi_t;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
175
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
176 /**
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
177 * Seamless Playback Information
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
178 */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
179 typedef struct {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
180 uint16_t category; /**< 'category' of seamless VOBU */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
181 uint32_t ilvu_ea; /**< end address of interleaved Unit */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
182 uint32_t ilvu_sa; /**< start address of next interleaved unit */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
183 uint16_t size; /**< size of next interleaved unit */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
184 uint32_t vob_v_s_s_ptm; /**< video start ptm in vob */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
185 uint32_t vob_v_e_e_ptm; /**< video end ptm in vob */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
186 struct {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
187 uint32_t stp_ptm1;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
188 uint32_t stp_ptm2;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
189 uint32_t gap_len1;
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 14
diff changeset
190 uint32_t gap_len2;
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
191 } vob_a[8];
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
192 } ATTRIBUTE_PACKED sml_pbi_t;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
193
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
194 /**
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
195 * Seamless Angle Infromation for one angle
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
196 */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
197 typedef struct {
27
98951f8ec89c cosmetics: Sync indentation and similar changes from libdvdread 0.9.5.
diego
parents: 23
diff changeset
198 uint32_t address; /**< offset to next ILVU, high bit is before/after */
98951f8ec89c cosmetics: Sync indentation and similar changes from libdvdread 0.9.5.
diego
parents: 23
diff changeset
199 uint16_t size; /**< byte size of the ILVU pointed to by address */
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
200 } ATTRIBUTE_PACKED sml_agl_data_t;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
201
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
202 /**
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
203 * Seamless Angle Infromation
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
204 */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
205 typedef struct {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
206 sml_agl_data_t data[9];
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
207 } ATTRIBUTE_PACKED sml_agli_t;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
208
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
209 /**
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 14
diff changeset
210 * VOBU Search Information
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
211 */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
212 typedef struct {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
213 uint32_t next_video; /**< Next vobu that contains video */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
214 uint32_t fwda[19]; /**< Forwards, time */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
215 uint32_t next_vobu;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
216 uint32_t prev_vobu;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
217 uint32_t bwda[19]; /**< Backwards, time */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
218 uint32_t prev_video;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
219 } ATTRIBUTE_PACKED vobu_sri_t;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
220
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
221 #define SRI_END_OF_CELL 0x3fffffff
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
222
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
223 /**
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
224 * Synchronous Information
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 14
diff changeset
225 */
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
226 typedef struct {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
227 uint16_t a_synca[8]; /**< offset to first audio packet for this VOBU */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
228 uint32_t sp_synca[32]; /**< offset to first subpicture packet */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
229 } ATTRIBUTE_PACKED synci_t;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
230
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
231 /**
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
232 * DSI packet
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
233 */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
234 typedef struct {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
235 dsi_gi_t dsi_gi;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
236 sml_pbi_t sml_pbi;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
237 sml_agli_t sml_agli;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
238 vobu_sri_t vobu_sri;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
239 synci_t synci;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
240 uint8_t zero1[471];
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
241 } ATTRIBUTE_PACKED dsi_t;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
242
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
243
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
244 #if PRAGMA_PACK
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
245 #pragma pack()
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
246 #endif
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
247
23
ac07d427fbc6 Use consistent multiple inclusion guards everywhere:
diego
parents: 22
diff changeset
248 #endif /* LIBDVDREAD_NAV_TYPES_H */