annotate dvdread/libdvdread_changes.diff @ 24054:6e218aef8e05

Sync local diff with current version.
author diego
date Wed, 15 Aug 2007 12:25:39 +0000
parents ae0f4c4e4d9d
children 5b9dcfa2d0f0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
1 --- dvdread.orig/bswap.h 2005-09-19 16:14:34.000000000 +0200
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
2 +++ dvdread/bswap.h 2007-08-06 12:45:06.000000000 +0200
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
3 @@ -76,13 +80,51 @@
15875
50960b929dd0 update mplayer specific libdvdread diff to match v0.9.4
aurel
parents: 15535
diff changeset
4 #define B2N_32(x) x = be32toh(x)
50960b929dd0 update mplayer specific libdvdread diff to match v0.9.4
aurel
parents: 15535
diff changeset
5 #define B2N_64(x) x = be64toh(x)
14937
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
6
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
7 +#elif defined(ARCH_X86)
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
8 +inline static unsigned short bswap_16(unsigned short x)
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
9 +{
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
10 + __asm("xchgb %b0,%h0" :
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
11 + "=q" (x) :
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
12 + "0" (x));
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
13 + return x;
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
14 +}
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
15 +#define B2N_16(x) x = bswap_16(x)
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
16 +
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
17 +inline static unsigned int bswap_32(unsigned int x)
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
18 +{
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
19 + __asm(
21592
ae0f4c4e4d9d __CPU__ will be x86-64 under amd64 and fail the check "#if __CPU__ > 386".
diego
parents: 20983
diff changeset
20 +#if __CPU__ != 386
14937
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
21 + "bswap %0":
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
22 + "=r" (x) :
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
23 +#else
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
24 + "xchgb %b0,%h0\n"
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
25 + " rorl $16,%0\n"
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
26 + " xchgb %b0,%h0":
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
27 + "=q" (x) :
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
28 +#endif
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
29 + "0" (x));
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
30 + return x;
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
31 +}
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
32 +#define B2N_32(x) x = bswap_32(x)
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
33 +
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
34 +inline static unsigned long long int bswap_64(unsigned long long int x)
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
35 +{
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
36 + register union { __extension__ uint64_t __ll;
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
37 + uint32_t __l[2]; } __x;
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
38 + asm("xchgl %0,%1":
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
39 + "=r"(__x.__l[0]),"=r"(__x.__l[1]):
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
40 + "0"(bswap_32((unsigned long)x)),"1"(bswap_32((unsigned long)(x>>32))));
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
41 + return __x.__ll;
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
42 +}
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
43 +#define B2N_64(x) x = bswap_64(x)
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
44 +
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
45 /* This is a slow but portable implementation, it has multiple evaluation
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
46 * problems so beware.
15875
50960b929dd0 update mplayer specific libdvdread diff to match v0.9.4
aurel
parents: 15535
diff changeset
47 * Old FreeBSD's and Solaris don't have <byteswap.h> or any other such
14937
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
48 * functionality!
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
49 */
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
50
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
51 -#elif defined(__FreeBSD__) || defined(__sun) || defined(__bsdi__) || defined(WIN32) || defined(__BEOS__) || defined(__INTERIX)
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
52 +#elif defined(__FreeBSD__) || defined(__sun) || defined(__bsdi__) || defined(WIN32) || defined(__BEOS__) || defined(__INTERIX) || defined(__CYGWIN__)
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
53 #define B2N_16(x) \
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
54 x = ((((x) & 0xff00) >> 8) | \
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
55 (((x) & 0x00ff) << 8))
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
56
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
57 --- dvdread.orig/dvd_reader.c 2007-08-06 13:34:37.000000000 +0200
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
58 +++ dvdread/dvd_reader.c 2007-08-06 13:35:19.000000000 +0200
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
59 @@ -33,18 +37,30 @@
15875
50960b929dd0 update mplayer specific libdvdread diff to match v0.9.4
aurel
parents: 15535
diff changeset
60 #include <limits.h>
50960b929dd0 update mplayer specific libdvdread diff to match v0.9.4
aurel
parents: 15535
diff changeset
61 #include <dirent.h>
50960b929dd0 update mplayer specific libdvdread diff to match v0.9.4
aurel
parents: 15535
diff changeset
62
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
63 -#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__bsdi__) || defined(__DARWIN__)
17311
b1b8ff93dc0c Update with current changes.
diego
parents: 16847
diff changeset
64 +#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__bsdi__) || defined(__DARWIN__) || defined(__DragonFly__)
15875
50960b929dd0 update mplayer specific libdvdread diff to match v0.9.4
aurel
parents: 15535
diff changeset
65 #define SYS_BSD 1
50960b929dd0 update mplayer specific libdvdread diff to match v0.9.4
aurel
parents: 15535
diff changeset
66 #endif
14937
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
67
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
68 #if defined(__sun)
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
69 #include <sys/mnttab.h>
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
70 +#elif defined(hpux)
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
71 +#include </usr/conf/h/mnttab.h>
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
72 #elif defined(SYS_BSD)
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
73 #include <fstab.h>
15535
5b5ca5c4f381 Update for latest Cygwin-related changes.
diego
parents: 14937
diff changeset
74 -#elif defined(__linux__)
5b5ca5c4f381 Update for latest Cygwin-related changes.
diego
parents: 14937
diff changeset
75 +#elif defined(__linux__) || defined(__CYGWIN__)
14937
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
76 #include <mntent.h>
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
77 #endif
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
78
18910
5f31565951f7 MinGW 3.1 has added gettimeofday.
diego
parents: 18909
diff changeset
79 +#if defined(__MINGW32__) && (__MINGW32_MAJOR_VERSION <= 3) && (__MINGW32_MINOR_VERSION < 10)
14937
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
80 +#include <sys/timeb.h>
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
81 +static void gettimeofday(struct timeval* t,void* timezone){
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
82 + struct timeb timebuffer;
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
83 + ftime( &timebuffer );
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
84 + t->tv_sec=timebuffer.time;
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
85 + t->tv_usec=1000*timebuffer.millitm;
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
86 +}
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
87 +#endif
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
88 +
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
89 #include "dvd_reader.h"
14937
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
90 #include "dvd_input.h"
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
91 #include "dvd_udf.h"
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
92 @@ -52,7 +68,7 @@
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
93
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
94 #include "dvdread_internal.h"
15875
50960b929dd0 update mplayer specific libdvdread diff to match v0.9.4
aurel
parents: 15535
diff changeset
95
50960b929dd0 update mplayer specific libdvdread diff to match v0.9.4
aurel
parents: 15535
diff changeset
96 -#define DEFAULT_UDF_CACHE_LEVEL 1
50960b929dd0 update mplayer specific libdvdread diff to match v0.9.4
aurel
parents: 15535
diff changeset
97 +#define DEFAULT_UDF_CACHE_LEVEL 0
50960b929dd0 update mplayer specific libdvdread diff to match v0.9.4
aurel
parents: 15535
diff changeset
98
50960b929dd0 update mplayer specific libdvdread diff to match v0.9.4
aurel
parents: 15535
diff changeset
99 struct dvd_reader_s {
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
100 /* Basic information. */
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
101 @@ -402,6 +418,11 @@
16510
881e136ebf1a add FreeBSD default cd/dvd devices
nexus
parents: 15875
diff changeset
102 Darwin /dev/rdisk0, it needs to be the raw device
881e136ebf1a add FreeBSD default cd/dvd devices
nexus
parents: 15875
diff changeset
103 BSD/OS /dev/sr0c (if not mounted) or /dev/rsr0c ('c' any letter will do) */
881e136ebf1a add FreeBSD default cd/dvd devices
nexus
parents: 15875
diff changeset
104 static char *bsd_block2char( const char *path )
881e136ebf1a add FreeBSD default cd/dvd devices
nexus
parents: 15875
diff changeset
105 +#if defined(__FreeBSD__)
881e136ebf1a add FreeBSD default cd/dvd devices
nexus
parents: 15875
diff changeset
106 +{
881e136ebf1a add FreeBSD default cd/dvd devices
nexus
parents: 15875
diff changeset
107 + return (char *) strdup( path );
881e136ebf1a add FreeBSD default cd/dvd devices
nexus
parents: 15875
diff changeset
108 +}
881e136ebf1a add FreeBSD default cd/dvd devices
nexus
parents: 15875
diff changeset
109 +#else
881e136ebf1a add FreeBSD default cd/dvd devices
nexus
parents: 15875
diff changeset
110 {
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
111 char *new_path;
14937
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
112
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
113 @@ -416,6 +437,7 @@
14937
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
114
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
115 return new_path;
16510
881e136ebf1a add FreeBSD default cd/dvd devices
nexus
parents: 15875
diff changeset
116 }
881e136ebf1a add FreeBSD default cd/dvd devices
nexus
parents: 15875
diff changeset
117 +#endif /* __FreeBSD__ */
881e136ebf1a add FreeBSD default cd/dvd devices
nexus
parents: 15875
diff changeset
118 #endif
881e136ebf1a add FreeBSD default cd/dvd devices
nexus
parents: 15875
diff changeset
119
14937
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
120
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
121 @@ -481,7 +503,7 @@
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
122 char *path_copy;
15535
5b5ca5c4f381 Update for latest Cygwin-related changes.
diego
parents: 14937
diff changeset
123 #if defined(SYS_BSD)
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
124 struct fstab* fe;
15535
5b5ca5c4f381 Update for latest Cygwin-related changes.
diego
parents: 14937
diff changeset
125 -#elif defined(__sun) || defined(__linux__)
5b5ca5c4f381 Update for latest Cygwin-related changes.
diego
parents: 14937
diff changeset
126 +#elif defined(__sun) || defined(__linux__) || defined(__CYGWIN__)
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
127 FILE *mntfile;
15535
5b5ca5c4f381 Update for latest Cygwin-related changes.
diego
parents: 14937
diff changeset
128 #endif
5b5ca5c4f381 Update for latest Cygwin-related changes.
diego
parents: 14937
diff changeset
129
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
130 @@ -585,7 +607,7 @@
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
131 }
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
132 fclose( mntfile );
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
133 }
15535
5b5ca5c4f381 Update for latest Cygwin-related changes.
diego
parents: 14937
diff changeset
134 -#elif defined(__linux__)
5b5ca5c4f381 Update for latest Cygwin-related changes.
diego
parents: 14937
diff changeset
135 +#elif defined(__linux__) || defined(__CYGWIN__)
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
136 mntfile = fopen( MOUNTED, "r" );
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
137 if( mntfile ) {
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
138 struct mntent *me;
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
139 @@ -610,6 +632,9 @@
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
140 }
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
141 fclose( mntfile );
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
142 }
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
143 +#elif defined(__MINGW32__)
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
144 + dev_name = strdup(path);
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
145 + auth_drive = DVDOpenImageFile( path, have_css );
14937
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
146 #endif
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
147 if( !dev_name ) {
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
148 if(verbose >= 1) {
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
149 @@ -828,8 +853,8 @@
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
150 }
14937
d18e40806248 MPlayer-specific changes to libdvdread
diego
parents:
diff changeset
151
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
152 if( dvd->css_state == 1 /* Need key init */ ) {
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
153 - initAllCSSKeys( dvd );
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
154 - dvd->css_state = 2;
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
155 +// initAllCSSKeys( dvd );
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
156 +// dvd->css_state = 2;
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
157 }
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
158 /*
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
159 if( dvdinput_title( dvd_file->dvd->dev, (int)start ) < 0 ) {
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
160
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
161 --- dvdread.orig/dvdread_internal.h 2005-09-12 21:42:12.000000000 +0200
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
162 +++ dvdread/dvdread_internal.h 2007-08-06 12:57:08.000000000 +0200
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
163 @@ -3,12 +3,7 @@
15875
50960b929dd0 update mplayer specific libdvdread diff to match v0.9.4
aurel
parents: 15535
diff changeset
164 #define DVDREAD_INTERNAL_H
50960b929dd0 update mplayer specific libdvdread diff to match v0.9.4
aurel
parents: 15535
diff changeset
165
50960b929dd0 update mplayer specific libdvdread diff to match v0.9.4
aurel
parents: 15535
diff changeset
166
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
167 -#define CHECK_VALUE(arg) \
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
168 - if(!(arg)) { \
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
169 - fprintf(stderr, "\n*** libdvdread: CHECK_VALUE failed in %s:%i ***" \
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
170 - "\n*** for %s ***\n\n", \
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
171 - __FILE__, __LINE__, # arg ); \
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
172 - }
15875
50960b929dd0 update mplayer specific libdvdread diff to match v0.9.4
aurel
parents: 15535
diff changeset
173 +#define CHECK_VALUE(arg)
50960b929dd0 update mplayer specific libdvdread diff to match v0.9.4
aurel
parents: 15535
diff changeset
174
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
175
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
176 int get_verbose(void);
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
177
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
178 --- dvdread.orig/ifo_print.c 2005-09-15 18:54:29.000000000 +0200
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
179 +++ dvdread/ifo_print.c 2007-08-06 12:52:32.000000000 +0200
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
180 @@ -793,14 +797,14 @@
16659
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
181 ifoPrint_USER_OPS(&pgc->prohibited_ops);
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
182
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
183 for(i = 0; i < 8; i++) {
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
184 - if(pgc->audio_control[i] & 0x8000) { /* The 'is present' bit */
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
185 + if(pgc->audio_control[i].present) { /* The 'is present' bit */
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
186 printf("Audio stream %i control: %04x\n",
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
187 i, pgc->audio_control[i]);
16659
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
188 }
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
189 }
16659
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
190
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
191 for(i = 0; i < 32; i++) {
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
192 - if(pgc->subp_control[i] & 0x80000000) { /* The 'is present' bit */
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
193 + if(pgc->subp_control[i].present) { /* The 'is present' bit */
16659
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
194 printf("Subpicture stream %2i control: %08x\n",
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
195 i, pgc->subp_control[i]);
16659
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
196 }
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
197
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
198 --- dvdread.orig/ifo_read.c 2006-01-22 13:19:19.000000000 +0100
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
199 +++ dvdread/ifo_read.c 2007-08-06 13:15:55.000000000 +0200
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
200 @@ -110,7 +114,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
201 ifo_handle_t *ifoOpen(dvd_reader_t *dvd, int title) {
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
202 ifo_handle_t *ifofile;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
203
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
204 - ifofile = (ifo_handle_t *)malloc(sizeof(ifo_handle_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
205 + ifofile = malloc(sizeof(ifo_handle_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
206 if(!ifofile)
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
207 return NULL;
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
208
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
209 @@ -240,7 +244,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
210 ifo_handle_t *ifoOpenVMGI(dvd_reader_t *dvd) {
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
211 ifo_handle_t *ifofile;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
212
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
213 - ifofile = (ifo_handle_t *)malloc(sizeof(ifo_handle_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
214 + ifofile = malloc(sizeof(ifo_handle_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
215 if(!ifofile)
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
216 return NULL;
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
217
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
218 @@ -292,7 +296,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
219 ifo_handle_t *ifoOpenVTSI(dvd_reader_t *dvd, int title) {
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
220 ifo_handle_t *ifofile;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
221
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
222 - ifofile = (ifo_handle_t *)malloc(sizeof(ifo_handle_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
223 + ifofile = malloc(sizeof(ifo_handle_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
224 if(!ifofile)
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
225 return NULL;
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
226
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
227 @@ -382,7 +386,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
228 static int ifoRead_VMG(ifo_handle_t *ifofile) {
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
229 vmgi_mat_t *vmgi_mat;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
230
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
231 - vmgi_mat = (vmgi_mat_t *)malloc(sizeof(vmgi_mat_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
232 + vmgi_mat = malloc(sizeof(vmgi_mat_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
233 if(!vmgi_mat)
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
234 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
235
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
236 @@ -473,7 +477,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
237 vtsi_mat_t *vtsi_mat;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
238 int i;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
239
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
240 - vtsi_mat = (vtsi_mat_t *)malloc(sizeof(vtsi_mat_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
241 + vtsi_mat = malloc(sizeof(vtsi_mat_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
242 if(!vtsi_mat)
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
243 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
244
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
245 @@ -606,7 +610,7 @@
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
246
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
247 if(cmd_tbl->nr_of_pre != 0) {
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
248 unsigned int pre_cmds_size = cmd_tbl->nr_of_pre * COMMAND_DATA_SIZE;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
249 - cmd_tbl->pre_cmds = (vm_cmd_t *)malloc(pre_cmds_size);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
250 + cmd_tbl->pre_cmds = malloc(pre_cmds_size);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
251 if(!cmd_tbl->pre_cmds)
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
252 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
253
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
254 @@ -618,7 +622,7 @@
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
255
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
256 if(cmd_tbl->nr_of_post != 0) {
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
257 unsigned int post_cmds_size = cmd_tbl->nr_of_post * COMMAND_DATA_SIZE;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
258 - cmd_tbl->post_cmds = (vm_cmd_t *)malloc(post_cmds_size);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
259 + cmd_tbl->post_cmds = malloc(post_cmds_size);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
260 if(!cmd_tbl->post_cmds) {
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
261 if(cmd_tbl->pre_cmds)
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
262 free(cmd_tbl->pre_cmds);
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
263 @@ -634,7 +638,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
264
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
265 if(cmd_tbl->nr_of_cell != 0) {
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
266 unsigned int cell_cmds_size = cmd_tbl->nr_of_cell * COMMAND_DATA_SIZE;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
267 - cmd_tbl->cell_cmds = (vm_cmd_t *)malloc(cell_cmds_size);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
268 + cmd_tbl->cell_cmds = malloc(cell_cmds_size);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
269 if(!cmd_tbl->cell_cmds) {
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
270 if(cmd_tbl->pre_cmds)
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
271 free(cmd_tbl->pre_cmds);
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
272 @@ -751,10 +755,6 @@
16659
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
273 B2N_16(pgc->cell_playback_offset);
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
274 B2N_16(pgc->cell_position_offset);
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
275
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
276 - for(i = 0; i < 8; i++)
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
277 - B2N_16(pgc->audio_control[i]);
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
278 - for(i = 0; i < 32; i++)
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
279 - B2N_32(pgc->subp_control[i]);
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
280 for(i = 0; i < 16; i++)
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
281 B2N_32(pgc->palette[i]);
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
282
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
283 @@ -763,10 +763,10 @@
16659
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
284
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
285 /* verify time (look at print_time) */
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
286 for(i = 0; i < 8; i++)
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
287 - if(!pgc->audio_control[i] & 0x8000) /* The 'is present' bit */
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
288 + if(!pgc->audio_control[i].present)
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
289 CHECK_ZERO(pgc->audio_control[i]);
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
290 for(i = 0; i < 32; i++)
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
291 - if(!pgc->subp_control[i] & 0x80000000) /* The 'is present' bit */
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
292 + if(!pgc->subp_control[i].present)
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
293 CHECK_ZERO(pgc->subp_control[i]);
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
294
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
295 /* Check that time is 0:0:0:0 also if nr_of_programs == 0 */
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
296 @@ -880,7 +880,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
297 if(ifofile->vmgi_mat->first_play_pgc == 0)
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
298 return 1;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
299
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
300 - ifofile->first_play_pgc = (pgc_t *)malloc(sizeof(pgc_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
301 + ifofile->first_play_pgc = malloc(sizeof(pgc_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
302 if(!ifofile->first_play_pgc)
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
303 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
304
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
305 @@ -934,7 +934,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
306 if(!DVDFileSeek_(ifofile->file, ifofile->vmgi_mat->tt_srpt * DVD_BLOCK_LEN))
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
307 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
308
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
309 - tt_srpt = (tt_srpt_t *)malloc(sizeof(tt_srpt_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
310 + tt_srpt = malloc(sizeof(tt_srpt_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
311 if(!tt_srpt)
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
312 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
313
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
314 @@ -953,7 +953,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
315
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
316 info_length = tt_srpt->last_byte + 1 - TT_SRPT_SIZE;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
317
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
318 - tt_srpt->title = (title_info_t *)malloc(info_length);
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
319 + tt_srpt->title = malloc(info_length);
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
320 if(!tt_srpt->title) {
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
321 free(tt_srpt);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
322 ifofile->tt_srpt = 0;
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
323 @@ -1040,7 +1040,7 @@
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
324 ifofile->vtsi_mat->vts_ptt_srpt * DVD_BLOCK_LEN))
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
325 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
326
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
327 - vts_ptt_srpt = (vts_ptt_srpt_t *)malloc(sizeof(vts_ptt_srpt_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
328 + vts_ptt_srpt = malloc(sizeof(vts_ptt_srpt_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
329 if(!vts_ptt_srpt)
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
330 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
331
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
332 @@ -1063,7 +1063,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
333
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
334 info_length = vts_ptt_srpt->last_byte + 1 - VTS_PTT_SRPT_SIZE;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
335
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
336 - data = (uint32_t *)malloc(info_length);
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
337 + data = malloc(info_length);
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
338 if(!data) {
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
339 free(vts_ptt_srpt);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
340 ifofile->vts_ptt_srpt = 0;
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
341 @@ -1183,7 +1183,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
342 if(!DVDFileSeek_(ifofile->file, ifofile->vmgi_mat->ptl_mait * DVD_BLOCK_LEN))
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
343 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
344
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
345 - ptl_mait = (ptl_mait_t *)malloc(sizeof(ptl_mait_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
346 + ptl_mait = malloc(sizeof(ptl_mait_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
347 if(!ptl_mait)
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
348 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
349
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
350 @@ -1207,7 +1207,7 @@
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
351 <= ptl_mait->last_byte + 1 - PTL_MAIT_SIZE);
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
352
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
353 info_length = ptl_mait->nr_of_countries * sizeof(ptl_mait_country_t);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
354 - ptl_mait->countries = (ptl_mait_country_t *)malloc(info_length);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
355 + ptl_mait->countries = malloc(info_length);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
356 if(!ptl_mait->countries) {
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
357 free(ptl_mait);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
358 ifofile->ptl_mait = 0;
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
359 @@ -1252,7 +1252,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
360 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
361 }
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
362 info_length = (ptl_mait->nr_of_vtss + 1) * sizeof(pf_level_t);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
363 - pf_temp = (uint16_t *)malloc(info_length);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
364 + pf_temp = malloc(info_length);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
365 if(!pf_temp) {
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
366 for(j = 0; j < i ; j++) {
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
367 free(ptl_mait->countries[j].pf_ptl_mai);
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
368 @@ -1276,7 +1276,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
369 for (j = 0; j < ((ptl_mait->nr_of_vtss + 1) * 8); j++) {
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
370 B2N_16(pf_temp[j]);
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
371 }
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
372 - ptl_mait->countries[i].pf_ptl_mai = (pf_level_t *)malloc(info_length);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
373 + ptl_mait->countries[i].pf_ptl_mai = malloc(info_length);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
374 if(!ptl_mait->countries[i].pf_ptl_mai) {
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
375 free(pf_temp);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
376 for(j = 0; j < i ; j++) {
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
377 @@ -1340,7 +1340,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
378 if(!DVDFileSeek_(ifofile->file, offset))
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
379 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
380
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
381 - vts_tmapt = (vts_tmapt_t *)malloc(sizeof(vts_tmapt_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
382 + vts_tmapt = malloc(sizeof(vts_tmapt_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
383 if(!vts_tmapt)
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
384 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
385
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
386 @@ -1362,7 +1362,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
387
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
388 info_length = vts_tmapt->nr_of_tmaps * 4;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
389
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
390 - vts_tmap_srp = (uint32_t *)malloc(info_length);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
391 + vts_tmap_srp = malloc(info_length);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
392 if(!vts_tmap_srp) {
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
393 free(vts_tmapt);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
394 ifofile->vts_tmapt = NULL;
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
395 @@ -1388,7 +1388,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
396
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
397 info_length = vts_tmapt->nr_of_tmaps * sizeof(vts_tmap_t);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
398
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
399 - vts_tmapt->tmap = (vts_tmap_t *)malloc(info_length);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
400 + vts_tmapt->tmap = malloc(info_length);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
401 if(!vts_tmapt->tmap) {
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
402 free(vts_tmap_srp);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
403 free(vts_tmapt);
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
404 @@ -1422,7 +1422,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
405
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
406 info_length = vts_tmapt->tmap[i].nr_of_entries * sizeof(map_ent_t);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
407
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
408 - vts_tmapt->tmap[i].map_ent = (map_ent_t *)malloc(info_length);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
409 + vts_tmapt->tmap[i].map_ent = malloc(info_length);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
410 if(!vts_tmapt->tmap[i].map_ent) {
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
411 ifoFree_VTS_TMAPT(ifofile);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
412 return 0;
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
413 @@ -1472,7 +1472,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
414 if(ifofile->vtsi_mat->vts_c_adt == 0) /* mandatory */
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
415 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
416
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
417 - ifofile->vts_c_adt = (c_adt_t *)malloc(sizeof(c_adt_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
418 + ifofile->vts_c_adt = malloc(sizeof(c_adt_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
419 if(!ifofile->vts_c_adt)
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
420 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
421
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
422 @@ -1504,7 +1504,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
423 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
424 }
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
425
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
426 - ifofile->menu_c_adt = (c_adt_t *)malloc(sizeof(c_adt_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
427 + ifofile->menu_c_adt = malloc(sizeof(c_adt_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
428 if(!ifofile->menu_c_adt)
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
429 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
430
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
431 @@ -1548,7 +1548,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
432 c_adt->nr_of_vobs = info_length / sizeof(cell_adr_t);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
433 }
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
434
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
435 - c_adt->cell_adr_table = (cell_adr_t *)malloc(info_length);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
436 + c_adt->cell_adr_table = malloc(info_length);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
437 if(!c_adt->cell_adr_table)
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
438 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
439
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
440 @@ -1608,7 +1608,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
441 if(ifofile->vtsi_mat->vts_vobu_admap == 0) /* mandatory */
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
442 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
443
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
444 - ifofile->vts_vobu_admap = (vobu_admap_t *)malloc(sizeof(vobu_admap_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
445 + ifofile->vts_vobu_admap = malloc(sizeof(vobu_admap_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
446 if(!ifofile->vts_vobu_admap)
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
447 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
448
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
449 @@ -1640,7 +1640,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
450 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
451 }
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
452
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
453 - ifofile->menu_vobu_admap = (vobu_admap_t *)malloc(sizeof(vobu_admap_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
454 + ifofile->menu_vobu_admap = malloc(sizeof(vobu_admap_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
455 if(!ifofile->menu_vobu_admap)
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
456 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
457
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
458 @@ -1673,7 +1673,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
459 Titles with a VOBS that has no VOBUs. */
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
460 CHECK_VALUE(info_length % sizeof(uint32_t) == 0);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
461
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
462 - vobu_admap->vobu_start_sectors = (uint32_t *)malloc(info_length);
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
463 + vobu_admap->vobu_start_sectors = malloc(info_length);
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
464 if(!vobu_admap->vobu_start_sectors) {
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
465 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
466 }
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
467 @@ -1725,7 +1725,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
468 if(ifofile->vtsi_mat->vts_pgcit == 0) /* mandatory */
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
469 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
470
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
471 - ifofile->vts_pgcit = (pgcit_t *)malloc(sizeof(pgcit_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
472 + ifofile->vts_pgcit = malloc(sizeof(pgcit_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
473 if(!ifofile->vts_pgcit)
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
474 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
475
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
476 @@ -1860,7 +1860,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
477 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
478 }
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
479
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
480 - ifofile->pgci_ut = (pgci_ut_t *)malloc(sizeof(pgci_ut_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
481 + ifofile->pgci_ut = malloc(sizeof(pgci_ut_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
482 if(!ifofile->pgci_ut)
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
483 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
484
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
485 @@ -2050,7 +2050,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
486 if(!DVDFileSeek_(ifofile->file, sector * DVD_BLOCK_LEN))
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
487 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
488
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
489 - vts_atrt = (vts_atrt_t *)malloc(sizeof(vts_atrt_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
490 + vts_atrt = malloc(sizeof(vts_atrt_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
491 if(!vts_atrt)
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
492 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
493
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
494 @@ -2072,7 +2072,7 @@
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
495 VTS_ATRT_SIZE < vts_atrt->last_byte + 1);
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
496
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
497 info_length = vts_atrt->nr_of_vtss * sizeof(uint32_t);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
498 - data = (uint32_t *)malloc(info_length);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
499 + data = malloc(info_length);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
500 if(!data) {
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
501 free(vts_atrt);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
502 ifofile->vts_atrt = 0;
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
503 @@ -2094,7 +2094,7 @@
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
504 }
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
505
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
506 info_length = vts_atrt->nr_of_vtss * sizeof(vts_attributes_t);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
507 - vts_atrt->vts = (vts_attributes_t *)malloc(info_length);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
508 + vts_atrt->vts = malloc(info_length);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
509 if(!vts_atrt->vts) {
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
510 free(data);
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
511 free(vts_atrt);
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
512 @@ -2150,7 +2150,7 @@
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
513 ifofile->vmgi_mat->txtdt_mgi * DVD_BLOCK_LEN))
20790
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
514 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
515
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
516 - txtdt_mgi = (txtdt_mgi_t *)malloc(sizeof(txtdt_mgi_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
517 + txtdt_mgi = malloc(sizeof(txtdt_mgi_t));
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
518 if(!txtdt_mgi) {
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
519 return 0;
94c424e7974f Update for malloc cast changes.
diego
parents: 20787
diff changeset
520 }
16659
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
521
15875
50960b929dd0 update mplayer specific libdvdread diff to match v0.9.4
aurel
parents: 15535
diff changeset
522 --- dvdread.orig/ifo_types.h 2005-06-23 00:18:54.000000000 +0200
50960b929dd0 update mplayer specific libdvdread diff to match v0.9.4
aurel
parents: 15535
diff changeset
523 +++ dvdread/ifo_types.h 2005-06-23 00:19:10.000000000 +0200
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
524 @@ -403,6 +407,55 @@
16659
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
525 } ATTRIBUTE_PACKED user_ops_t;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
526
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
527 /**
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
528 + * Subpicture stream mapping for a subtitle
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
529 + */
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
530 +typedef struct {
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
531 +#ifdef WORDS_BIGENDIAN
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
532 + unsigned int present : 1;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
533 + unsigned int zero1 : 2;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
534 + unsigned int s_4p3 : 5; /* stream for 4:3 on any display */
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
535 +
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
536 + unsigned int zero2 : 3;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
537 + unsigned int s_wide : 5; /* stream for 16:9 on widescreen display */
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
538 +
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
539 + unsigned int zero3 : 3;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
540 + unsigned int s_lbox : 5; /* stream for 16:9 on letterboxed 4:3 display */
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
541 +
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
542 + unsigned int zero4 : 3;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
543 + unsigned int s_panscan : 5; /* stream for 16:9 with pan&scan data on 4:3 display */
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
544 +#else
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
545 + unsigned int s_4p3 : 5; /* stream for 4:3 on any display */
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
546 + unsigned int zero1 : 2;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
547 + unsigned int present : 1;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
548 +
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
549 + unsigned int s_wide : 5; /* stream for 16:9 on widescreen display */
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
550 + unsigned int zero2 : 3;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
551 +
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
552 + unsigned int s_lbox : 5; /* stream for 16:9 on letterboxed 4:3 display */
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
553 + unsigned int zero3 : 3;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
554 +
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
555 + unsigned int s_panscan : 5; /* stream for 16:9 with pan&scan data on 4:3 display */
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
556 + unsigned int zero4 : 3;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
557 +#endif
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
558 +} ATTRIBUTE_PACKED subp_mapping_t;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
559 +
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
560 +/**
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
561 + * Audio stream mapping for a soundtrack
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
562 + */
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
563 +typedef struct {
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
564 +#ifdef WORDS_BIGENDIAN
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
565 + unsigned int present : 1;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
566 + unsigned int zero1 : 4;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
567 + unsigned int s_audio : 3;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
568 +#else
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
569 + unsigned int s_audio : 3;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
570 + unsigned int zero1 : 4;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
571 + unsigned int present : 1;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
572 +#endif
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
573 + uint8_t zero2;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
574 +} ATTRIBUTE_PACKED audio_mapping_t;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
575 +
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
576 +/**
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
577 * Program Chain Information.
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
578 */
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
579 typedef struct {
24054
6e218aef8e05 Sync local diff with current version.
diego
parents: 21592
diff changeset
580 @@ -411,8 +464,8 @@
16659
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
581 uint8_t nr_of_cells;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
582 dvd_time_t playback_time;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
583 user_ops_t prohibited_ops;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
584 - uint16_t audio_control[8]; /* New type? */
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
585 - uint32_t subp_control[32]; /* New type? */
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
586 + audio_mapping_t audio_control[8];
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
587 + subp_mapping_t subp_control[32];
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
588 uint16_t next_pgc_nr;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
589 uint16_t prev_pgc_nr;
f734c20de10a Add changes from last patch (stream mapping).
reimar
parents: 16510
diff changeset
590 uint16_t goup_pgc_nr;