[DVDnav-discuss] [PATCH] consuming all memory when scanning dvd "Up"

John Stebbins stebbins at jetheaddev.com
Fri Nov 13 23:48:43 CET 2009


First a disclaimer.  This is a big invasive patch.  If you don't like 
it, my feelings won't be hurt.  I will be using it in HandBrake.  So if 
you see problems with it, please let me know.

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.

This patch detects duplicates and reference counts pgc's and pgcit's.  
When a duplicate is detected, a reference count is incremented instead 
of allocating new memory and re-reading the data.

I opted for reference counting instead of simply returning a failure on 
duplicate detection because it is perfectly valid to have a title with 
such duplicates.  I could easily imagine titles adding duplicates, then 
navigating around them.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: dvdread.diff
Type: text/x-patch
Size: 10112 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/dvdnav-discuss/attachments/20091113/fcfd88bb/attachment.bin>


More information about the DVDnav-discuss mailing list