Log in

View Full Version : Hexed (or is it vexed) by IFO Edit


farmer dan
8th October 2003, 18:11
Edited by farmer dan at 8:39PM to reflect current situation.

I've been soliciting aid in the IFO Edit forum but realized that my questions were really newbie in nature and decided to start a new thread here.

My project is to import menus that I created in DVD Labto a movie from which I had removed the menus. If any one is interested there is a more detailed description of what I want to do in this thread (http://forum.doom9.org/showthread.php?s=&threadid=62785). The progression has changed, howevr, since I started from scratch.

This is what I have done so far: (I'm using A and B instead of VTS to show that some items came from different sources.)

1. Copied A_01_0n.VOB to a folder and ran Create New IFO from IFO Edit. Movie with no menus
2. Copied B_01_0.VOB to the same folder and then ran Merge Menu Tables. Menus
3. Ran Create Video Manager from DVD Fab.
4. Opened IFO Edit and ran Get VTS Sectors.
5. Opened the IFO that contained the menus and checked to make sure everything was the same. It appeared to be.

Symptom: Using DVD Playthe movie does not play. Nothing happens when I press Title or Root Menu

What I want: Menu 2 in the PGC,which is the point at which I can choose the movie or go to chapter selection menus, to appear at the beginning and then any time I press Menu on the remote. Also, if I have selected a chapter, pressing a button and return to the menu from which I selected the chapter.

Here are the command tables for the PGC's and the Menus--please note that I have an "empty" PGC as First Play in the VMG.

VMG First Play PGC [000000ec] Number of Pre Commands 2 [0002]
[000000ee] Number of Post Commands 0 [0000]
[000000f0] Number of Cell Commands 0 [0000]
[000000f2] Size of Command table in bytes 23 [0017]
[000000f4] 1.Pre Command Set GPreg<11>mov (set-val)<1> [71 00 00 0b 00 01 00 00 ]
[000000fc] 2.Pre Command (JumpSS VMGM) Jump to VMG PGC: 1 [30 06 00 01 00 c0 00 00 ]
VGM_PGCI_UT\Menu_1 [000000ec] Number of Pre Commands 1 [0001]
[000000ee] Number of Post Commands 1 [0001]
[000000f0] Number of Cell Commands 1 [0001]
[000000f2] Size of Command table in bytes 23 [000f]
[000000f4] 1.Pre Command (JumpTT) Jump to Title: 1 [30 02 00 00 00 01 00 00]
[000000fc] 2.Post command (JumpSS VTSM)Jump to TitleSet(vts):1,Title(ttn):1,root menu [30 06 00 01 01 83 00 00]
VTS_PGC_1[000000ec] Number of Pre Commands 0 [0000]
[000000ee] Number of Post Commands 1 [0001]
[000000f0] Number of Cell Commands 0 [0000]
[000000f2] Size of Command table in bytes 15 [000f]
[000000f4] 1.Post Command (CallSS VTSM) Call TitleSet root-menu [Resume Cell: 1] [30 08 00 00 01 83 00 00 ]
VTSM_PGCI_UT\Menu_1[000000ec] Number of Pre Commands 14 [000e]
[000000ee] Number of Post Commands 0 [0000]
[000000f0] Number of Cell Commands 0 [0000]
[000000f2] Size of Command table in bytes 127 [007f]
[000000f4] 1.Pre Command If GPreg<11> == (cmp-val)<1><' then Goto line# 8 [00 a1 00 0b 00 01 00 08 ]
[000000fc] 2.Pre Command If GPreg<11> == (cmp-val)<2><' then Goto line# 9 [00 a1 00 0b 00 02 00 09 ]
[00000104] 3.Pre Command If GPreg<11> == (cmp-val)<3><' then Goto line# 10 [00 a1 00 0b 00 03 00 0a ]
[0000010c] 4.Pre Command If GPreg<11> == (cmp-val)<4><' then Goto line# 11 [00 a1 00 0b 00 04 00 0b ]
[00000114] 5.Pre Command If GPreg<11> == (cmp-val)<5><' then Goto line# 12 [00 a1 00 0b 00 05 00 0c ]
[0000011c] 6.Pre Command If GPreg<11> == (cmp-val)<6><' then Goto line# 13 [00 a1 00 0b 00 06 00 0d ]
[00000124] 7.Pre Command If GPreg<11> == (cmp-val)<7><' then Goto line# 14 [00 a1 00 0b 00 07 00 0e ]
[0000012c] 8.Pre Command (LinkPGCN) Link PGC 2 [20 04 00 00 00 00 00 02 ]
[00000134] 9.Pre Command (LinkPGCN) Link PGC 3 [20 04 00 00 00 00 00 03 ]
[0000013c] 10.Pre Command (LinkPGCN) Link PGC 4 [20 04 00 00 00 00 00 04 ]
[00000144] 11.Pre Command (LinkPGCN) Link PGC 5 [20 04 00 00 00 00 00 05 ]
[0000014c] 12.Pre Command (LinkPGCN) Link PGC 6 [20 04 00 00 00 00 00 06 ]
[00000154] 13.Pre Command (LinkPGCN) Link PGC 7 [20 04 00 00 00 00 00 07 ]
[0000015c] 14.Pre Command (LinkPGCN) Link PGC 8 [20 04 00 00 00 00 00 08 ]

To get the menus to play I tried using one of 2COOL'sguides for skipping past the menus--I tried to work it backwards. I changed the first First Play last pre command to JUMPTT to the main movie. No change. I then tried jumping to MENU_1 and nothing played.

I'm approaching the limits of my knowlege and need help. Here's what I'm asking the forum:

1. Please check this logic and point out flaws. The VGM is jumping to the root menu, and Menu 1 jumps to the main movie as a result of a pre command. I need a command sequence that will end up playing Menu_2 in the main title. For the life of my I can't see how to do it--lack of knowlege.

2. If I have to do what I want to from the VTS PGC, I have no clue where to start and need some suggestions.

3. Please tell me what actions on a remote give the same results as clicking either the Title or Root Menu buttons in Play DVD.

4. If I have not furnished needed information please let me know.

I apologize for the length of this post. It takes a long time to describe what I've done and am trying to do.

Thanks

farmer dan
9th October 2003, 20:53
I have solved my problem. If anyone is interested, PM me.

oddyseus
11th October 2003, 14:36
after the delailed post of yours u should post a detailed answer as well. After all a lot of members r intersted in ackward situations.

echooff
12th October 2003, 14:18
Please post you solution

farmer dan
12th October 2003, 15:08
Odysseus you are absolutely right. I need to publish the resolution of the situation. There are some valuable lessons in this for those who are just starting--like me--and who are interested in editing. Here goes--(this is going to be a long post so get comfortable)

Re-statement of the project: To remove the menus from a ripped DVD and replace them with ones I had created in authoring software. I needed to do this because I currently am limited by the FAT32 file system AND there's a little idiosyncrasy in DVD Lab. If you don't have these problems, then you probably don't need this unless you're interested purely in editing and the operation of IFO Edit or the management and command structure of a DVD.

Tools I used:
1. DVD Lab v1.1 b3
2. IFO Edit v.95

Reference Material
1. maa's guide "Making a multiple VTS with Ifoedit for a Menu produced with DVD Lab,". It is posted here (http://forum.doom9.org/showthread.php?threadid=58791).
2. Mpucoder's analysis of a Virtual Machine. In particular I used Virtual Machine Jumps and Calls here (http://www.mpucoder.com/DVD/vmi-jmp.html) and Virtual Machine Instructions here (http://www.mpucoder.com/DVD/vmindx.html)
3. Many of 2COOL's guides that are listed here (http://forum.doom9.org/showthread.php?s=&threadid=43142)
4. A bucket of aspirin and a bottle of an adult beverage--or was it a bucket of adult beverage and a bottle of aspirin--I don't remember. Their use will become clear.:D :cool:

NOTE: The guides may not be a step-by-step of what you want to do, but in the directions there are little clarifications about what is going on. You can piece these ideas together to learn more about what you are doing. Also, the "replies" to the guides as people are using them contain great information. For example, it's really important to know that in IFO Edit the Merge Menu Table function over-writes the menu tables in the IFO you have open. This information is contained in maa's explanation of why he is doing a certain step. These guides also have explanations of IFO Edit's "little quirks." I'm not going into them here.

At this point let me relay two very important things that I learned. For me, when I realized these things, the whole project became almost a "no brainer."

First. I had gotten to the point at which, "I just knew everything was going to work!!!!!" But it didn't. My menus wouldn't play. That's why I started this thread. However, I discovered that I didn't post the right information. I actually was 'barking up the wrong tree." I listed the incorrect sections of the tables in IFO Edit. My problem was NOT in the command tables, but in the allocation of memory. When you open VIDEO_TS.IFO or VTS_xx_0.IFO in this tool, you get a "tree" in the upper window. IF, for example, you have C:\FOLDER_NAME\MOVIE_NAME\VIDEO_TS\VIDEO_TS.IFO highlighted in the tree, the lower window shows the VMG Overview. Similarly, there is a VTS Overview if you have the VTS_xx_0.IFO selected. Experts correct me if I'm wrong or incomplete in the next statement. These are the places that show how the memory for the various video and audio streams is allocated.

You will see something like this:

Menu attributes:
Video: MPEG-2 720x480 (NTSC) (NTSC 525/60) 16:9 (pan-scan)
Audio1: (not specified) (Dolby AC-3) 2ch 48Kbps DRC
SubPicture 1 (not specified) (2-bit rule)

If you use IFO Editor maybe DVD Shrink to author your IFO's, they won't allocate SubPicuture resources because they do movie only. That's where I learned to use the IFO's from the original movie--or a spare IFO that you have just laying around will work too IF it had menus in it.

Second--I warned you that this would be long--This may be a 'quirk' only in DVD Lab. I've not used any other authoring software so I don't know. DVD Lab has what it calls a Root Menu. It's not exactly a Title Menu, but it can be. It's the one from and to which--in DVD Lab--everything links. In any DVD there is a Root Menu. The formatting here hopefully will denote that I'm talking about two separate animals. They are distinct and different. The Root Menu is actually the Menu Manager--my definition--for the titleset. Root Menu becomes PGC_Menu_1 in the titleset.:eek: :confused: :cool:

OK. Now that you all have had the opportunity to experience my grammar, composition and rhetoric :o :( here's how I did it.

1. Rip the DVD using your favorite tool and remove all unwanted streams.
2. Author THE SAME movie in your software. Create exactly the same number of chapters in the "new" movie as were in the old one.
3. Compile the DVD to a new folder.
4. Return to the "old" movie folder and copy the VTS_xx_0.VOB file to another new folder. If you do this you can't "break it!!"
5. Copy the VTS_yy_0.VOB from the "new" movie to the file containing the "old" movie. xx must equal yy so change the name of the "new" VOB to match that of the titleset in the "old" movie. For the sake of example, I'm now going to call that file VTS_01_0.VOB.
6. Open VTS_01_0.IFO from the "old" movie in IFO Edit and Get VTS Sectors.
7. From TOOLS select Merge Menu Tables. Save. Get VTS Sectors again.
8. Play DVD If it works, you're done. :eek:
9. If it doesn't work, examine the command table for PGC-1. Look for a post command that says something like:
(CallSS VTSM) Call TitleSet root-menu [Resume Cell:1]
Here's the hex code for the one that I have (It may not work in your specific situation, but it will get you in the ball park.)
[30 08 00 00 01 83 00 00]
10. Use the aspirin or the adult beverage.:rolleyes: :D :D :D

After I did all this, I discoverd that maa had written a mini-guide (http://forum.doom9.org/showthread.php?s=&postid=369763#post369763)
for this very same operation BEFORE I DID ALL THIS :scared: I just didn't find it in the forum:stupid:

Well, this is it. I hope you have as much fun with this as I did. I also hope that I gave proper credit to all of those who provided knowlege back to this forum. This knowlege allowed me to overcome a frustrating situation. Just to make sure: THANKS ALL!!!!!

Now I'm off to use maa's guide on creating multiple VTS in DVD Lab which was what I wanted to do in the first place.;)

farmer dan
12th October 2003, 16:28
Hi echooff--

Looking at the time stamps of your post and my solution, I was composing when you replied and didn't notice the indication that the forum had e-mailed me.

maa
12th October 2003, 17:58
Thanks for the treat ! :D I laughed all the way through it:D
and you know why ?

When I wrote the Guide to Making a Multiple VTS with Ifoedit for a Menu produced with DVD Lab (http://forum.doom9.org/showthread.php?s=&threadid=58791) it took me something like 5 weeks exploring No Mans Land with such a blind determination to get a grip with the commands and domains and whats allowed and not allowed etc. etc.
I was so relieved when it finally worked and then had the problem of writing a guide that others would understand !

There is a lot in seeing what others stumble on.

This forum is going to get rich with programmers before too long and the programming language will become more widely known.

DVD Lab is going to be Multi VTS eventually but with the power of programming and IfoEdit under your belt there are practically no limitations...

Keep up the good work farmer dan

farmer dan
12th October 2003, 18:30
Yo!!!! maayou wrote
and you know why?

I sure do. "The thrill of victory and the agony of defeat." And what's better The Knowlege. We had very similar journeys.

But lest we linger over past accomplishments too long, I was just preparing to go to mpucoder's sight to get a little more information before I posted another list of questions

:rolleyes: :eek: :o :D on the Authoring Forum. Keep your eyes peeled. They're gonna be doozies. Of course that's what I thought about all of this too until I made my discoveries--including your other guide:sly: which made my question all but irrelevant. But the head-beating was wonderful--it felt so good when I stopped.:D

I really understand the obsession. My bees don't, though, I still have to get them ready for the winter and extract some honey to pay my ISP bill so that I can continue this stuff.

See ya.