annotate ifo_print.c @ 21:4aa618ae094f src

Use consistent license headers everywhere: Fix FSF address and boilerplate.
author diego
date Sun, 14 Sep 2008 15:42:49 +0000
parents fce16251755c
children 3552a3d11604
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
1 /*
21
4aa618ae094f Use consistent license headers everywhere: Fix FSF address and boilerplate.
diego
parents: 20
diff changeset
2 * This file is part of libdvdread.
4aa618ae094f Use consistent license headers everywhere: Fix FSF address and boilerplate.
diego
parents: 20
diff changeset
3 *
4aa618ae094f Use consistent license headers everywhere: Fix FSF address and boilerplate.
diego
parents: 20
diff changeset
4 * libdvdread is free software; you can redistribute it and/or modify
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
5 * it under the terms of the GNU General Public License as published by
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
7 * (at your option) any later version.
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
8 *
21
4aa618ae094f Use consistent license headers everywhere: Fix FSF address and boilerplate.
diego
parents: 20
diff changeset
9 * libdvdread is distributed in the hope that it will be useful,
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
12 * GNU General Public License for more details.
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
13 *
21
4aa618ae094f Use consistent license headers everywhere: Fix FSF address and boilerplate.
diego
parents: 20
diff changeset
14 * You should have received a copy of the GNU General Public License along
4aa618ae094f Use consistent license headers everywhere: Fix FSF address and boilerplate.
diego
parents: 20
diff changeset
15 * with libdvdread; if not, write to the Free Software Foundation, Inc.,
4aa618ae094f Use consistent license headers everywhere: Fix FSF address and boilerplate.
diego
parents: 20
diff changeset
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
17 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
18 * $Id$
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
19 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
20 */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
21
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
22 #include <stdio.h>
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
23 #include <stdlib.h>
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
24 #include <unistd.h>
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
25 #include <inttypes.h>
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
26 #include <string.h>
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
27 #include <ctype.h>
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
28 #include <assert.h>
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
29
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
30 #include "ifo_types.h"
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
31 #include "ifo_read.h"
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
32 #include "ifo_print.h"
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
33
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
34 /* Put this in some other file / package? It's used in nav_print too. */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
35 static void ifo_print_time(int level, dvd_time_t *dtime) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
36 const char *rate;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
37 assert((dtime->hour>>4) < 0xa && (dtime->hour&0xf) < 0xa);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
38 assert((dtime->minute>>4) < 0x7 && (dtime->minute&0xf) < 0xa);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
39 assert((dtime->second>>4) < 0x7 && (dtime->second&0xf) < 0xa);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
40 assert((dtime->frame_u&0xf) < 0xa);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
41
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
42 printf("%02x:%02x:%02x.%02x",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
43 dtime->hour,
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
44 dtime->minute,
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
45 dtime->second,
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
46 dtime->frame_u & 0x3f);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
47 switch((dtime->frame_u & 0xc0) >> 6) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
48 case 1:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
49 rate = "25.00";
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
50 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
51 case 3:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
52 rate = "29.97";
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
53 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
54 default:
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
55 if(dtime->hour == 0 && dtime->minute == 0
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
56 && dtime->second == 0 && dtime->frame_u == 0)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
57 rate = "no";
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
58 else
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
59 rate = "(please send a bug report)";
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
60 break;
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
61 }
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
62 printf(" @ %s fps", rate);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
63 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
64
13
4e610984cc3f added dvdread_print_time() and removed the file-static print_time() in nav_print.c; based on a patch by Erik Hovland org
nicodvb
parents: 4
diff changeset
65 void dvdread_print_time(dvd_time_t *dtime) {
4e610984cc3f added dvdread_print_time() and removed the file-static print_time() in nav_print.c; based on a patch by Erik Hovland org
nicodvb
parents: 4
diff changeset
66 ifo_print_time(5, dtime);
4e610984cc3f added dvdread_print_time() and removed the file-static print_time() in nav_print.c; based on a patch by Erik Hovland org
nicodvb
parents: 4
diff changeset
67 }
4e610984cc3f added dvdread_print_time() and removed the file-static print_time() in nav_print.c; based on a patch by Erik Hovland org
nicodvb
parents: 4
diff changeset
68
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
69 /* Put this in some other file / package? It's used in nav_print too.
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
70 Possibly also by the vm / navigator. */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
71 static void ifo_print_cmd(int row, vm_cmd_t *command) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
72 int i;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
73
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
74 printf("(%03d) ", row + 1);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
75 for(i=0;i<8;i++)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
76 printf("%02x ", command->bytes[i]);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
77 printf("| ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
78 #if 0
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
79 //disabled call of dvdnav function
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
80 vm_print_mnemonic(command);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
81 #endif
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
82 printf("\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
83 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
84
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
85 static void ifo_print_video_attributes(int level, video_attr_t *attr) {
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
86
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
87 /* The following test is shorter but not correct ISO C,
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
88 memcmp(attr,my_friendly_zeros, sizeof(video_attr_t)) */
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
89 if(attr->mpeg_version == 0
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
90 && attr->video_format == 0
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
91 && attr->display_aspect_ratio == 0
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
92 && attr->permitted_df == 0
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
93 && attr->unknown1 == 0
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
94 && attr->line21_cc_1 == 0
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
95 && attr->line21_cc_2 == 0
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
96 && attr->video_format == 0
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
97 && attr->letterboxed == 0
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
98 && attr->film_mode == 0) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
99 printf("-- Unspecified --");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
100 return;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
101 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
102
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
103 switch(attr->mpeg_version) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
104 case 0:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
105 printf("mpeg1, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
106 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
107 case 1:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
108 printf("mpeg2, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
109 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
110 default:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
111 printf("(please send a bug report), ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
112 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
113
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
114 switch(attr->video_format) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
115 case 0:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
116 printf("ntsc, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
117 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
118 case 1:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
119 printf("pal, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
120 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
121 default:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
122 printf("(please send a bug report), ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
123 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
124
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
125 switch(attr->display_aspect_ratio) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
126 case 0:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
127 printf("4:3, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
128 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
129 case 3:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
130 printf("16:9, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
131 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
132 default:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
133 printf("(please send a bug report), ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
134 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
135
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
136 // Wide is allways allowed..!!!
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
137 switch(attr->permitted_df) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
138 case 0:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
139 printf("pan&scan+letterboxed, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
140 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
141 case 1:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
142 printf("only pan&scan, "); //??
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
143 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
144 case 2:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
145 printf("only letterboxed, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
146 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
147 case 3:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
148 printf("not specified, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
149 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
150 default:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
151 printf("(please send a bug report), ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
152 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
153
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
154 printf("U%x, ", attr->unknown1);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
155 assert(!attr->unknown1);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
156
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
157 if(attr->line21_cc_1 || attr->line21_cc_2) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
158 printf("NTSC CC ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
159 if(attr->line21_cc_1)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
160 printf("1, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
161 if(attr->line21_cc_2)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
162 printf("2, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
163 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
164
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
165 {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
166 int height = 480;
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
167 if(attr->video_format != 0)
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
168 height = 576;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
169 switch(attr->picture_size) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
170 case 0:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
171 printf("720x%d, ", height);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
172 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
173 case 1:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
174 printf("704x%d, ", height);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
175 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
176 case 2:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
177 printf("352x%d, ", height);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
178 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
179 case 3:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
180 printf("352x%d, ", height/2);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
181 break;
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
182 default:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
183 printf("(please send a bug report), ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
184 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
185 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
186
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
187 if(attr->letterboxed) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
188 printf("source letterboxed, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
189 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
190
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
191 if(attr->film_mode) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
192 printf("film. ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
193 } else {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
194 printf("video. "); //camera
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
195 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
196 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
197
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
198 static void ifo_print_audio_attributes(int level, audio_attr_t *attr) {
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
199
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
200 if(attr->audio_format == 0
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
201 && attr->multichannel_extension == 0
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
202 && attr->lang_type == 0
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
203 && attr->application_mode == 0
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
204 && attr->quantization == 0
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
205 && attr->sample_frequency == 0
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
206 && attr->channels == 0
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
207 && attr->lang_extension == 0
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
208 && attr->unknown1 == 0
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
209 && attr->unknown3 == 0) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
210 printf("-- Unspecified --");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
211 return;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
212 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
213
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
214 switch(attr->audio_format) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
215 case 0:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
216 printf("ac3 ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
217 if(attr->quantization != 3)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
218 printf("(please send a bug report) ac3 quant/drc not 3 (%d)", attr->quantization);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
219 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
220 case 1:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
221 printf("(please send a bug report) ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
222 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
223 case 2:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
224 printf("mpeg1 ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
225 case 3:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
226 printf("mpeg2ext ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
227 switch(attr->quantization) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
228 case 0:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
229 printf("no drc ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
230 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
231 case 1:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
232 printf("drc ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
233 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
234 default:
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
235 printf("(please send a bug report) mpeg reserved quant/drc (%d)", attr->quantization);
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
236 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
237 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
238 case 4:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
239 printf("lpcm ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
240 switch(attr->quantization) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
241 case 0:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
242 printf("16bit ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
243 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
244 case 1:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
245 printf("20bit ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
246 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
247 case 2:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
248 printf("24bit ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
249 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
250 case 3:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
251 printf("(please send a bug report) lpcm reserved quant/drc (%d)", attr->quantization);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
252 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
253 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
254 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
255 case 5:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
256 printf("(please send a bug report) ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
257 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
258 case 6:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
259 printf("dts ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
260 if(attr->quantization != 3)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
261 printf("(please send a bug report) dts quant/drc not 3 (%d)", attr->quantization);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
262 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
263 default:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
264 printf("(please send a bug report) ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
265 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
266
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
267 if(attr->multichannel_extension)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
268 printf("multichannel_extension ");
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
269
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
270 switch(attr->lang_type) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
271 case 0:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
272 // not specified
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
273 assert(attr->lang_code == 0 || attr->lang_code == 0xffff);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
274 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
275 case 1:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
276 printf("%c%c ", attr->lang_code>>8, attr->lang_code & 0xff);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
277 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
278 default:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
279 printf("(please send a bug report) ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
280 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
281
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
282 switch(attr->application_mode) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
283 case 0:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
284 // not specified
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
285 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
286 case 1:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
287 printf("karaoke mode ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
288 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
289 case 2:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
290 printf("surround sound mode ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
291 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
292 default:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
293 printf("(please send a bug report) ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
294 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
295
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
296 switch(attr->quantization) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
297 case 0:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
298 printf("16bit ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
299 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
300 case 1:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
301 printf("20bit ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
302 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
303 case 2:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
304 printf("24bit ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
305 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
306 case 3:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
307 printf("drc ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
308 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
309 default:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
310 printf("(please send a bug report) ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
311 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
312
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
313 switch(attr->sample_frequency) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
314 case 0:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
315 printf("48kHz ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
316 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
317 case 1:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
318 printf("??kHz ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
319 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
320 default:
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
321 printf("sample_frequency %i (please send a bug report) ",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
322 attr->sample_frequency);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
323 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
324
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
325 printf("%dCh ", attr->channels + 1);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
326
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
327 switch(attr->lang_extension) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
328 case 0:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
329 printf("Not specified ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
330 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
331 case 1: // Normal audio
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
332 printf("Normal Caption ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
333 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
334 case 2: // visually imparied
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
335 printf("Audio for visually impaired ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
336 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
337 case 3: // Directors 1
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
338 printf("Director's comments 1 ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
339 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
340 case 4: // Directors 2
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
341 printf("Director's comments 2 ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
342 break;
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
343 //case 4: // Music score ?
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
344 default:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
345 printf("(please send a bug report) ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
346 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
347
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
348 printf("%d ", attr->unknown1);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
349 printf("%d ", attr->unknown3);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
350 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
351
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
352 static void ifo_print_subp_attributes(int level, subp_attr_t *attr) {
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
353
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
354 if(attr->type == 0
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
355 && attr->lang_code == 0
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
356 && attr->zero1 == 0
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
357 && attr->zero2 == 0
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
358 && attr->lang_extension== 0) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
359 printf("-- Unspecified --");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
360 return;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
361 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
362
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
363 printf("type %02x ", attr->type);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
364
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
365 if(isalpha((int)(attr->lang_code >> 8))
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
366 && isalpha((int)(attr->lang_code & 0xff))) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
367 printf("%c%c ", attr->lang_code >> 8, attr->lang_code & 0xff);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
368 } else {
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
369 printf("%02x%02x ", 0xff & (unsigned)(attr->lang_code >> 8),
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
370 0xff & (unsigned)(attr->lang_code & 0xff));
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
371 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
372
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
373 printf("%d ", attr->zero1);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
374 printf("%d ", attr->zero2);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
375
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
376 switch(attr->lang_extension) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
377 case 0:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
378 printf("Not specified ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
379 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
380 case 1:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
381 printf("Caption with normal size character ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
382 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
383 case 2:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
384 printf("Caption with bigger size character ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
385 break;
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
386 case 3:
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
387 printf("Caption for children ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
388 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
389 case 4:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
390 printf("reserved ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
391 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
392 case 5:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
393 printf("Closed Caption with normal size character ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
394 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
395 case 6:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
396 printf("Closed Caption with bigger size character ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
397 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
398 case 7:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
399 printf("Closed Caption for children ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
400 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
401 case 8:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
402 printf("reserved ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
403 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
404 case 9:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
405 printf("Forced Caption");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
406 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
407 case 10:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
408 printf("reserved ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
409 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
410 case 11:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
411 printf("reserved ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
412 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
413 case 12:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
414 printf("reserved ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
415 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
416 case 13:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
417 printf("Director's comments with normal size character ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
418 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
419 case 14:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
420 printf("Director's comments with bigger size character ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
421 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
422 case 15:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
423 printf("Director's comments for children ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
424 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
425 default:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
426 printf("(please send a bug report) ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
427 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
428
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
429 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
430
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
431
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
432 static void ifo_print_USER_OPS(user_ops_t *user_ops) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
433 uint32_t uops;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
434 unsigned char *ptr = (unsigned char *)user_ops;
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
435
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
436 uops = (*ptr++ << 24);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
437 uops |= (*ptr++ << 16);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
438 uops |= (*ptr++ << 8);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
439 uops |= (*ptr++);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
440
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
441 if(uops == 0) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
442 printf("None\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
443 } else if(uops == 0x01ffffff) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
444 printf("All\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
445 } else {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
446 if(user_ops->title_or_time_play)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
447 printf("Title or Time Play, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
448 if(user_ops->chapter_search_or_play)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
449 printf("Chapter Search or Play, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
450 if(user_ops->title_play)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
451 printf("Title Play, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
452 if(user_ops->stop)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
453 printf("Stop, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
454 if(user_ops->go_up)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
455 printf("Go Up, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
456 if(user_ops->time_or_chapter_search)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
457 printf("Time or Chapter Search, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
458 if(user_ops->prev_or_top_pg_search)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
459 printf("Prev or Top PG Search, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
460 if(user_ops->next_pg_search)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
461 printf("Next PG Search, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
462 if(user_ops->forward_scan)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
463 printf("Forward Scan, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
464 if(user_ops->backward_scan)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
465 printf("Backward Scan, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
466 if(user_ops->title_menu_call)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
467 printf("Title Menu Call, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
468 if(user_ops->root_menu_call)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
469 printf("Root Menu Call, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
470 if(user_ops->subpic_menu_call)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
471 printf("SubPic Menu Call, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
472 if(user_ops->audio_menu_call)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
473 printf("Audio Menu Call, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
474 if(user_ops->angle_menu_call)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
475 printf("Angle Menu Call, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
476 if(user_ops->chapter_menu_call)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
477 printf("Chapter Menu Call, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
478 if(user_ops->resume)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
479 printf("Resume, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
480 if(user_ops->button_select_or_activate)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
481 printf("Button Select or Activate, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
482 if(user_ops->still_off)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
483 printf("Still Off, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
484 if(user_ops->pause_on)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
485 printf("Pause On, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
486 if(user_ops->audio_stream_change)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
487 printf("Audio Stream Change, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
488 if(user_ops->subpic_stream_change)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
489 printf("SubPic Stream Change, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
490 if(user_ops->angle_change)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
491 printf("Angle Change, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
492 if(user_ops->karaoke_audio_pres_mode_change)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
493 printf("Karaoke Audio Pres Mode Change, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
494 if(user_ops->video_pres_mode_change)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
495 printf("Video Pres Mode Change, ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
496 printf("\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
497 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
498 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
499
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
500
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
501 void ifo_print_VMGI_MAT(vmgi_mat_t *vmgi_mat) {
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
502
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
503 printf("VMG Identifier: %.12s\n", vmgi_mat->vmg_identifier);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
504 printf("Last Sector of VMG: %08x\n", vmgi_mat->vmg_last_sector);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
505 printf("Last Sector of VMGI: %08x\n", vmgi_mat->vmgi_last_sector);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
506 printf("Specification version number: %01x.%01x\n",
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
507 vmgi_mat->specification_version >> 4,
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
508 vmgi_mat->specification_version & 0xf);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
509 /* Byte 2 of 'VMG Category' (00xx0000) is the Region Code */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
510 printf("VMG Category: %08x (Region Code=%02x)\n", vmgi_mat->vmg_category, ((vmgi_mat->vmg_category >> 16) & 0xff) ^0xff);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
511 printf("VMG Number of Volumes: %i\n", vmgi_mat->vmg_nr_of_volumes);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
512 printf("VMG This Volume: %i\n", vmgi_mat->vmg_this_volume_nr);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
513 printf("Disc side %i\n", vmgi_mat->disc_side);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
514 printf("VMG Number of Title Sets %i\n", vmgi_mat->vmg_nr_of_title_sets);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
515 printf("Provider ID: %.32s\n", vmgi_mat->provider_identifier);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
516 printf("VMG POS Code: %08x", (uint32_t)(vmgi_mat->vmg_pos_code >> 32));
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
517 printf("%08x\n", (uint32_t)vmgi_mat->vmg_pos_code);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
518 printf("End byte of VMGI_MAT: %08x\n", vmgi_mat->vmgi_last_byte);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
519 printf("Start byte of First Play PGC (FP PGC): %08x\n",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
520 vmgi_mat->first_play_pgc);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
521 printf("Start sector of VMGM_VOBS: %08x\n", vmgi_mat->vmgm_vobs);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
522 printf("Start sector of TT_SRPT: %08x\n", vmgi_mat->tt_srpt);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
523 printf("Start sector of VMGM_PGCI_UT: %08x\n", vmgi_mat->vmgm_pgci_ut);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
524 printf("Start sector of PTL_MAIT: %08x\n", vmgi_mat->ptl_mait);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
525 printf("Start sector of VTS_ATRT: %08x\n", vmgi_mat->vts_atrt);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
526 printf("Start sector of TXTDT_MG: %08x\n", vmgi_mat->txtdt_mgi);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
527 printf("Start sector of VMGM_C_ADT: %08x\n", vmgi_mat->vmgm_c_adt);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
528 printf("Start sector of VMGM_VOBU_ADMAP: %08x\n",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
529 vmgi_mat->vmgm_vobu_admap);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
530 printf("Video attributes of VMGM_VOBS: ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
531 ifo_print_video_attributes(5, &vmgi_mat->vmgm_video_attr);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
532 printf("\n");
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
533 printf("VMGM Number of Audio attributes: %i\n",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
534 vmgi_mat->nr_of_vmgm_audio_streams);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
535 if(vmgi_mat->nr_of_vmgm_audio_streams > 0) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
536 printf("\tstream %i status: ", 1);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
537 ifo_print_audio_attributes(5, &vmgi_mat->vmgm_audio_attr);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
538 printf("\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
539 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
540 printf("VMGM Number of Sub-picture attributes: %i\n",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
541 vmgi_mat->nr_of_vmgm_subp_streams);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
542 if(vmgi_mat->nr_of_vmgm_subp_streams > 0) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
543 printf("\tstream %2i status: ", 1);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
544 ifo_print_subp_attributes(5, &vmgi_mat->vmgm_subp_attr);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
545 printf("\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
546 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
547 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
548
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
549
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
550 void ifo_print_VTSI_MAT(vtsi_mat_t *vtsi_mat) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
551 int i;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
552
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
553 printf("VTS Identifier: %.12s\n", vtsi_mat->vts_identifier);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
554 printf("Last Sector of VTS: %08x\n", vtsi_mat->vts_last_sector);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
555 printf("Last Sector of VTSI: %08x\n", vtsi_mat->vtsi_last_sector);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
556 printf("Specification version number: %01x.%01x\n",
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
557 vtsi_mat->specification_version>>4,
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
558 vtsi_mat->specification_version&0xf);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
559 printf("VTS Category: %08x\n", vtsi_mat->vts_category);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
560 printf("End byte of VTSI_MAT: %08x\n", vtsi_mat->vtsi_last_byte);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
561 printf("Start sector of VTSM_VOBS: %08x\n", vtsi_mat->vtsm_vobs);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
562 printf("Start sector of VTSTT_VOBS: %08x\n", vtsi_mat->vtstt_vobs);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
563 printf("Start sector of VTS_PTT_SRPT: %08x\n", vtsi_mat->vts_ptt_srpt);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
564 printf("Start sector of VTS_PGCIT: %08x\n", vtsi_mat->vts_pgcit);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
565 printf("Start sector of VTSM_PGCI_UT: %08x\n", vtsi_mat->vtsm_pgci_ut);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
566 printf("Start sector of VTS_TMAPT: %08x\n", vtsi_mat->vts_tmapt);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
567 printf("Start sector of VTSM_C_ADT: %08x\n", vtsi_mat->vtsm_c_adt);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
568 printf("Start sector of VTSM_VOBU_ADMAP: %08x\n",vtsi_mat->vtsm_vobu_admap);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
569 printf("Start sector of VTS_C_ADT: %08x\n", vtsi_mat->vts_c_adt);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
570 printf("Start sector of VTS_VOBU_ADMAP: %08x\n", vtsi_mat->vts_vobu_admap);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
571
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
572 printf("Video attributes of VTSM_VOBS: ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
573 ifo_print_video_attributes(5, &vtsi_mat->vtsm_video_attr);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
574 printf("\n");
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
575
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
576 printf("VTSM Number of Audio attributes: %i\n",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
577 vtsi_mat->nr_of_vtsm_audio_streams);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
578 if(vtsi_mat->nr_of_vtsm_audio_streams > 0) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
579 printf("\tstream %i status: ", 1);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
580 ifo_print_audio_attributes(5, &vtsi_mat->vtsm_audio_attr);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
581 printf("\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
582 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
583
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
584 printf("VTSM Number of Sub-picture attributes: %i\n",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
585 vtsi_mat->nr_of_vtsm_subp_streams);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
586 if(vtsi_mat->nr_of_vtsm_subp_streams > 0) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
587 printf("\tstream %2i status: ", 1);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
588 ifo_print_subp_attributes(5, &vtsi_mat->vtsm_subp_attr);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
589 printf("\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
590 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
591
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
592 printf("Video attributes of VTS_VOBS: ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
593 ifo_print_video_attributes(5, &vtsi_mat->vts_video_attr);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
594 printf("\n");
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
595
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
596 printf("VTS Number of Audio attributes: %i\n",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
597 vtsi_mat->nr_of_vts_audio_streams);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
598 for(i = 0; i < vtsi_mat->nr_of_vts_audio_streams; i++) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
599 printf("\tstream %i status: ", i);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
600 ifo_print_audio_attributes(5, &vtsi_mat->vts_audio_attr[i]);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
601 printf("\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
602 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
603
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
604 printf("VTS Number of Subpicture attributes: %i\n",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
605 vtsi_mat->nr_of_vts_subp_streams);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
606 for(i = 0; i < vtsi_mat->nr_of_vts_subp_streams; i++) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
607 printf("\tstream %2i status: ", i);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
608 ifo_print_subp_attributes(5, &vtsi_mat->vts_subp_attr[i]);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
609 printf("\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
610 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
611 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
612
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
613
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
614 static void ifo_print_PGC_COMMAND_TBL(pgc_command_tbl_t *cmd_tbl) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
615 int i;
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
616
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
617 if(cmd_tbl == NULL) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
618 printf("No Command table present\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
619 return;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
620 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
621
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
622 printf("Number of Pre commands: %i\n", cmd_tbl->nr_of_pre);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
623 for(i = 0; i < cmd_tbl->nr_of_pre; i++) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
624 ifo_print_cmd(i, &cmd_tbl->pre_cmds[i]);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
625 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
626
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
627 printf("Number of Post commands: %i\n", cmd_tbl->nr_of_post);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
628 for(i = 0; i < cmd_tbl->nr_of_post; i++) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
629 ifo_print_cmd(i, &cmd_tbl->post_cmds[i]);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
630 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
631
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
632 printf("Number of Cell commands: %i\n", cmd_tbl->nr_of_cell);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
633 for(i = 0; i < cmd_tbl->nr_of_cell; i++) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
634 ifo_print_cmd(i, &cmd_tbl->cell_cmds[i]);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
635 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
636 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
637
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
638
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
639 static void ifo_print_PGC_PROGRAM_MAP(pgc_program_map_t *program_map, int nr) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
640 int i;
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
641
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
642 if(program_map == NULL) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
643 printf("No Program map present\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
644 return;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
645 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
646
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
647 for(i = 0; i < nr; i++) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
648 printf("Program %3i Entry Cell: %3i\n", i + 1, program_map[i]);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
649 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
650 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
651
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
652
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
653 static void ifo_print_CELL_PLAYBACK(cell_playback_t *cell_playback, int nr) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
654 int i;
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
655
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
656 if(cell_playback == NULL) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
657 printf("No Cell Playback info present\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
658 return;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
659 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
660
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
661 for(i=0;i<nr;i++) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
662 printf("Cell: %3i ", i + 1);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
663
13
4e610984cc3f added dvdread_print_time() and removed the file-static print_time() in nav_print.c; based on a patch by Erik Hovland org
nicodvb
parents: 4
diff changeset
664 dvdread_print_time(&cell_playback[i].playback_time);
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
665 printf("\t");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
666
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
667 if(cell_playback[i].block_mode || cell_playback[i].block_type) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
668 const char *s;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
669 switch(cell_playback[i].block_mode) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
670 case 0:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
671 s = "not a"; break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
672 case 1:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
673 s = "the first"; break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
674 case 2:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
675 default:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
676 s = ""; break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
677 case 3:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
678 s = "last"; break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
679 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
680 printf("%s cell in the block ", s);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
681
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
682 switch(cell_playback[i].block_type) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
683 case 0:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
684 printf("not part of the block ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
685 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
686 case 1:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
687 printf("angle block ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
688 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
689 case 2:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
690 case 3:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
691 printf("(send bug repport) ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
692 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
693 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
694 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
695 if(cell_playback[i].seamless_play)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
696 printf("presented seamlessly ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
697 if(cell_playback[i].interleaved)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
698 printf("cell is interleaved ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
699 if(cell_playback[i].stc_discontinuity)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
700 printf("STC_discontinuty ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
701 if(cell_playback[i].seamless_angle)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
702 printf("only seamless angle ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
703 if(cell_playback[i].playback_mode)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
704 printf("only still VOBUs ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
705 if(cell_playback[i].restricted)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
706 printf("restricted cell ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
707 if(cell_playback[i].unknown2)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
708 printf("Unknown 0x%x ", cell_playback[i].unknown2);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
709 if(cell_playback[i].still_time)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
710 printf("still time %d ", cell_playback[i].still_time);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
711 if(cell_playback[i].cell_cmd_nr)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
712 printf("cell command %d", cell_playback[i].cell_cmd_nr);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
713
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
714 printf("\n\tStart sector: %08x\tFirst ILVU end sector: %08x\n",
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
715 cell_playback[i].first_sector,
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
716 cell_playback[i].first_ilvu_end_sector);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
717 printf("\tEnd sector: %08x\tLast VOBU start sector: %08x\n",
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
718 cell_playback[i].last_sector,
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
719 cell_playback[i].last_vobu_start_sector);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
720 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
721 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
722
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
723 static void ifo_print_CELL_POSITION(cell_position_t *cell_position, int nr) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
724 int i;
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
725
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
726 if(cell_position == NULL) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
727 printf("No Cell Position info present\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
728 return;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
729 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
730
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
731 for(i=0;i<nr;i++) {
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
732 printf("Cell: %3i has VOB ID: %3i, Cell ID: %3i\n", i + 1,
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
733 cell_position[i].vob_id_nr, cell_position[i].cell_nr);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
734 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
735 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
736
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
737
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
738 void ifo_print_PGC(pgc_t *pgc) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
739 int i;
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
740
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
741 if (!pgc) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
742 printf("None\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
743 return;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
744 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
745 printf("Number of Programs: %i\n", pgc->nr_of_programs);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
746 printf("Number of Cells: %i\n", pgc->nr_of_cells);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
747 /* Check that time is 0:0:0:0 also if nr_of_programs==0 */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
748 printf("Playback time: ");
13
4e610984cc3f added dvdread_print_time() and removed the file-static print_time() in nav_print.c; based on a patch by Erik Hovland org
nicodvb
parents: 4
diff changeset
749 dvdread_print_time(&pgc->playback_time); printf("\n");
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
750
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
751 /* If no programs/no time then does this mean anything? */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
752 printf("Prohibited user operations: ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
753 ifo_print_USER_OPS(&pgc->prohibited_ops);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
754
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
755 for(i = 0; i < 8; i++) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
756 if(pgc->audio_control[i] & 0x8000) { /* The 'is present' bit */
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
757 printf("Audio stream %i control: %04x\n",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
758 i, pgc->audio_control[i]);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
759 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
760 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
761
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
762 for(i = 0; i < 32; i++) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
763 if(pgc->subp_control[i] & 0x80000000) { /* The 'is present' bit */
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
764 printf("Subpicture stream %2i control: %08x: 4:3=%d, Wide=%d, Letterbox=%d, Pan-Scan=%d\n",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
765 i, pgc->subp_control[i],
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
766 (pgc->subp_control[i] >>24) & 0x1f,
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
767 (pgc->subp_control[i] >>16) & 0x1f,
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
768 (pgc->subp_control[i] >>8) & 0x1f,
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
769 (pgc->subp_control[i] ) & 0x1f);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
770 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
771 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
772
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
773 printf("Next PGC number: %i\n", pgc->next_pgc_nr);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
774 printf("Prev PGC number: %i\n", pgc->prev_pgc_nr);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
775 printf("GoUp PGC number: %i\n", pgc->goup_pgc_nr);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
776 if(pgc->nr_of_programs != 0) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
777 printf("Still time: %i seconds (255=inf)\n", pgc->still_time);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
778 printf("PG Playback mode %02x\n", pgc->pg_playback_mode);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
779 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
780
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
781 if(pgc->nr_of_programs != 0) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
782 for(i = 0; i < 16; i++) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
783 printf("Color %2i: %08x\n", i, pgc->palette[i]);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
784 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
785 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
786
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
787 /* Memmory offsets to div. tables. */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
788 ifo_print_PGC_COMMAND_TBL(pgc->command_tbl);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
789 ifo_print_PGC_PROGRAM_MAP(pgc->program_map, pgc->nr_of_programs);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
790 ifo_print_CELL_PLAYBACK(pgc->cell_playback, pgc->nr_of_cells);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
791 ifo_print_CELL_POSITION(pgc->cell_position, pgc->nr_of_cells);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
792 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
793
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
794
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
795 void ifo_print_TT_SRPT(tt_srpt_t *tt_srpt) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
796 int i;
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
797
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
798 printf("Number of TitleTrack search pointers: %i\n",
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
799 tt_srpt->nr_of_srpts);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
800 for(i=0;i<tt_srpt->nr_of_srpts;i++) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
801 printf("Title Track index %i\n", i + 1);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
802 printf("\tTitle set number (VTS): %i",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
803 tt_srpt->title[i].title_set_nr);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
804 printf("\tVTS_TTN: %i\n", tt_srpt->title[i].vts_ttn);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
805 printf("\tNumber of PTTs: %i\n", tt_srpt->title[i].nr_of_ptts);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
806 printf("\tNumber of angles: %i\n",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
807 tt_srpt->title[i].nr_of_angles);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
808
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
809 printf("\tTitle playback type: (%02x)\n",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
810 *(uint8_t *)&(tt_srpt->title[i].pb_ty));
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
811 printf("\t\t%s\n",
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
812 tt_srpt->title[i].pb_ty.multi_or_random_pgc_title ? "Random or Shuffle" : "Sequencial");
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
813 if (tt_srpt->title[i].pb_ty.jlc_exists_in_cell_cmd) printf("\t\tJump/Link/Call exists in cell cmd\n");
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
814 if (tt_srpt->title[i].pb_ty.jlc_exists_in_prepost_cmd) printf("\t\tJump/Link/Call exists in pre/post cmd\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
815 if (tt_srpt->title[i].pb_ty.jlc_exists_in_button_cmd) printf("\t\tJump/Link/Call exists in button cmd\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
816 if (tt_srpt->title[i].pb_ty.jlc_exists_in_tt_dom) printf("\t\tJump/Link/Call exists in tt_dom cmd\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
817 printf("\t\tTitle or time play:%d\n", tt_srpt->title[i].pb_ty.title_or_time_play);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
818 printf("\t\tChapter search or play:%d\n", tt_srpt->title[i].pb_ty.chapter_search_or_play);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
819
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
820 printf("\tParental ID field: %04x\n",
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
821 tt_srpt->title[i].parental_id);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
822 printf("\tTitle set starting sector %08x\n",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
823 tt_srpt->title[i].title_set_sector);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
824 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
825 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
826
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
827
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
828 void ifo_print_VTS_PTT_SRPT(vts_ptt_srpt_t *vts_ptt_srpt) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
829 int i, j;
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
830 printf(" nr_of_srpts %i last byte %i\n",
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
831 vts_ptt_srpt->nr_of_srpts,
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
832 vts_ptt_srpt->last_byte);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
833 for(i=0;i<vts_ptt_srpt->nr_of_srpts;i++) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
834 for(j=0;j<vts_ptt_srpt->title[i].nr_of_ptts;j++) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
835 printf("VTS_PTT_SRPT - Title %3i part %3i: PGC: %3i PG: %3i\n",
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
836 i + 1, j + 1,
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
837 vts_ptt_srpt->title[i].ptt[j].pgcn,
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
838 vts_ptt_srpt->title[i].ptt[j].pgn );
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
839 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
840 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
841 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
842
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
843
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
844 static void hexdump(uint8_t *ptr, int len) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
845 while(len--)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
846 printf("%02x ", *ptr++);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
847 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
848
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
849 void ifo_print_PTL_MAIT(ptl_mait_t *ptl_mait) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
850 int i, j;
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
851
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
852 printf("Number of Countries: %i\n", ptl_mait->nr_of_countries);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
853 printf("Number of VTSs: %i\n", ptl_mait->nr_of_vtss);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
854 //printf("Last byte: %i\n", ptl_mait->last_byte);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
855
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
856 for(i = 0; i < ptl_mait->nr_of_countries; i++) {
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
857 printf("Country code: %c%c\n",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
858 ptl_mait->countries[i].country_code >> 8,
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
859 ptl_mait->countries[i].country_code & 0xff);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
860 /*
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
861 printf("Start byte: %04x %i\n",
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
862 ptl_mait->countries[i].pf_ptl_mai_start_byte,
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
863 ptl_mait->countries[i].pf_ptl_mai_start_byte);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
864 */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
865 /* This seems to be pointing at a array with 8 2byte fields per VTS
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
866 ? and one extra for the menu? always an odd number of VTSs on
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
867 all the dics I tested so it might be padding to even also.
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
868 If it is for the menu it probably the first entry. */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
869 for(j=0;j<8;j++) {
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
870 hexdump( (uint8_t *)ptl_mait->countries - PTL_MAIT_COUNTRY_SIZE
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
871 + ptl_mait->countries[i].pf_ptl_mai_start_byte
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
872 + j*(ptl_mait->nr_of_vtss+1)*2, (ptl_mait->nr_of_vtss+1)*2);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
873 printf("\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
874 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
875 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
876 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
877
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
878 void ifo_print_VTS_TMAPT(vts_tmapt_t *vts_tmapt) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
879 unsigned int timeunit;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
880 int i, j;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
881
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
882 printf("Number of VTS_TMAPS: %i\n", vts_tmapt->nr_of_tmaps);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
883 printf("Last byte: %i\n", vts_tmapt->last_byte);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
884
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
885 for(i = 0; i < vts_tmapt->nr_of_tmaps; i++) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
886 printf("TMAP %i (number matches title PGC number.)\n", i + 1);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
887 printf(" offset %d relative to VTS_TMAPTI\n", vts_tmapt->tmap_offset[i]);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
888 printf(" Time unit (seconds): %i\n", vts_tmapt->tmap[i].tmu);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
889 printf(" Number of entries: %i\n", vts_tmapt->tmap[i].nr_of_entries);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
890 timeunit = vts_tmapt->tmap[i].tmu;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
891 for(j = 0; j < vts_tmapt->tmap[i].nr_of_entries; j++) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
892 unsigned int ac_time = timeunit * (j + 1);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
893 printf("Time: %2i:%02i:%02i VOBU Sector: 0x%08x %s\n",
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
894 ac_time / (60 * 60), (ac_time / 60) % 60, ac_time % 60,
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
895 vts_tmapt->tmap[i].map_ent[j] & 0x7fffffff,
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
896 (vts_tmapt->tmap[i].map_ent[j] >> 31) ? "discontinuity" : "");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
897 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
898 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
899 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
900
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
901 void ifo_print_C_ADT(c_adt_t *c_adt) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
902 int i, entries;
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
903
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
904 printf("Number of VOBs in this VOBS: %i\n", c_adt->nr_of_vobs);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
905 //entries = c_adt->nr_of_vobs;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
906 entries = (c_adt->last_byte + 1 - C_ADT_SIZE)/sizeof(c_adt_t);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
907
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
908 for(i = 0; i < entries; i++) {
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
909 printf("VOB ID: %3i, Cell ID: %3i ",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
910 c_adt->cell_adr_table[i].vob_id, c_adt->cell_adr_table[i].cell_id);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
911 printf("Sector (first): 0x%08x (last): 0x%08x\n",
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
912 c_adt->cell_adr_table[i].start_sector,
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
913 c_adt->cell_adr_table[i].last_sector);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
914 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
915 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
916
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
917
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
918 void ifo_print_VOBU_ADMAP(vobu_admap_t *vobu_admap) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
919 int i, entries;
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
920
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
921 entries = (vobu_admap->last_byte + 1 - VOBU_ADMAP_SIZE)/4;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
922 for(i = 0; i < entries; i++) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
923 printf("VOBU %5i First sector: 0x%08x\n", i + 1,
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
924 vobu_admap->vobu_start_sectors[i]);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
925 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
926 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
927
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
928 const char *ifo_print_menu_name(int type) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
929 const char *menu_name;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
930 menu_name="";
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
931 switch (type) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
932 case 2:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
933 menu_name="Title";
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
934 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
935 case 3:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
936 menu_name = "Root";
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
937 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
938 case 4:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
939 menu_name = "Sub-Picture";
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
940 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
941 case 5:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
942 menu_name = "Audio";
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
943 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
944 case 6:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
945 menu_name = "Angle";
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
946 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
947 case 7:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
948 menu_name = "PTT (Chapter)";
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
949 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
950 default:
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
951 menu_name = "Unknown";
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
952 break;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
953 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
954 return &menu_name[0];
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
955 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
956
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
957 /* pgc_type=1 for menu, 0 for title. */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
958 void ifo_print_PGCIT(pgcit_t *pgcit, int pgc_type) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
959 int i;
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
960
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
961 printf("\nNumber of Program Chains: %3i\n", pgcit->nr_of_pgci_srp);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
962 for(i = 0; i < pgcit->nr_of_pgci_srp; i++) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
963 printf("\nProgram (PGC): %3i\n", i + 1);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
964 if (pgc_type) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
965 printf("PGC Category: Entry PGC %d, Menu Type=0x%02x:%s (Entry id 0x%02x), ",
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
966 pgcit->pgci_srp[i].entry_id >> 7,
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
967 pgcit->pgci_srp[i].entry_id & 0xf,
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
968 ifo_print_menu_name(pgcit->pgci_srp[i].entry_id & 0xf),
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
969 pgcit->pgci_srp[i].entry_id);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
970 } else {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
971 printf("PGC Category: %s VTS_TTN:0x%02x (Entry id 0x%02x), ",
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
972 pgcit->pgci_srp[i].entry_id >> 7 ? "At Start of" : "During",
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
973 pgcit->pgci_srp[i].entry_id & 0xf,
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
974 pgcit->pgci_srp[i].entry_id);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
975 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
976 printf("Parental ID mask 0x%04x\n", pgcit->pgci_srp[i].ptl_id_mask);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
977 ifo_print_PGC(pgcit->pgci_srp[i].pgc);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
978 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
979 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
980
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
981
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
982 void ifo_print_PGCI_UT(pgci_ut_t *pgci_ut) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
983 int i, menu;
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
984
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
985 printf("Number of Menu Language Units (PGCI_LU): %3i\n", pgci_ut->nr_of_lus);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
986 for(i = 0; i < pgci_ut->nr_of_lus; i++) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
987 printf("\nMenu Language Unit %d\n", i+1);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
988 printf("\nMenu Language Code: %c%c\n",
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
989 pgci_ut->lu[i].lang_code >> 8,
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
990 pgci_ut->lu[i].lang_code & 0xff);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
991
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
992 menu = pgci_ut->lu[i].exists;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
993 printf("Menu Existence: %02x: ", menu);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
994 if (menu == 0) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
995 printf("No menus ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
996 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
997 if (menu & 0x80) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
998 printf("Root ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
999 menu^=0x80;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1000 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1001 if (menu & 0x40) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1002 printf("Sub-Picture ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1003 menu^=0x40;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1004 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1005 if (menu & 0x20) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1006 printf("Audio ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1007 menu^=0x20;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1008 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1009 if (menu & 0x10) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1010 printf("Angle ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1011 menu^=0x10;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1012 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1013 if (menu & 0x08) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1014 printf("PTT ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1015 menu^=0x08;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1016 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1017 if (menu > 0) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1018 printf("Unknown extra menus ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1019 menu^=0x08;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1020 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1021 printf("\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1022 ifo_print_PGCIT(pgci_ut->lu[i].pgcit, 1);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1023 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1024 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1025
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1026
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1027 static void ifo_print_VTS_ATTRIBUTES(vts_attributes_t *vts_attributes) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1028 int i;
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
1029
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1030 printf("VTS_CAT Application type: %08x\n", vts_attributes->vts_cat);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
1031
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1032 printf("Video attributes of VTSM_VOBS: ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1033 ifo_print_video_attributes(5, &vts_attributes->vtsm_vobs_attr);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1034 printf("\n");
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
1035 printf("Number of Audio streams: %i\n",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1036 vts_attributes->nr_of_vtsm_audio_streams);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1037 if(vts_attributes->nr_of_vtsm_audio_streams > 0) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1038 printf("\tstream %i attributes: ", 1);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1039 ifo_print_audio_attributes(5, &vts_attributes->vtsm_audio_attr);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1040 printf("\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1041 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
1042 printf("Number of Subpicture streams: %i\n",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1043 vts_attributes->nr_of_vtsm_subp_streams);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1044 if(vts_attributes->nr_of_vtsm_subp_streams > 0) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1045 printf("\tstream %2i attributes: ", 1);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1046 ifo_print_subp_attributes(5, &vts_attributes->vtsm_subp_attr);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1047 printf("\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1048 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
1049
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1050 printf("Video attributes of VTSTT_VOBS: ");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1051 ifo_print_video_attributes(5, &vts_attributes->vtstt_vobs_video_attr);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1052 printf("\n");
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
1053 printf("Number of Audio streams: %i\n",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1054 vts_attributes->nr_of_vtstt_audio_streams);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1055 for(i = 0; i < vts_attributes->nr_of_vtstt_audio_streams; i++) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1056 printf("\tstream %i attributes: ", i);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1057 ifo_print_audio_attributes(5, &vts_attributes->vtstt_audio_attr[i]);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1058 printf("\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1059 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
1060
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
1061 printf("Number of Subpicture streams: %i\n",
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1062 vts_attributes->nr_of_vtstt_subp_streams);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1063 for(i = 0; i < vts_attributes->nr_of_vtstt_subp_streams; i++) {
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
1064 printf("\tstream %2i attributes: ", i);
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1065 ifo_print_subp_attributes(5, &vts_attributes->vtstt_subp_attr[i]);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1066 printf("\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1067 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1068 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1069
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1070
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1071 void ifo_print_VTS_ATRT(vts_atrt_t *vts_atrt) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1072 int i;
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
1073
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1074 printf("Number of Video Title Sets: %3i\n", vts_atrt->nr_of_vtss);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1075 for(i = 0; i < vts_atrt->nr_of_vtss; i++) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1076 printf("\nVideo Title Set %i\n", i + 1);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1077 ifo_print_VTS_ATTRIBUTES(&vts_atrt->vts[i]);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1078 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1079 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1080
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1081
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1082 void ifo_print(dvd_reader_t *dvd, int title) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1083 ifo_handle_t *ifohandle;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1084 printf("Local ifo_print\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1085 ifohandle = ifoOpen(dvd, title);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1086 if(!ifohandle) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1087 fprintf(stderr, "Can't open info file for title %d\n", title);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1088 return;
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1089 }
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
1090
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
1091
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1092 if(ifohandle->vmgi_mat) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1093
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1094 printf("VMG top level\n-------------\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1095 ifo_print_VMGI_MAT(ifohandle->vmgi_mat);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1096
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1097 printf("\nFirst Play PGC\n--------------\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1098 if(ifohandle->first_play_pgc)
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1099 ifo_print_PGC(ifohandle->first_play_pgc);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1100 else
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1101 printf("No First Play PGC present\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1102
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1103 printf("\nTitle Track search pointer table\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1104 printf( "------------------------------------------------\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1105 ifo_print_TT_SRPT(ifohandle->tt_srpt);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1106
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1107 printf("\nMenu PGCI Unit table\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1108 printf( "--------------------\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1109 if(ifohandle->pgci_ut) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1110 ifo_print_PGCI_UT(ifohandle->pgci_ut);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1111 } else {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1112 printf("No PGCI Unit table present\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1113 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1114
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1115 printf("\nParental Manegment Information table\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1116 printf( "------------------------------------\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1117 if(ifohandle->ptl_mait) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1118 ifo_print_PTL_MAIT(ifohandle->ptl_mait);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1119 } else {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1120 printf("No Parental Management Information present\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1121 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1122
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1123 printf("\nVideo Title Set Attribute Table\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1124 printf( "-------------------------------\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1125 ifo_print_VTS_ATRT(ifohandle->vts_atrt);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
1126
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1127 printf("\nText Data Manager Information\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1128 printf( "-----------------------------\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1129 if(ifohandle->txtdt_mgi) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1130 //ifo_print_TXTDT_MGI(&(vmgi->txtdt_mgi));
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1131 } else {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1132 printf("No Text Data Manager Information present\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1133 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1134
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1135 printf("\nMenu Cell Adress table\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1136 printf( "-----------------\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1137 if(ifohandle->menu_c_adt) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1138 ifo_print_C_ADT(ifohandle->menu_c_adt);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1139 } else {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1140 printf("No Menu Cell Adress table present\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1141 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1142
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1143 printf("\nVideo Manager Menu VOBU address map\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1144 printf( "-----------------\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1145 if(ifohandle->menu_vobu_admap) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1146 ifo_print_VOBU_ADMAP(ifohandle->menu_vobu_admap);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1147 } else {
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
1148 printf("No Menu VOBU address map present\n");
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1149 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1150 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1151
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1152
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1153 if(ifohandle->vtsi_mat) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1154
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1155 printf("VTS top level\n-------------\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1156 ifo_print_VTSI_MAT(ifohandle->vtsi_mat);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1157
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1158 printf("\nPart of Title Track search pointer table\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1159 printf( "----------------------------------------------\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1160 ifo_print_VTS_PTT_SRPT(ifohandle->vts_ptt_srpt);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1161
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1162 printf("\nPGCI Unit table\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1163 printf( "--------------------\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1164 ifo_print_PGCIT(ifohandle->vts_pgcit, 0);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1165
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1166 printf("\nMenu PGCI Unit table\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1167 printf( "--------------------\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1168 if(ifohandle->pgci_ut) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1169 ifo_print_PGCI_UT(ifohandle->pgci_ut);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1170 } else {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1171 printf("No Menu PGCI Unit table present\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1172 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1173
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1174 printf("\nVTS Time Map table\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1175 printf( "-----------------\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1176 if(ifohandle->vts_tmapt) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1177 ifo_print_VTS_TMAPT(ifohandle->vts_tmapt);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1178 } else {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1179 printf("No VTS Time Map table present\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1180 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1181
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1182 printf("\nMenu Cell Adress table\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1183 printf( "-----------------\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1184 if(ifohandle->menu_c_adt) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1185 ifo_print_C_ADT(ifohandle->menu_c_adt);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1186 } else {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1187 printf("No Cell Adress table present\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1188 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1189
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1190 printf("\nVideo Title Set Menu VOBU address map\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1191 printf( "-----------------\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1192 if(ifohandle->menu_vobu_admap) {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1193 ifo_print_VOBU_ADMAP(ifohandle->menu_vobu_admap);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1194 } else {
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1195 printf("No Menu VOBU address map present\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1196 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1197
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1198 printf("\nCell Adress table\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1199 printf( "-----------------\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1200 ifo_print_C_ADT(ifohandle->vts_c_adt);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1201
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1202 printf("\nVideo Title Set VOBU address map\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1203 printf( "-----------------\n");
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1204 ifo_print_VOBU_ADMAP(ifohandle->vts_vobu_admap);
20
fce16251755c Remove all trailing whitespace,
rathann
parents: 13
diff changeset
1205 }
3
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1206
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1207 ifoClose(ifohandle);
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1208 }
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1209
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1210 /*
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1211 * $Log$
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1212 * Revision 1.3 2004/10/22 11:36:19 jcdutton
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1213 * Stop seg fault when using ifo_dump.
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1214 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1215 * Revision 1.2 2004/09/27 12:24:01 jcdutton
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1216 * Add extra info to printout when using ifo_dump.
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1217 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1218 * Revision 1.1 2004/01/11 21:43:13 mroi
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1219 * big build system changes
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1220 * * cleaned up all Makefiles and added a Makefile.common
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1221 * * added relchk script
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1222 * * moved libdvdread files to a dvdread subdir
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1223 * * moved DVD VM to a vm subdir
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1224 * * removed unused code in read_cache.c
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1225 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1226 * Revision 1.4 2004/01/01 15:13:13 jcdutton
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1227 * Put ifo_print.c and .h back in.
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1228 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1229 * Revision 1.7 2003/04/28 15:17:17 jcdutton
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1230 * Update ifodump to work with new libdvdnav cvs, instead of needing libdvdread.
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1231 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1232 * Revision 1.6 2003/04/05 22:49:04 jcdutton
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1233 * Update with more info from the latest libdvdread.
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1234 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1235 * Revision 1.5 2003/04/05 13:03:49 jcdutton
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1236 * Small updates.
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1237 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1238 * Revision 1.4 2003/04/01 08:01:03 jcdutton
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1239 * Add VTS Time map display. Requires libdvdread 0.9.4. The same version that comes with xine.
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1240 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1241 * Revision 1.3 2003/03/14 15:49:18 mroi
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1242 * adjust to new libdvdread version
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1243 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1244 * Revision 1.2 2002/08/30 05:12:33 jcdutton
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1245 * Minor update now that I know what PGC Entry IDs are for.
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1246 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1247 * Revision 1.1.1.1 2002/08/28 09:48:35 jcdutton
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1248 * Initial import into CVS.
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1249 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1250 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1251 *
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1252 */
fdbae45c30fc moved to src/ the sources files
nicodvb
parents:
diff changeset
1253