[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