annotate libmpdvdkit2/nav_types.h @ 14938:25df9508f9a8

Mark modified files as such to comply more closely with GPL ¡ø2a.
author diego
date Fri, 11 Mar 2005 02:40:28 +0000
parents 596919e4f601
children 483e955893b8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7029
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
1 #ifndef NAV_TYPES_H_INCLUDED
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
2 #define NAV_TYPES_H_INCLUDED
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
3
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
4 /*
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
5 * Copyright (C) 2000, 2001 Håkan Hjort <d95hjort@dtek.chalmers.se>
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
6 *
14938
25df9508f9a8 Mark modified files as such to comply more closely with GPL ¡ø2a.
diego
parents: 7033
diff changeset
7 * Modified for use with MPlayer, changes contained in libdvdread_changes.diff.
25df9508f9a8 Mark modified files as such to comply more closely with GPL ¡ø2a.
diego
parents: 7033
diff changeset
8 * detailed CVS changelog at http://www.mplayerhq.hu/cgi-bin/cvsweb.cgi/main/
25df9508f9a8 Mark modified files as such to comply more closely with GPL ¡ø2a.
diego
parents: 7033
diff changeset
9 * $Id$
25df9508f9a8 Mark modified files as such to comply more closely with GPL ¡ø2a.
diego
parents: 7033
diff changeset
10 *
7029
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
11 * The data structures in this file should represent the layout of the
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
12 * pci and dsi packets as they are stored in the stream. Information
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
13 * found by reading the source to VOBDUMP is the base for the structure
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
14 * and names of these data types.
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
15 *
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
16 * VOBDUMP: a program for examining DVD .VOB files.
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
17 * Copyright 1998, 1999 Eric Smith <eric@brouhaha.com>
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
18 *
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
19 * VOBDUMP is free software; you can redistribute it and/or modify it
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
20 * under the terms of the GNU General Public License version 2 as
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
21 * published by the Free Software Foundation. Note that I am not
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
22 * granting permission to redistribute or modify VOBDUMP under the terms
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
23 * of any later version of the General Public License.
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
24 *
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
25 * This program is distributed in the hope that it will be useful (or at
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
26 * least amusing), but WITHOUT ANY WARRANTY; without even the implied
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
27 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
28 * the GNU General Public License for more details.
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
29 *
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
30 * You should have received a copy of the GNU General Public License
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
31 * along with this program; if not, write to the Free Software
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
32 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
33 * USA
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
34 */
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
35
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
36 #include <inttypes.h>
7033
596919e4f601 apply mplayer-specific patches
arpi
parents: 7029
diff changeset
37 #include "ifo_types.h" // only dvd_time_t, vm_cmd_t and user_ops_t
7029
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
38
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
39
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
40 #undef ATTRIBUTE_PACKED
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
41 #undef PRAGMA_PACK_BEGIN
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
42 #undef PRAGMA_PACK_END
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
43
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
44 #if defined(__GNUC__)
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
45 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
46 #define ATTRIBUTE_PACKED __attribute__ ((packed))
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
47 #define PRAGMA_PACK 0
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
48 #endif
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
49 #endif
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
50
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
51 #if !defined(ATTRIBUTE_PACKED)
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
52 #define ATTRIBUTE_PACKED
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
53 #define PRAGMA_PACK 1
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
54 #endif
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
55
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
56
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
57 /* The length including the substream id byte. */
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
58 #define PCI_BYTES 0x3d4
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
59 #define DSI_BYTES 0x3fa
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
60
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
61 #define PS2_PCI_SUBSTREAM_ID 0x00
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
62 #define PS2_DSI_SUBSTREAM_ID 0x01
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
63
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
64 /* Remove this */
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
65 #define DSI_START_BYTE 1031
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
66
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
67
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
68 #if PRAGMA_PACK
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
69 #pragma pack(1)
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
70 #endif
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
71
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
72
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
73 /**
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
74 * PCI General Information
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
75 */
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
76 typedef struct {
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
77 uint32_t nv_pck_lbn;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
78 uint16_t vobu_cat;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
79 uint16_t zero1;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
80 user_ops_t vobu_uop_ctl;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
81 uint32_t vobu_s_ptm;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
82 uint32_t vobu_e_ptm;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
83 uint32_t vobu_se_e_ptm;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
84 dvd_time_t e_eltm;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
85 char vobu_isrc[32];
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
86 } ATTRIBUTE_PACKED pci_gi_t;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
87
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
88 /**
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
89 * Non Seamless Angle Information
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
90 */
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
91 typedef struct {
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
92 uint32_t nsml_agl_dsta[9];
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
93 } ATTRIBUTE_PACKED nsml_agli_t;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
94
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
95 /**
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
96 * Highlight General Information
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
97 */
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
98 typedef struct {
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
99 uint16_t hli_ss; ///< only low 2 bits
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
100 uint32_t hli_s_ptm;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
101 uint32_t hli_e_ptm;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
102 uint32_t btn_se_e_ptm;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
103 #ifdef WORDS_BIGENDIAN
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
104 unsigned int zero1 : 2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
105 unsigned int btngr_ns : 2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
106 unsigned int zero2 : 1;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
107 unsigned int btngr1_dsp_ty : 3;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
108 unsigned int zero3 : 1;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
109 unsigned int btngr2_dsp_ty : 3;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
110 unsigned int zero4 : 1;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
111 unsigned int btngr3_dsp_ty : 3;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
112 #else
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
113 unsigned int btngr1_dsp_ty : 3;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
114 unsigned int zero2 : 1;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
115 unsigned int btngr_ns : 2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
116 unsigned int zero1 : 2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
117 unsigned int btngr3_dsp_ty : 3;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
118 unsigned int zero4 : 1;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
119 unsigned int btngr2_dsp_ty : 3;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
120 unsigned int zero3 : 1;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
121 #endif
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
122 uint8_t btn_ofn;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
123 uint8_t btn_ns; ///< only low 6 bits
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
124 uint8_t nsl_btn_ns; ///< only low 6 bits
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
125 uint8_t zero5;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
126 uint8_t fosl_btnn; ///< only low 6 bits
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
127 uint8_t foac_btnn; ///< only low 6 bits
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
128 } ATTRIBUTE_PACKED hl_gi_t;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
129
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
130
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
131 /**
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
132 * Button Color Information Table
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
133 */
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
134 typedef struct {
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
135 uint32_t btn_coli[3][2];
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
136 } ATTRIBUTE_PACKED btn_colit_t;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
137
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
138 /**
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
139 * Button Information
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
140 */
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
141 typedef struct {
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
142 #ifdef WORDS_BIGENDIAN
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
143 unsigned int btn_coln : 2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
144 unsigned int x_start : 10;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
145 unsigned int zero1 : 2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
146 unsigned int x_end : 10;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
147 unsigned int auto_action_mode : 2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
148 unsigned int y_start : 10;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
149 unsigned int zero2 : 2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
150 unsigned int y_end : 10;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
151
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
152 unsigned int zero3 : 2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
153 unsigned int up : 6;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
154 unsigned int zero4 : 2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
155 unsigned int down : 6;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
156 unsigned int zero5 : 2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
157 unsigned int left : 6;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
158 unsigned int zero6 : 2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
159 unsigned int right : 6;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
160 #else
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
161 unsigned int x_end : 10;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
162 unsigned int zero1 : 2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
163 unsigned int x_start : 10;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
164 unsigned int btn_coln : 2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
165 unsigned int y_end : 10;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
166 unsigned int zero2 : 2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
167 unsigned int y_start : 10;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
168 unsigned int auto_action_mode : 2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
169
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
170 unsigned int up : 6;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
171 unsigned int zero3 : 2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
172 unsigned int down : 6;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
173 unsigned int zero4 : 2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
174 unsigned int left : 6;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
175 unsigned int zero5 : 2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
176 unsigned int right : 6;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
177 unsigned int zero6 : 2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
178 #endif
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
179 vm_cmd_t cmd;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
180 } ATTRIBUTE_PACKED btni_t;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
181
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
182 /**
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
183 * Highlight Information
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
184 */
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
185 typedef struct {
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
186 hl_gi_t hl_gi;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
187 btn_colit_t btn_colit;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
188 btni_t btnit[36];
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
189 } ATTRIBUTE_PACKED hli_t;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
190
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
191 /**
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
192 * PCI packet
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
193 */
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
194 typedef struct {
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
195 pci_gi_t pci_gi;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
196 nsml_agli_t nsml_agli;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
197 hli_t hli;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
198 uint8_t zero1[189];
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
199 } ATTRIBUTE_PACKED pci_t;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
200
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
201
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
202
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
203
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
204 /**
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
205 * DSI General Information
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
206 */
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
207 typedef struct {
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
208 uint32_t nv_pck_scr;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
209 uint32_t nv_pck_lbn;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
210 uint32_t vobu_ea;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
211 uint32_t vobu_1stref_ea;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
212 uint32_t vobu_2ndref_ea;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
213 uint32_t vobu_3rdref_ea;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
214 uint16_t vobu_vob_idn;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
215 uint8_t zero1;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
216 uint8_t vobu_c_idn;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
217 dvd_time_t c_eltm;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
218 } ATTRIBUTE_PACKED dsi_gi_t;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
219
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
220 /**
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
221 * Seamless Playback Information
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
222 */
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
223 typedef struct {
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
224 uint16_t category; ///< category of seamless VOBU
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
225 uint32_t ilvu_ea; ///< end address of interleaved Unit (sectors)
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
226 uint32_t ilvu_sa; ///< start address of next interleaved unit (sectors)
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
227 uint16_t size; ///< size of next interleaved unit (sectors)
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
228 uint32_t vob_v_s_s_ptm; ///< video start ptm in vob
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
229 uint32_t vob_v_e_e_ptm; ///< video end ptm in vob
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
230 struct {
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
231 uint32_t stp_ptm1;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
232 uint32_t stp_ptm2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
233 uint32_t gap_len1;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
234 uint32_t gap_len2;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
235 } vob_a[8];
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
236 } ATTRIBUTE_PACKED sml_pbi_t;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
237
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
238 /**
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
239 * Seamless Angle Infromation for one angle
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
240 */
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
241 typedef struct {
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
242 uint32_t address; ///< Sector offset to next ILVU, high bit is before/after
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
243 uint16_t size; ///< Byte size of the ILVU poited to by address.
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
244 } ATTRIBUTE_PACKED sml_agl_data_t;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
245
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
246 /**
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
247 * Seamless Angle Infromation
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
248 */
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
249 typedef struct {
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
250 sml_agl_data_t data[9];
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
251 } ATTRIBUTE_PACKED sml_agli_t;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
252
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
253 /**
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
254 * VOBU Search Information
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
255 */
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
256 typedef struct {
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
257 uint32_t next_video; ///< Next vobu that contains video
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
258 uint32_t fwda[19]; ///< Forwards, time
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
259 uint32_t next_vobu;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
260 uint32_t prev_vobu;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
261 uint32_t bwda[19]; ///< Backwards, time
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
262 uint32_t prev_video;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
263 } ATTRIBUTE_PACKED vobu_sri_t;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
264
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
265 #define SRI_END_OF_CELL 0x3fffffff
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
266
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
267 /**
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
268 * Synchronous Information
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
269 */
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
270 typedef struct {
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
271 uint16_t a_synca[8]; ///< Sector offset to first audio packet for this VOBU
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
272 uint32_t sp_synca[32]; ///< Sector offset to first subpicture packet
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
273 } ATTRIBUTE_PACKED synci_t;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
274
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
275 /**
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
276 * DSI packet
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
277 */
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
278 typedef struct {
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
279 dsi_gi_t dsi_gi;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
280 sml_pbi_t sml_pbi;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
281 sml_agli_t sml_agli;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
282 vobu_sri_t vobu_sri;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
283 synci_t synci;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
284 uint8_t zero1[471];
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
285 } ATTRIBUTE_PACKED dsi_t;
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
286
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
287
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
288 #if PRAGMA_PACK
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
289 #pragma pack()
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
290 #endif
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
291
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
292 #endif /* NAV_TYPES_H_INCLUDED */