[libbluray-devel] Libbluray as source of knowledge about Blu-ray disks?

Andrew Randrianasulu randrianasulu at gmail.com
Tue Dec 14 20:24:22 UTC 2021


Hello, all!

First I want to thank everyone who made this project reality (especially
Petri Hintukainen, who worked for more than decade on this project).

I was trying to develop some understanding of Blu-ray technology and thus
reading libbluray code. Very nice, now I know BD player have VM with 4k
user regs :) (I wonder if anyone ever tried to make scene demo targeting
this VM?)

Some years ago I become active tester of Cinelerra-GG, fork/merge of
Cinelerra-hv (original) and Cinelerra-cv (community fork). You can see our
mail list at https://www.cinelerra-gg.org/search-mail-archives/

One component of Cinelerra-gg (quite uniquie as far as I know) is Blu-ray
creation software, developed with knowledge from libbluray:

https://git.cinelerra-gg.org/git/?p=goodguy/cinelerra.git;a=blob;f=cinelerra-5.1/cinelerra/bdwrite.C;h=6a2b4ca3cb4b9bcec54d7b8620a74b51cafd7395;hb=HEAD

well, as header says this part of Cinelerra-gg was developed with knowledge
generated by your project. Still, there is no (gui) way to add PGS and no
way at all for developing/encoding/muxing IG stream (menus..)

for PGS i compiled and used pgssup 0.1 modified by this project:
https://github.com/magiruuvelvet/jimaku-editor/blob/master/pgs-encoder/main.c

and then just hand-crafted xml with png file I had nearby.
there is another potentially useful project for 'quantizing' 24 bit color +
alpha pngs into 8bit +alpha pngs
https://pngquant.org/

then i just used tsmuxer (now open source) for muxing pgs into m2ts stream.

But menus apparently much more complex in their structure - so while basic
idea about having xml description feed to encoder and then feeding
elementary IG stream to muxer might be sane - I wonder if one can simply
re-use libbluray's private headers (non-installed currently, as far as I
can see) or better to use already existing xml files from, say

https://github.com/zathras/java.net/tree/master/hdcookbook/DiscCreationTools


Also, it striked me Cin-gg (despite home-grown gui library libguicast) can
relatively easily output say modified edl (cmx3600 just text file
describing cuts and simple transitions) and argb pngs, and then use some
scripting for driving external encoder/muxer binaries, thus providing some
playground in Blu-ray authoring. We even have 'sketcher' plugin (very
bssic, no guides/object snaps/pages) that can be (hoprfully) used for
outputting coordinates of movie gui elements! May be eventually 'real' BD
authoring application with libre license and open-source dev. model will
surface but for now I only knew about dvdstyler 'hack' {0} building on top
of hd-dvd specs. Dvdauthor software still more geared towards dvd creation,
not sure if modding it actually easy enough task (so far none did steps in
this direction?)

{0} https://forum.doom9.org/showthread.php?t=182529
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/libbluray-devel/attachments/20211214/275afeec/attachment.html>


More information about the libbluray-devel mailing list