Log in

View Full Version : MuxMan 0.13c SubPictures diffs at VTSI_MAT and VTS_PGCITI


gm901
31st March 2005, 10:02
Hi

I have 4 SubPs, 2 for each Lang (Wide + LB). (No 4:3 or PS. BTW Wide and LB are so different??)
The .mxp as written by the Gui is:

Item=Sub-Picture Stream
{
Stream Number=1
Language=el
Language Extension=1
Display Mode=Wide
File=D:\_Movies\MOOD\Subpictures_2D.sup
}
Item=Sub-Picture Stream
{
Stream Number=2
Language=el
Language Extension=1
Display Mode=Letter
File=D:\_Movies\MOOD\Subpictures_2E.sup
}
Item=Sub-Picture Stream
{
Stream Number=3
Language=en
Language Extension=1
Display Mode=Wide
File=D:\_Movies\MOOD\Subpictures_27.sup
}
Item=Sub-Picture Stream
{
Stream Number=4
Language=en
Language Extension=1
Display Mode=Letter
File=D:\_Movies\MOOD\Subpictures_28.sup
}

However
the produced IFO has 4 entries at VTSI_MAT, 1st and 2nd for one lang (identical), the rest for the other:
a. 01 00 65 6c 00 01
b. 01 00 65 6c 00 01
c. 01 00 65 6e 00 01
d. 01 00 65 6e 00 01

while the VTS_PGCITI / VTS_PGC_1 has the correct 2 entries with 2 flags for each
80 00 01 00 and
80 02 03 00

Should I enter somewhat differently the info, so that MuxMan produces the correct 2 entries at VTSI_MAT ??

Thanks

mpucoder
31st March 2005, 15:33
VTSI_MAT contains one entry per stream. 4 streams = 4 entries. The PGC has one entry per track. The first 2 streams being the same language and extension but for different display modes means that they make one track (same for 3 & 4).
In other words, it is correct.

gm901
31st March 2005, 16:26
So it seems that I miss something.

The original DVD IFO :
VTSI_MAT has 9 entries sub-p_01 to 09 each for one of 9 diff languages.
VTS_PGCITI has subpicture stream 1 to 9 with values at Wide and LB.
VOB files contains 18 streams: SubPictures Packs: 0x21=1618 0x22=1618 0x23=1736 0x24=1736 0x25=1668 0x26=1668 0x27=1666 0x28=1666 0x29=1749 0x2a=1749 0x2b=1558 0x2c=1558 0x2d=1494 0x2e=1494 0x2f=89 0x30=89 0x31=58 0x32=58

Therefore the original VTSI_MAT has one entry per lang and not per stream.
And that applies to every movie I can check right now.

When I PC play the MuxMan˘s output, PowerDVD menu displays twice the first lang (Greek and Greek 1) and there is not 2nd lang.
IfoEdit the same. (in both programs Greek 1 refers to English in fact)
If I manually change the produced IFO (change VTSI_MAT sub-p_02 to en, zero sub-p_03 and 04) then both IfoEdit and PowerDVD show correct info (and play the correct lang).

I would appreciate a little help since I˘m quite confused.

Thanks

mpucoder
31st March 2005, 16:46
In the original PGC are the values for wide and LB the same? If so it means there is one stream that is used for both display modes. Muxman can handle this as well - just use one subs file per language and assign it to both wide and LB.

As for the languages that some players show, this is a known problem. You will find on most DVDs which use different subs for wide and LB (or PS) that they first list all the subs for one display mode (eg wide) followed by all the subs for the other display mode. This allows screwed up players to show the correct languages.
For example a DVD I use for testing has 4 subs, 2 each of English and Spanish. The order of streams is:
English
Spanish
English
Spanish
The track assignments (PGC values) are:
wide: 20 LB: 22
wide: 21 LB: 23

gm901
31st March 2005, 17:10
Originally posted by mpucoder
In the original PGC are the values for wide and LB the same?
No. Different values for Wide and LB.
Like 4:3: 0 wide: 21 LB: 22 PS: 0
and 4:3: 0 wide: 23 LB: 24 PS: 0

The
English
Spanish
English
Spanish
is a nice walkthrough.
If it was
English
English
Spanish
Spanish
then the Spanish would have disappeared in both IfoEdit and Player. That would seem like
English (ID 0x21, 0x22) and
English (ID 0x23, 0x24) (English 1 to player)

Therefore the shorcut is to mix.
Stream Number=1
Language=el
Stream Number=2
Language=en
Stream Number=3
Language=el
Stream Number=4
Language=en

But what about
Therefore the original VTSI_MAT has one entry per lang and not per stream.
And that applies to every movie I can check right now.
VTSI_MAT contains streams or languages(tracks) ???

Thanks

mpucoder
31st March 2005, 18:10
I was just off running some tests. I removed the third and fourth entry expecting to get errors with Philips DVD Video Verifier, but got none. Either way (2 or 4) was acceptable to the verifier. I also have many commercial DVDs with entries for all the streams in VTSI_MAT. So, I'm going to have to do more research before I can say which is correct.

In the meantime to make DVDs that display the correct languages use the ordering I showed above. At the very least future Muxman will arrange the streams like that to be universally acceptable.

mpucoder
31st March 2005, 20:00
I've run a number of tests, and I'm now convinced that my initial information was wrong (and so a number of DVDs I have here were made by an authoring program that had it wrong).
VTSI_MAT sub information is by tracks, not streams. The next version of Muxman will correct this (should be a few hours from now).
Thanks for bringing this to my attention gm901!

gm901
31st March 2005, 20:19
I thank you, not only for MuxMan, but also for all your assistance, especially to people who try to learn

mpucoder
31st March 2005, 21:20
The fix is in Muxman 0.13d available here (http://www.mpucoder.com/Muxman/)

gm901
2nd April 2005, 13:25
Something else.

I˘ve seen in many DVDs that the VTS_PGCITI has subpicture values that sometimes confuse me (and IfoEdit).
If the existing (VOB) streams are 0x21, 0x22…(starting from 21, no 0x20) and there are more than one stream per lang, then the values at VTS_PGCITI are like 80 01 00 02, 80 03 00 04 etc.
Deciphering it we have 4:3= NA or 0x20, Wide=0x21, LB=NA, PS=0x22. (I presume LB=NA and not LB= NA or 0x20 because it has a value smaller than the previous)
I assume that when the TV is 4:3 the decoder searches for 0x20, does not find it and choose another stream(which? 1st available ?).
Seems a little fuzzy to me. I would prefer a specific bit value (since max sub 32 leaves 2 bits free) meaning that there is no stream assigned.

But when there is a 0x20 and this 0x20 is intended for Wide or LB then the 1st subp of VTS_PGCITI would be for example
80 00 00 01, meaning 4:3= NA or 0x20, Wide= NA or 0x20, LB=NA or 0x20, PS=0x21.
What would the decoder choose for the first lang????
(the 2nd would be more clear as 80 02 00 03 means 4:3= NA, Wide=0x22, LB=NA, PS=0x23)
Maybe there is another rule that I˘m not aware of or maybe streams are lined up in closer resemblance/substitute …

But if not, wouldn˘t it be a more “tidy job” for MuxMan, if there are less than 32 streams, to name the first as 0x21 instead of 0x20, avoiding any “misunderstandings” ??
Not proposing anything, just asking for interpretation,

Thanks

mpucoder
2nd April 2005, 16:28
There is no confusion once you know the rules. In the video attributes (VTSI_MAT) are bits to describe the aspect ratio, and how to display the video on a display of the opposite aspect ratio.
If the aspect ratio is 4:3, then the subpicture information in a PGC contains meaningful information in the 4:3 byte only, the others are supposed to contain 0.
If the aspect ratio is 16:9 there are 2 more bits which tell the player what methods of displaying the video n a 4:3 display are valid. For 16:9 video at least one method must be valid (meaning all the needed subpicture streams and button data are present on the disk). So the subpicture information in a PGC for 16:9 should always have meaningful information in the wide byte, and for LB and/or PS as determined by the auto-LB and auto-PS bits. The 4:3 byte will be 0 (except for the top bit which signifies that the track is valid)

As for language, that is done in an orderly manner before any title is played. The first choice is the preferred subpicture langyage programmed into the player. If not found the "unspecified" language will be used, if that is not present the first language is used. The language determines which track to play unless changed by a SetSTN command. The map in each PGC gives the stream number based on the combination of track and display mode.
Stream and track numbers should be assigned consecutively, with no gaps, but each title is not required to have all the tracks. This can cause problems on some players, such as PowerDVD (which disables all subpictures if the first track is not marked as present).

edit: Just to clear up another point. The display mode is chosen before looking at individual titles. All the titles in one titleset (VTS) have the same video attribute, and must have subpicture streams for the valid display modes. If the video is 4:3, then that is the mode used. If the video is 16:9 then the display mode is chosen based on user preference programmed into the player and the available modes. Wide is used if the player knows the display is a widescreen display. The preference for Auto-LB or auto-PS can be programmed into most players. The player will use the preferred mode if it is available, otherwise it uses the only available mode.

Paulcat
8th April 2005, 17:15
I am creating a new subtitle to go on a dvd which has none. The m2v file is 720x480 (16:9 letterboxed) and I have designed the subtitles to that size. When I add them in MuxMan, do I need to select both LB and WIDE in the subtitle specification or just LB? (MuxMan gives me a warning that one is missing when I only choose one or the other option) Or, should I add the same sub twice, and choose LB for the first and WIDE for the second?

mpucoder
8th April 2005, 18:06
If you use the same file twice, you get two streams - a waste of bits. Select wide and LB.

Paulcat
14th April 2005, 14:17
What precisely is the difference? I have a 4:3 television and if I select LB only for my subs, they display fine. Is the WIDE option for 16:9 televisions? And, if so, what happens to subs that display below the actual picture since there would be no "black bars" when a 16:9 image is displayed on a 16:9 television? (Or would they just be moved up?)

mpucoder
14th April 2005, 15:02
Yes, "wide" is for 16:9 displays. As for placement, remember that subpictures are not resized, they fill the entire display screen, regardless of the resizing done to the video. This is why there are 2 or 3 streams for 16:9 movies, so the author can place the subs where wanted.

Paulcat
15th April 2005, 14:34
Originally posted by mpucoder
Yes, "wide" is for 16:9 displays. As for placement, remember that subpictures are not resized, they fill the entire display screen, regardless of the resizing done to the video. This is why there are 2 or 3 streams for 16:9 movies, so the author can place the subs where wanted.
Well! That clears that up then. Thanks!