-
Notifications
You must be signed in to change notification settings - Fork 20
dvdauthor XML Syntax
Overview of the XML syntax, deduced from the elems
and attrs
structures defined in src/dvdcli.c
. Parts in brown are generated by dvdunauthor, but not understood by dvdauthor.
toplevel ::= <dvdauthor [dest=pathname] [jumppad=bool] [allgprm=bool]> [vmgm] [titleset … ] </dvdauthor>
vmgm ::= <vmgm> [fpc] [titlemapping … ] [menus …] </vmgm>
titleset ::= <titleset> [menus …] [titles] </titleset>
fpc ::= <fpc> commands </fpc>
titlemapping ::= <titlemap titleset=“titlesetnr” title=“titlenr”/>
menus ::= <menus [lang=langcode]> pgcgroup </menus>
titles ::= <titles> pgcgroup </titles>
pgcgroup ::= [video] [audio …] [subpicture …] [pgc …]
video ::= <video [format=videoformat] [aspect=aspect] [resolution=resolution] [widescreen=widescreen] [caption=caption] />
audio ::= <audio [format=audioformat] [content=audiocontent] [quant=quant] [dolby=“surround”] [lang=langcode] [channels=“nrchannels”] [samplerate=samplerate] />
pgc_audio ::= <audio [id=“id”] [present=“no”] />
subpicture ::= <subpicture [lang=langcode] [content=subpicturecontent] > [stream … ] </subpicture>
pgc_subpicture ::= <subpicture [id=“id”] [present=“no”]> [stream … ] </subpicture>
stream ::= <stream mode=subpicturemode id=“streamid” />
pgc ::= <pgc [entry=“entrytype [[ ,]entrytype …]”] [palette=pathname [pause=“pause”]> pgccontents </pgc>
pgccontents ::= [pgc_audio … ] [pgc_subpicture … ] [pre] [interleave] [
<buttons start=“chapter” end=“chapter” >button … </buttons> [buttons… ]] [vob … ] [post]
pre ::= <pre> commands </pre>
post ::= <post> commands </post>
interleave ::= <interleave> [with …] </interleave>
with ::= <with file=pathname/>
button ::= <button [name=name] > commands </button>
vob ::= <vob [file=pathname] [chapters=“chapter [[ , ] chapter … ]”] [pause=“pause”]> [cell … ] </vob>
cell ::= <cell [start=“chapter”] [end=“chapter”] [chapter=bool] [program=bool] [pause=“pause”]> commands </cell>
videoformat ::= “ntsc” | “pal”
aspect ::= “4:3” | “16:9”
resolution ::= XxY
widescreen ::= “nopanscan” | “noletterbox” | “crop”
caption ::= “field1” | “field2”
audioformat ::= “mp2” | “ac3” | “dts” | “pcm”
audiocontent ::= “normal” | “impaired” | “comments1” | “comments2”
quant ::= “16bps” | “20bps” | “24bps” | “drc”
samplerate ::= “48khz” | “96khz”
subpicturecontent ::= “normal” | “large” | “children” | “normal_cc” | “large_cc” | “children_cc” | “forced” | “director” | “large_director” | “children_director”
subpicturemode ::= “normal” | “widescreen” | “letterbox” | “panscan”
entrytype ::= title | root | subtitle | audio | angle | ptt | notitle
pause ::= nrseconds | inf
chapter ::= [[ hh : ] mm : ] ss
bool ::= “yes” | “no” | “on” | “off”
commands ::= … sequence of VM instructions …
Also some command constructs generated by dvdunauthor are not understood by dvdauthor: register modifier on assignment.