Mercurial > mplayer.hg
comparison DOCS/xml/en/cd-dvd.xml @ 24324:b5e9d6f2eb01
Remove technical description of DVDs and libdvdread implementation.
It is out of place in the user-level documentation and there are
more exhaustive sources elsewhere.
author | diego |
---|---|
date | Wed, 05 Sep 2007 12:56:23 +0000 |
parents | c6a4135b87bb |
children | ff2f302a176b |
comparison
equal
deleted
inserted
replaced
24323:ddd7774aa043 | 24324:b5e9d6f2eb01 |
---|---|
138 | 138 |
139 <note><para> | 139 <note><para> |
140 In case of DVD decoding problems, try disabling supermount, or any other such | 140 In case of DVD decoding problems, try disabling supermount, or any other such |
141 facilities. Some RPC-2 drives may also require setting the region code. | 141 facilities. Some RPC-2 drives may also require setting the region code. |
142 </para></note> | 142 </para></note> |
143 | |
144 <formalpara> | |
145 <title>DVD structure</title> | |
146 <para> | |
147 DVD disks have 2048 bytes per sector with ECC/CRC. They usually have an UDF | |
148 filesystem on a single track, containing various files (small .IFO and .BUP | |
149 files and big (1GB) .VOB files). They are real files and can be copied/played | |
150 from the mounted filesystem of an unencrypted DVD. | |
151 </para> | |
152 </formalpara> | |
153 | |
154 <para> | |
155 The .IFO files contain the movie navigation information (chapter/title/angle | |
156 map, language table, etc) and are needed to read and interpret the .VOB content | |
157 (movie). The .BUP files are backups of them. They use | |
158 <emphasis role="bold">sectors</emphasis> everywhere, so you need to use raw | |
159 addressing of sectors of the disc to implement DVD navigation or decrypt the | |
160 content. | |
161 </para> | |
162 | |
163 <para> | |
164 DVD support needs raw sector-based access to the device. Unfortunately you must | |
165 (under Linux) be root to get the sector address of a file. That's why we don't | |
166 use the kernel's filesystem driver at all, instead we reimplement it in | |
167 userspace. <systemitem>libdvdread</systemitem> 0.9.x does this. | |
168 The kernel UDF filesystem driver | |
169 is not needed as they already have their own builtin UDF filesystem driver. | |
170 Also the DVD does not have to be mounted as only the raw sector-based access is | |
171 used. | |
172 </para> | |
173 | |
174 <para> | |
175 Sometimes <filename>/dev/dvd</filename> cannot be read by users, so the | |
176 <systemitem>libdvdread</systemitem> authors implemented an emulation layer | |
177 which transfers sector addresses to filenames+offsets, to emulate raw | |
178 access on top of a mounted filesystem or even on a hard disk. | |
179 </para> | |
180 | |
181 <para> | |
182 <systemitem>libdvdread</systemitem> even accepts the mountpoint instead of | |
183 the device name for raw access and checks <filename>/proc/mounts</filename> | |
184 to get the device name. It was developed for Solaris, where device names | |
185 are dynamically allocated. | |
186 </para> | |
187 | 143 |
188 <formalpara> | 144 <formalpara> |
189 <title>DVD decryption</title> | 145 <title>DVD decryption</title> |
190 <para> | 146 <para> |
191 DVD decryption is done by <systemitem>libdvdcss</systemitem>. The method | 147 DVD decryption is done by <systemitem>libdvdcss</systemitem>. The method |