1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Fixing Subtitle Issues in IfoEdit?

Discussion in 'DVDR' started by Viewtiful, Sep 7, 2004.

  1. Viewtiful

    Viewtiful Guest

    Hi there,

    I'm new to this forum and have experience of authoring DVDRs in DVD-Lab and Scenarist, but little experience of IfoEdit - which I think is the tool I should be using to fix the issues I have. The problem is that when playing a DVDR, the subtitles are displayed automatically, which isn't that big a deal, but the second problem is that I can't disable the subtitles - I can cycle through the various subtitles, but I can't disable them. I thought about re-authoring the DVD in DVD shrink and removing the subs, but I receive an error message;

    ' DVD Shrink encountered an error and cannot continue.

    Failed to open file "D:\VIDEO_TS\VTS_01_02.VOB" '

    the DVD plays fine other than the problem with the subs.

    Ideally I'd like to keep the subs. Is there any way I can fix it so that subs are not displayed by default and I can turn them off if I so desire?

    Any help would be much appreciated.
     
    Last edited by a moderator: Sep 7, 2004
  2. drchips

    drchips Active member

    Joined:
    Nov 29, 2003
    Messages:
    1,157
    Likes Received:
    0
    Trophy Points:
    66
  3. Viewtiful

    Viewtiful Guest

    Thank you for such a speedy response.

    I was just trying to follow it through, but am unsure whether my PGC Command Table has a 'break command' or not.

    Below is a copy of the PGC Command Table I'm dealing with;

    [000000ec] Number of Pre Commands 6 [0006]
    [000000ee] Number of Post Commands 1 [0001]
    [000000f0] Number of Cell Commands 0 [0000]
    [000000f2] Size of Command table in bytes 63 [003f]
    [000000f4] 1.Pre Command If GPreg<6> == (cmp-val)<64><' then Goto line# 4 [00 a1 00 06 00 40 00 04 ]
    [000000fc] 2.Pre Command If GPreg<6> == (cmp-val)<71><' then Goto line# 5 [00 a1 00 06 00 47 00 05 ]
    [00000104] 3.Pre Command Goto line# 6 [00 01 00 00 00 00 00 06 ]
    [0000010c] 4.Pre Command (SetSTN) Set Subpicture Stream: 0 (On) [51 00 00 00 c0 00 00 00 ]
    [00000114] 5.Pre Command (SetSTN) Set Subpicture Stream: 0 (Off) [51 00 00 00 80 00 00 00 ]
    [0000011c] 6.Pre Command Set GPreg<15> mov (set-val)<1> [71 00 00 0f 00 01 00 00 ]
    [00000124] 1.Post Command (CallSS VMGM) Call VMG PGC: 3 [Resume Cell: 1] [30 08 00 03 01 c0 00 00 ]

    From the Doom9 article, I'm assuming that because the PGC Command Table contains “Goto” statements, it does have break commands?
     
  4. drchips

    drchips Active member

    Joined:
    Nov 29, 2003
    Messages:
    1,157
    Likes Received:
    0
    Trophy Points:
    66
    Hiya,

    Judging from what you have said, it is possible that the line @
    [0000010c] 4.Pre Command (SetSTN) Set Subpicture Stream: 0 (On) [51 00 00 00 c0 00 00 00 ]
    may be edited to achieve what you want..

    This is only a guess (dvd navigation in IFOs is a complicated business - so many things are interdependant, so easy to get it wrong).

    Experimentation is FUN (just keep telling yourself that)

    Hope this helps...
     
  5. Viewtiful

    Viewtiful Guest


    Following (or at least attempting to follow) the Doom9 guide, I did experiment with that line, amongst other lines, but wasn't able to achieve what I wanted.

    But still, thank you for your help.
     
  6. toaddub

    toaddub Regular member

    Joined:
    Sep 9, 2004
    Messages:
    128
    Likes Received:
    0
    Trophy Points:
    26
    Viewtiful, I had similar problem as you - inexperienced and intimidated by Ifoedit. Been putting it off learning for months until I must commit myself. Now tools I usually use are Ifoedit and DVDRemake, and I'm learning quite a bit, partly b/c I have a programming background.

    I did use the link provided by drchips, but it doesn't always work. It can be reset somewhere else. Each DVD is different.

    1. Can you play VTS_01_02.VOB file independently?
    2. Based on the given PGC Command Table, I already see a logical error: lines 4&5. The subtitle will be turned off in the end. You mention that the subtitle is on automatically. One possibility is that your DVD Player's Preference is to turn on subtitle by default upon insert. Another possibility is that it's turned on in a different PGC.

    First, I'm assuming you copy this from the Subtitle Menu, or the PGC that determines where the subtitle is set. Here's my interpretation and fixes:

    Line#1 If GPreg<6> == (cmp-val)<64><' then Goto line# 4
    means if R[6] == 4 then goto line #4 and set subtitle on.
    Line#2 If GPreg<6> == (cmp-val)<71><' then Goto line# 5
    means if R[6] == 71 then goto line #5 and set subtitle off. (I'm assuming that the None button was selected)

    Now, here's where the logic error begins. After line#4 executes, line#5 executes. This doesn't make sense. Here's what you do:

    1. Right click on line#4 and select Insert Command.
    2. Double click on NOP (new line#5). A HexEdit Module window pops up. Edit as follows:
    00 01 00 00 00 00 00 07 <- Goto line#7
    3. To refresh, click on different PGC, then back again.
    4. Double click on line#2, and edit as follows:
    00 a1 00 06 00 47 00 06 <- to redirect to line#6
    5. Double click on line#3, and edit as follows:
    00 01 00 00 00 00 00 07 <- to redirect to line#7
    6. Verify that Number of Pre Commands is now 7.
    7. Verify that Size of Command table in bytes 63 [003f]
    is now 71 [0047]. If not, double click on it, and enter 71.

    This should fix it. Curiously, how many subtitles are there? This command table shows only 1, unless it's in a different PGC.
     
  7. Viewtiful

    Viewtiful Guest

    Hi Toaddub,

    Thanks for taking the time to help.

    As I say, I'm not sure if the Doom9 guide just didn't apply to my situation, or if it's just because I've got no experience of IFOEdit. There were a few things I was uncertain of, so I made some assumptions and experimented.

    So I was just going to leave this alone, until I could read up more about IFOEdit - saw a good guide on Doom9. By the by, I have visited DVDRHelp.com and Doom9.org on past occasions and I Googled, before posting for assistance, but nothing really relevant came back. Someone did post a subtitle problem in here and received excellent help, so I thought I would try.

    Anyway, back to the nitty gritty. To answer some of your questions...

    VTS_01_02.VOB can not be played as it does not exist.

    I don't think it can be an issue with my DVD player as no other DVD I have plays with subs on, by default. This doesn't explain why I can't turn the subs off.

    There are 8 different subtitles in particular. I had no idea there was a subtitle menu.

    The PGC Command Table I typed out (only realised there was a Copy2Clipboard button afterwards! *L*) was from VTS_01_0.IFO, which I assumed was the main movie's IFO. Another assumption I made was that I had break commands.

    Finally, after making changes and clicking 'Get VTS sectors'. Closing IFOEdit down, I'm prompted to save the changes. The default file name that comes up is VTS_07_0.IFO, so I assume I should overwrite that IFO, which I have been doing. This seemed a little strange to me, but opening up VTS_01_0.IFO the changes have been saved.

    I'll follow your suggestions and report back.

    Thanks again.
     
    Last edited by a moderator: Sep 10, 2004
  8. Viewtiful

    Viewtiful Guest


    Following your instructions, Toaddub, I got a little confuzzed. When you said click line #4, I assumed you meant '4.Pre Command' and not actually the 4th line of the PGC Command Table, which reads 'Size of Command table in bytes' because doing so on the latter, didn't bring up a NOP line. So right-clicking line #4 and clicking Insert Command, I don't get a NOP on the new line #5. What WAS line #4 got shifted down and the new NOP line is on line #4. I didn't have to edit the 'Size of Command table in bytes' as it ended up at 71.

    This is how everything looks after editing.

    PGC Command Table:
    [000000ec] Number of Pre Commands 7 [0007]
    [000000ee] Number of Post Commands 1 [0001]
    [000000f0] Number of Cell Commands 0 [0000]
    [000000f2] Size of Command table in bytes 71 [0047]
    [000000f4] 1.Pre Command If GPreg<6> == (cmp-val)<64><' then Goto line# 4 [00 a1 00 06 00 40 00 04 ]
    [000000fc] 2.Pre Command If GPreg<6> == (cmp-val)<71><' then Goto line# 6 [00 a1 00 06 00 47 00 06 ]
    [00000104] 3.Pre Command Goto line# 7 [00 01 00 00 00 00 00 07 ]
    [0000010c] 4.Pre Command Goto line# 7 [00 01 00 00 00 00 00 07 ]
    [00000114] 5.Pre Command (SetSTN) Set Subpicture Stream: 0(On) [51 00 00 00 c0 00 00 00 ]
    [0000011c] 6.Pre Command (SetSTN) Set Subpicture Stream: 0(Off) [51 00 00 00 80 00 00 00 ]
    [00000124] 7.Pre Command Set GPreg<15> mov (set-val)<1> [71 00 00 0f 00 01 00 00 ]
    [0000012c] 1.Post Command (CallSS VMGM) Call VMG PGC: 3 [Resume Cell: 1] [30 08 00 03 01 c0 00 00 ]

    Having burnt the movie to DVDRW and tested it, the problem still exists. I don't know if this matters, but when playing the movie and bringing up the subtitle menu, the display reads 'Subtitles Off'. Which isn't right, as subtitles, are being displayed...
     
  9. toaddub

    toaddub Regular member

    Joined:
    Sep 9, 2004
    Messages:
    128
    Likes Received:
    0
    Trophy Points:
    26
    ok, may I ask, what movie are you working on? Maybe I have a copy and better assist you with.

    What version of DVD Shrink are you using?

    >VTS_01_02.VOB can not be played as it does not exist.
    This is weird. Is your source original? I'm confused. How can you burn to DVDRW if you have problem shrinking it as it gives an error? Did you try this: Use the original, select everything in DVDShrink, shrink it to HD. Does it give an error? If yes, maybe the source is corrupt!?

    Based on what you told me, now I'm not really sure that the PGC Command Table you give is from the main movie's IFO. How can the main movie be only VTS_01_1.VOB? That's only 1GB. To determine if it's the main movie, there are 2 ways (for simplicity):

    1. The VTS that has the biggest file size is likely the one. e.g. VTS_02_1.VOB to VTS_02_5.VOB. This is to assume that you only have the full screen or wide screen version, not both.

    2. Open up VIDEO_TS.IFO in IfoEdit. In the VMG Overview, look at 'Number of Title Play Maps' section.
    The Title that has the most chapters is most likely the main movie. The associated VTS_0x_* vob files will verify that.

    Suggestion on IfoEdit: It is good practice to back up first of files that you know you'll change. Personally, I'll backup all ifo files and vts_0x_0.vob (usually menu vobs). Open only one file to edit. 'Save' it. Then 'Get VTS Sectors'. Click 'Yes' to process all IFO files (if any ifo file that needs address correction, it will be corrected and saved). Then 'Quit'.

    Back to the edit instructions of the PGC commands, I guess I was not being too clear. I mean the Pre-Command lines. oops, your final PGC command table is wrong. I gave you the wrong instruction on step #1. It should be:

    1. Right click on line '5.Pre Command' and select Insert Command.

    The solution should be this:

    PGC Command Table:
    [000000ec] Number of Pre Commands 7 [0007]
    [000000ee] Number of Post Commands 1 [0001]
    [000000f0] Number of Cell Commands 0 [0000]
    [000000f2] Size of Command table in bytes 71 [0047]
    [000000f4] 1.Pre Command If GPreg<6> == (cmp-val)<64><' then Goto line# 4 [00 a1 00 06 00 40 00 04 ]
    [000000fc] 2.Pre Command If GPreg<6> == (cmp-val)<71><' then Goto line# 6 [00 a1 00 06 00 47 00 06 ]
    [00000104] 3.Pre Command Goto line# 7 [00 01 00 00 00 00 00 07 ]
    [0000010c] 4.Pre Command (SetSTN) Set Subpicture Stream: 0(On) [51 00 00 00 c0 00 00 00 ]
    [00000114] 5.Pre Command Goto line# 7 [00 01 00 00 00 00 00 07 ]
    [0000011c] 6.Pre Command (SetSTN) Set Subpicture Stream: 0(Off) [51 00 00 00 80 00 00 00 ]
    [00000124] 7.Pre Command Set GPreg<15> mov (set-val)<1> [71 00 00 0f 00 01 00 00 ]
    [0000012c] 1.Post Command (CallSS VMGM) Call VMG PGC: 3 [Resume Cell: 1] [30 08 00 03 01 c0 00 00 ]

    I suggest you find the PGC where the Subtitle Menu resides, and post PGC Command Table again. It often resides in the VTSM_PGC_UT (Video Title Set Menu PGCI Unit Table) of the main movie IFO. DVDRemake or MenuEdit (registered version will show the picture) would greatly help you. DVDRemake PRO is the better one. http://dimadsoft.com/products.php These tools will make your life easier in identifying where all the menus and navigations are. It's very hard to do that with IfoEdit.

    For testing purposes, you don't have to burn to DVDRW everytime so you won't waste your time, until you're sure everything works fine on software DVD player.

     
  10. Viewtiful

    Viewtiful Guest

    No, my source isn't an original. Downloaded in the form of a .iso and when I discovered there were problems with it, I extracted the contents of the ISO to HD.

    From what you've told me, I've been opening up the wrong IFO file. Having opened up VIDEO_TS.IFO, and looking up the file with the most number of chapters, I should have been editing VTS_02_0.IFO.

    However, the PGC Command Table for VTS_02_0.IFO is completely different.

    PGC Command Table:
    [000000ec] Number of Pre Commands 3 [0003]
    [000000ee] Number of Post Commands 1 [0001]
    [000000f0] Number of Cell Commands 0 [0000]
    [000000f2] Size of Command table in bytes 39 [0027]
    [000000f4] 1.Pre Command Set GPreg<15> mov (set-val)<0> [71 00 00 0f 00 00 00 00 ]
    [000000fc] 2.Pre Command (SetSTN) Set Audio Stream: GPreg<5> Subpicture Stream: GPreg<6> [41 00 00 85 86 00 00 00 ]
    [00000104] 3.Pre Command If GPreg<0> == GPreg<10> then (CallSS VTSM) Call TitleSet root-menu [Resume Cell: 1] [30 28 00 00 01 83 00 0a ]
    [0000010c] 1.Post Command (CallSS VMGM) Call VMG PGC: 42 [Resume Cell: 1] [30 08 00 2a 01 c0 00 00 ]

    I think I've also found the subtitle menu in the same IFO file.


    [0000001c] Sub-picture stream 1 status -2147483648 [80000000]
    Sub-picture stream 1 uses stream nr.(4:3): 0
    Sub-picture stream 1 uses stream nr.(wide): 0
    Sub-picture stream 1 uses stream nr.(letterbox): 0
    Sub-picture stream 1 uses stream nr.(pan&scan): 0
    [00000020] Sub-picture stream 2 status -2130706432 [81000000]
    Sub-picture stream 2 uses stream nr.(4:3): 1
    Sub-picture stream 2 uses stream nr.(wide): 0
    Sub-picture stream 2 uses stream nr.(letterbox): 0
    Sub-picture stream 2 uses stream nr.(pan&scan): 0
    [00000024] Sub-picture stream 3 status -2113929216 [82000000]
    Sub-picture stream 3 uses stream nr.(4:3): 2
    Sub-picture stream 3 uses stream nr.(wide): 0
    Sub-picture stream 3 uses stream nr.(letterbox): 0
    Sub-picture stream 3 uses stream nr.(pan&scan): 0
    [00000028] Sub-picture stream 4 status -2097152000 [83000000]
    Sub-picture stream 4 uses stream nr.(4:3): 3
    Sub-picture stream 4 uses stream nr.(wide): 0
    Sub-picture stream 4 uses stream nr.(letterbox): 0
    Sub-picture stream 4 uses stream nr.(pan&scan): 0
    [0000002c] Sub-picture stream 5 status -2080374784 [84000000]
    Sub-picture stream 5 uses stream nr.(4:3): 4
    Sub-picture stream 5 uses stream nr.(wide): 0
    Sub-picture stream 5 uses stream nr.(letterbox): 0
    Sub-picture stream 5 uses stream nr.(pan&scan): 0
    [00000030] Sub-picture stream 6 status -2063597568 [85000000]
    Sub-picture stream 6 uses stream nr.(4:3): 5
    Sub-picture stream 6 uses stream nr.(wide): 0
    Sub-picture stream 6 uses stream nr.(letterbox): 0
    Sub-picture stream 6 uses stream nr.(pan&scan): 0
    [00000034] Sub-picture stream 7 status -2046820352 [86000000]
    Sub-picture stream 7 uses stream nr.(4:3): 6
    Sub-picture stream 7 uses stream nr.(wide): 0
    Sub-picture stream 7 uses stream nr.(letterbox): 0
    Sub-picture stream 7 uses stream nr.(pan&scan): 0
    [00000038] Sub-picture stream 8 status -2030043136 [87000000]
    Sub-picture stream 8 uses stream nr.(4:3): 7
    Sub-picture stream 8 uses stream nr.(wide): 0
    Sub-picture stream 8 uses stream nr.(letterbox): 0
    Sub-picture stream 8 uses stream nr.(pan&scan): 0
    [0000003c] Sub-picture stream 9 status 0 [00000000]
    [00000040] Sub-picture stream 10 status 0 [00000000]
    [00000044] Sub-picture stream 11 status 0 [00000000]
    [00000048] Sub-picture stream 12 status 0 [00000000]
    [0000004c] Sub-picture stream 13 status 0 [00000000]
    [00000050] Sub-picture stream 14 status 0 [00000000]
    [00000054] Sub-picture stream 15 status 0 [00000000]
    [00000058] Sub-picture stream 16 status 0 [00000000]
    [0000005c] Sub-picture stream 17 status 0 [00000000]
    [00000060] Sub-picture stream 18 status 0 [00000000]
    [00000064] Sub-picture stream 19 status 0 [00000000]
    [00000068] Sub-picture stream 20 status 0 [00000000]
    [0000006c] Sub-picture stream 21 status 0 [00000000]
    [00000070] Sub-picture stream 22 status 0 [00000000]
    [00000074] Sub-picture stream 23 status 0 [00000000]
    [00000078] Sub-picture stream 24 status 0 [00000000]
    [0000007c] Sub-picture stream 25 status 0 [00000000]
    [00000080] Sub-picture stream 26 status 0 [00000000]
    [00000084] Sub-picture stream 27 status 0 [00000000]
    [00000088] Sub-picture stream 28 status 0 [00000000]
    [0000008c] Sub-picture stream 29 status 0 [00000000]
    [00000090] Sub-picture stream 30 status 0 [00000000]
    [00000094] Sub-picture stream 31 status 0 [00000000]
    [00000098] Sub-picture stream 32 status 0 [00000000]
    [0000009c] Next PGC number 0 [0000]
    [0000009e] Previous PGC number 0 [0000]
    [000000a0] Go Up PGC number 0 [0000]
    [000000a2] Still time in seconds 0 [00]
    [000000a3] PG Playback mode 0 [00]
    PG Playback mode = sequential
    [000000a5] Color 0 Y Cr CB 40 109 240 [28 6d f0 ]
    [000000a9] Color 1 Y Cr CB 81 240 90 [51 f0 5a ]
    [000000ad] Color 2 Y Cr CB 16 128 128 [10 80 80 ]
    [000000b1] Color 3 Y Cr CB 234 128 128 [ea 80 80 ]
    [000000b5] Color 4 Y Cr CB 144 34 53 [90 22 35 ]
    [000000b9] Color 5 Y Cr CB 180 128 128 [b4 80 80 ]
    [000000bd] Color 6 Y Cr CB 204 128 127 [cc 80 7f ]
    [000000c1] Color 7 Y Cr CB 91 73 146 [5b 49 92 ]
    [000000c5] Color 8 Y Cr CB 123 128 128 [7b 80 80 ]
    [000000c9] Color 9 Y Cr CB 209 128 128 [d1 80 80 ]
    [000000cd] Color 10 Y Cr CB 48 182 109 [30 b6 6d ]
    [000000d1] Color 11 Y Cr CB 79 81 91 [4f 51 5b ]
    [000000d5] Color 12 Y Cr CB 28 119 182 [1c 77 b6 ]
    [000000d9] Color 13 Y Cr CB 41 171 113 [29 ab 71 ]
    [000000dd] Color 14 Y Cr CB 54 193 105 [36 c1 69 ]
    [000000e1] Color 15 Y Cr CB 67 215 98 [43 d7 62 ]

    I think what I'll do is open up the main movie IFO of a movie with properly working subs and see how PGC Command Table looks and try copying it...
     
    Last edited by a moderator: Sep 11, 2004
  11. toaddub

    toaddub Regular member

    Joined:
    Sep 9, 2004
    Messages:
    128
    Likes Received:
    0
    Trophy Points:
    26
    Great! You found the right ifo. But you still need to modify the commands as I've shown for vts_01_0.ifo.

    Did you copy the above PGC Command Table from VTS Program Chain Info Table?

    [000000fc] 2.Pre Command (SetSTN) Set Audio Stream: GPreg<5> Subpicture Stream: GPreg<6> [41 00 00 85 86 00 00 00 ]

    Looks like GPreg<5> and GPreg<6> contain the value for audio and subpicture. These variables can be set from the buttons in Subtitle menu based on your selection, or from some PGC in VTS Menu PGCI Unit Table.

    When you mention you're cycling through the subtitles, do you cycle it from the subtitle menu or from the subtitle button on your remote? You should be able to disable it from your remote.

    btw, I notice on some DVDs that if you select a specific audio from the menu, it may automatically set the appropriate subtitle as well. e.g. I select French audio, subtitle is forced off or set to French subtitle , which is not listed in the menu. So this maybe your problem.
     
  12. Viewtiful

    Viewtiful Guest

    I modified the PGC Command Table of VTS_01_0.ifo, copying yours line by line and tested without success. I noticed that in VTS_01_0.ifo, under VTS_PGCITI, there a total of 3 VTS_PGCs, with the same PGC Command table, so I edited VTS_PGC_2 and VTS_PGC_3 as I did with the first, but again no joy. Finally I edited line 2 of the main movie IFO VTS_02.0.IFO\VTS_PGCITI\VTS_PGC_1 as such

    [000000fc] 2.Pre Command (SetSTN) Set Subpicture Stream: 0(Off) [51 00 00 00 80 00 00 00 ]

    but this didn't make a difference either.

    When I said I could cycle through the various subtitles, I meant during movie playback, I could change subtitle by hitting the subtitle button on my remote control. Using the shortcut to disable subtitles, doesn't work. However, at the main menu, there's an Options sub-menu in which I can disable the subs. So I have a choice of leaving them on by default, or turning them off. This means that if I play the movie as it is, I can't turn the subs off and if I disable the subs in the Options menu, I can't display any subs during the playback, which is a bummer.

    I feel like I've taken up far too much of your time and I think probably the best thing to do now is to leave the DVD as it is. This isn't that big a problem and I think I like the DVD enough to buy an original copy of it. What I will be doing is reading up on IFOEdit, to gain a better understanding of it.

    I really want to thank you Toaddub for your assistance and patience. Thank you too, DrChips for referring me to that guide.
     
    Last edited by a moderator: Sep 13, 2004

Share This Page