[DVDnav-discuss] dvdnav patches from handbrake project

John Stebbins stebbins at jetheaddev.com
Tue Aug 31 20:30:44 CEST 2010


I've updated these patches and removed the ones that have been applied
already.  Here's the current list of what remains.

* nav-allow-restart.patch
http://www.stebbins.biz/source/patches/nav-allow-restart.patch
The way vm_stop works, you can not currently start the vm again after a
stop.  This allows a restart.

* nav-dup-handle.patch
http://www.stebbins.biz/source/patches/nav-dup-handle.patch
This patch allows you safely to create a duplicate of a dvdnav_t. This
handle can be used in parallel with the handle it is duplicated from.
HandBrake uses this to perform a recursive search of dvd menus in order
to find the main feature of a disc.

* nav-forward-seek.patch
http://www.stebbins.biz/source/patches/nav-forward-seek.patch
This patch guarantees that a request to seek forward always results in
the new position being moved forward. libdvdnav has a problem in that it
is difficult to gracefully recover from a read error and continue on to
subsequent blocks on the disc. An application would like to seek forward
past the current block after getting a read error in order to attempt to
get past the bad block(s). But dvdnav_sector_search() does not guarantee
that a requested forward seek will actually  move the current position
forward. It truncates down to the nearest VOBU which will almost always
cause a forward seek request by a single block (or a small  number of
blocks) to move the current position backward. This behaviour puts the
application into a loop of: read failure, attempted forward seek (which
results  in backward seek), read failure ...

* nav-missing-menu-abort.patch
http://www.stebbins.biz/source/patches/nav-missing-menu-abort.patch
This patch prevents an abort when a nav command tries to send you to a
menu that doesn't exist. Mac the ripper's feature title extraction
removes menus from the resulting image, but does not remove navigation
instructions that attempt to jump to those menus. This patch checks that
a menu exists before acting on such  instructions. If the menu does not
exist, the it puts the vm into the stopped state.

* read-dup-lut-pgc.patch
http://www.stebbins.biz/source/patches/read-dup-lut-pgc.patch
This is a big patch. Many dvd's are showing up that have titles that
have numerous repeated language unit tables and pgc's. The new release
"Up" is an example. I believe "Dark Knight" also exhibits this. When
scanning such discs with lsdvd (and other programs that scan all
titles), libdvdread will consume many GB of data  for these repeated
elements and gets very slow (e.g hours to read all titles) on OS X due
to reading the duplicate data from uncached raw devices.

* read-raw-device.patch
http://www.stebbins.biz/source/patches/read-raw-device.patch
On windows, use correct path when attempting to open the raw dvd device.
Also check that it is a dvd device in order to avoid error message spam.



More information about the DVDnav-discuss mailing list