annotate libmpdvdkit2/nav_types.h @ 10581:4ebff25d9a05

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