links
dvda-author-09.05

Advanced features

This page is an introduction to dvda-author's advanced usage for complex projects.


1. Menu authoring

Top menus facilitate navigation with track links. A top menu is a screen that may be called by pressing on the "(Top/Main) menu" button of  your DVD-player remote control.

Menu style

Two types of top menus may be created:

  • List menus, which are continuous. Below is an example:

  • Hierarchical menus, with a first screen listing only links to group menus. Below is another example:



         

To automatically create a hierarchical menu, use:

  --topmenu --menustyle hierarchical

There will be as many screens as there are groups, with an extra first screen listing groups.
Attention: You should not use more than 32 tracks per group with this type of menu.

To create a standard list menu, just use --topmenu. There are no limitations as to the number of tracks per group in this case (under the normal 99-track limit).

You can also author the top menu Mpeg file with other tools. This will be the case, in particular, when a motion menu (with or without sound) is used.
In this case, use:

  --topmenu mpeg_filepath

Currently this option is only supported with list menus (and just one menu screen).

  • Active menus, which are actually still pictures displayed while a track is playing.
Unlike top menus, active menus may only be in list form. Colors are not currently adjustable, nor are text format or background pictures.
Automatically-created links to tracks will appear just as in automatic top menus, yet in different colors.

You may use the links either to navigate within the same group or to jump from one track of any group to any track of another group.

Below is an example created for a test:

Topmenu                                                              Active menu

top menu                active menu


Active menus may be generated along with a top menu, or without it.

Command line is simply:

--menustyle active

and should you combine top menus and active menus, use:

--topmenu --menustyle active

Colors

Predefined colors can be changed using the following command line switch:

  --palette t,b,h,s

in which t,b,h,s are colors in alpha-YCrCb 32-bit hexadecimal coding, separated by commas:
  • t is the color of the track text (white by default)
  • b is the color of the background screen (black by default)
  • h is the color of the highlighting element (red by default)
  • s is the color taken by track text when the link is selected and activated, for about 1 second (depending on players)

alpha-YCrCb codes are one of the various ways of encoding colors. If needed, you will find a useful color tester here.
and an explanation of the YCrCb model here.
It is normally useless to use non-zero alpha values (the first byte of the 32-bit sequence).

Example: --palette 0x0051F05A,0x00108080,0x00286DF0,0x00902235

yields red track text against a black background with a blue highlighting element and text turning green on link activation.

Below is another example of what a menu looks like, when created with a grey background (command line: --palette 0x0051F05A,0x00D18080,0x00286DF0,0x00902235):





In this example, the first track has been selected. On activating the link, the image momentarily changes as shown below:







Fonts

The default font is Courrier-Bold. The size of the font is computed automatically. It depends on several factors, like the number of groups to be displayed on each screen and the number of tracks per group. You can change both font type and font size by adding:

  --font font_type,font_size,N

in which N is the number of pixels of the side of a square in which a letter of size 10 can contain. N depends on the font. For Courrier-Bold, N=6. For other fonts, N is not tabulated and should be experimentally determined. It should be close to 6 in general.
Example:

--font Courrier-Bold,20,6 The list of available fonts is that of the mjpeg tools used by dvda-author to create the pictures. It can be displayed by launching mogrify -list fonts .

Highlighting element


The highlighting motif by default is an underline. It can be changed by specifying:

--highlightformat -1

for automatic menu authoring with little square before titles. Below is an example of what the above menu would become with this highlighting option added to command line:





Alternatively you can opt for button motifs by adding:

--highlightformat 1

  for button highlight as below (first track is selected again):






Background picture

The background picture should always be of JPEG format. Below is an example, in which background.jpg is a grey screen ornated with a white ellipsis containing "Symponies by Mozart". The group and track labels are created by the --topmenu option and added to this background:




You can also specify different background pictures, using commas to separate files:

--background file0.jpg,file1.jpg,...,fileN.jpg

for N menus. Again, pictures should always be of JPEG format.

Number of menus and menu columns

Whether you create menus using the automatic default procedure or by adding user-defined details, it is possible to create a given number of N menu screens by adding:

--nmenus N

However this option is only available for list menus, not hierarchical menus, which have as many menu screens as there are groups (plus the group-listing menu).
You can also force the number of columns per screen (by default 3):

--ncolumns C

It is not advised to use values higher than 4. Also, be careful not to specify both --nmenus and --ncolumns options,as incompatibilities may arise. Normally, N and C are related by the following equation: N = (int) number of groups/C (+ 1 if the ratio is not an integer)


2. Still pictures and slideshows

In addition to menus, slideshows can be created. Pictures will be shown while a track is playing, with transition effects and a user-defined timeline or, alternatively, with browsable pictures, using the player's remote control.

A still picture is the particular case in which there is just one picture per audio track.

Still pictures

You will need to author pictures of jpg format with independant software like the Gimp. Once created, rename pictures as follows:

          
pic_000.jpg, ..., up to pic_999.jpg (maximum).


Then gather them in the same directory dir. Add:

--stillpics dir

Slideshows

To create a slideshow you will first need to author slides for each track and choose your timeline, ie at which time after the start of the track each slide starts and ends.

You need to enter pictures manually as follows. If pjk is picture j of track k, enter:

--stillpics p11,p21,...,pn1-p12,p22,...,pn2-...

with tracks separated by hyphens and pictures by commas.

Example:

--stillpics image1.jpg,image2.jpg,image3.jpg-image4.jpg,image5.jpg,image6.jpg

If there are no pics for a track use -- as below (no pics for second track):

--stillpics image1.jpg,image2.jpg,image3.jpg--image4.jpg,image5.jpg,image6.jpg

You can also optionally choose slideshow options, like transition effects.

Here is a link to a playable slideshows (converted to mpg):

slideshow 1

To enter options, use:

--stilloptions options

Separate options with commas. Each option applies to ranked pic, so use rank=k to indicate that the following options apply to the k-th picture, starting with 0. Ranks are counted across tracks, so for example if you have three tracks with two slides each, the corresponding options will be:

--stilloptions rank=0,(options 0),rank=1,(options 1),rank=2,(options 2),rank=3,(options 3),rank=4,(options 4),rank=5,(options 5)

Transition effects should be chosen among the following ones:

  • fade or just 'f': picture will gradually fade out or in
  • dissolve or just 'd': picture will dissolve into a blank screen
  • top or just 't': top-wipe effect, with the picture sliding down from the top of the screen
  • bottom or just 'b': bottom-wipe effect, with the picture sliding up from the bottom
  • left or just 'l': left-wipe effect, with the picture sliding across from the left handside
  • right or just 'r': right-wipe effect, with the picture sliding across from the right handside

These effects can be applied either at the start or at the end of the slide.

To apply a transition effect at the start use the following syntax:

--stilloptions (...),rank=k,(...),starteffect=effect,(...)

To apply a transition effect at the end use endeffect instead of starteffect.

To to set the time line you need to choose a set of time marks, ie how many seconds elapsed between the start of the track and the onset of picture.
Use ...,start=T,... as a suboption of --stilloptions to set the time mark at T seconds for the corresponding picture.
Optionally, the duration of transition effects can also be set, both for start effects and end effects.
Use ...,lag=L,... to set the duration of the following transition effect at L seconds. Below is a complex example:

--stilloptions rank=0,start=5,lag=2,starteffect=fade,lag=5,endeffect=bottom,rank=1,start=25,lag=3,starteffect=left

Here the first picture will be shown after 5 seconds with a 2-second fade-in effect. The picture will disappear in a 5-second bottom-wipe effect and be replaced by another picture 25 seconds after the start of the track, with a 3-second left-wipe start effect.

3. Display aspect

Currently only PAL, SECAM and NTSC standards are supported. PAL is enabled by default. To switch to NTSC, use:

--norm ntsc

and for SECAM, use:

--norm secam

Display ratio can also be customized. By default, display will be determined by your picture input.

To switch to 16:9, use:

--aspect 3

and

--aspect 2

for 4:3

4. Channel assignment

DVD-Audio supports up to six channels in one of 21 combinations of channel assignments. These combinations place the channels into two groups, referred to as Group 1 and Group 2. In each group, sample rates can be specified independently.

However, the sample rates within each group must be the same, and the Group 2 sample-rate must be an even multiple of Group 1.

Within groups, bit rates may differ but sample rates cannot.

The DVD-Audio channel assignments 8 to 12 are almost identical to the channel assignments 13 to 17, and differ only in the way the channels are grouped.

Currently dvda-author only supports encoding to or decoding from channel assignments with identical sample rates.

Channel assignment index\Channel layout 1 2 3 4 5 6
0 Mono
1 L R
2 Lf Rf S*
3 Lf Rf Ls* Rs*
4 Lf Rf Lfe*
5 Lf Rf Lfe* S*
6 Lf Rf Lfe* Ls* Rs*
7 Lf Rf C*
8 Lf Rf C* S*
9 Lf Rf C* Ls* Rs*
10 Lf Rf C* Lfe*
11 Lf Rf C* Lfe* S*
12 Lf Rf C* Lfe* Ls* Rs*
13 Lf Rf C S*
14 Lf Rf C Ls* Rs*
15 Lf Rf C Lfe*
16 Lf Rf C Lfe* S*
17 Lf Rf C Lfe* Ls* Rs*
18 Lf Rf Ls Rs Lfe*
19 Lf Rf Ls Rs C*
20 Lf Rf Ls Rs C* Lfe*

Keys:

Bold in Group1
* In Group2

 L-R: Stereo
 Lf: Left front
 Rf: Right front
 Ls: Left surround (behind)
 Rs: Right front
 C: Center
 Lfe: Low Frequency Effect (Subwoofer)
 S: Surround (just one behind)
 Ls: Left surround
 Rs: Right surround

Channel assignments are mentioned in the standard console output before processing as in the above table, with index 2 replacing the star: for example, channel assignment of index 20 is reported as Lf-Rf-Ls-Rs-C2-Lfe2.

MLP input files have a similar channel assignment set of values. The MLP channel assignment value is retained in the corresponding DVD-Audio track.

When processing WAV files, dvda-author automatically derives channel assignment from the corresponding information in WAV headers, if they conform to the extensible variant of the format, in principle mandatory for multichannel and all 24-bit audio.

More specifically, Microsoft documents WAV extensible channel layouts as follows:

SPEAKER CONFIGURATION   HEXADECIMAL CODE
SPEAKER_FRONT_LEFT            0x1
SPEAKER_FRONT_RIGHT           0x2
SPEAKER_FRONT_CENTER          0x4
SPEAKER_LOW_FREQUENCY         0x8
SPEAKER_BACK_LEFT             0x10
SPEAKER_BACK_RIGHT            0x20
SPEAKER_FRONT_LEFT_OF_CENTER  0x40
SPEAKER_FRONT_RIGHT_OF_CENTER 0x80
SPEAKER_BACK_CENTER           0x100
SPEAKER_SIDE_LEFT             0x200
SPEAKER_SIDE_RIGHT            0x400
SPEAKER_TOP_CENTER            0x800
SPEAKER_TOP_FRONT_LEFT        0x1000
SPEAKER_TOP_FRONT_CENTER      0x2000
SPEAKER_TOP_FRONT_RIGHT       0x4000
SPEAKER_TOP_BACK_LEFT.        0x8000
SPEAKER_TOP_BACK_CENTER       0x10000
SPEAKER_TOP_BACK_RIGHT        0x20000

dvda-author uses the following correspondance table between the above WAV layouts and DVD-Audio channel assignment:

WAV channel layoutHexadecimal valueDVD-A Channel assignment index
SPEAKER_FRONT_CENTER0x4 0
SPEAKER_FRONT_LEFT |SPEAKER_FRONT_RIGHT0x3 1
SPEAKER_BACK_CENTER | SPEAKER_FRONT_LEFT |SPEAKER_FRONT_RIGHT0x103 2
SPEAKER_FRONT_LEFT |SPEAKER_FRONT_RIGHT | SPEAKER_BACK_LEFT |SPEAKER_BACK_RIGHT0x33 3
SPEAKER_FRONT_LEFT |SPEAKER_FRONT_RIGHT | SPEAKER_LOW_FREQUENCY0xB 4
SPEAKER_FRONT_LEFT |SPEAKER_FRONT_RIGHT | SPEAKER_LOW_FREQUENCY |SPEAKER_BACK_CENTER0x10B 5
SPEAKER_FRONT_LEFT |SPEAKER_FRONT_RIGHT | SPEAKER_LOW_FREQUENCY | SPEAKER_BACK_LEFT |SPEAKER_BACK_RIGHT 0x3B 6
SPEAKER_FRONT_LEFT |SPEAKER_FRONT_RIGHT |SPEAKER_FRONT_CENTER 0x7 7
SPEAKER_FRONT_LEFT |SPEAKER_FRONT_RIGHT |SPEAKER_FRONT_CENTER |SPEAKER_BACK_CENTER0x107 8
SPEAKER_FRONT_LEFT |SPEAKER_FRONT_RIGHT |SPEAKER_FRONT_CENTER |SPEAKER_BACK_LEFT |SPEAKER_BACK_RIGHT 0x37 9
SPEAKER_FRONT_LEFT |SPEAKER_FRONT_RIGHT |SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY0xF 10
SPEAKER_FRONT_LEFT |SPEAKER_FRONT_RIGHT |SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | SPEAKER_BACK_CENTER0x10F 11
SPEAKER_FRONT_LEFT |SPEAKER_FRONT_RIGHT |SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT0x3F 12

WAV layouts are indicated by audio editors.

Default values are set as in the next table in the following cases:

  • the WAV file layout is not listed in the above table, or
  • the audio file format is FLAC, or
  • the file format is neither WAV nor FLAC and there is no channel layout or none of the above channel layouts in the WAV file resulting from the conversion by SoX (option -S)


N channelsDefault channel assignment indexDVD-A channel layout
1 0 Mono
2 1L R
3 7Lf Rf C*
4 3Lf Rf Ls* Rs*
5 9Lf Rf C* Lfe* Ls*
6 12Lf Rf C* Lfe* Ls* Rs*

If none of the above automatic values corresponds to the user target, then channel assignment should be set on commandline using option -c or --cga followed by the litteral string of DVD channel assignment layout, each channel being separated from the following by a hyphen and Group2 channels being indexed with 2 as follows:

--cga Lf-Rf-C-Ls2-Rs2

Alternatively the channel assignment index can be used instead of the hyphenated list of channels. Option --cga only applies to audio files entered after -g and cannot apply to the -i syntax. It must follow a -g option and the channel assignment values apply in successive order to the -g audio files entered on command line.

Example:

dvda-author -g a.wab b.flac c.wav --cga Lf-Rf-C2 Lf-Rf-C-Ls2-Rs2 12