PDA

View Full Version : PgcEdit v0.3.


Pages : 1 [2]

2COOL
28th October 2004, 00:05
@Cela

Originally posted by Cela

Backward Chain:
Using the 'previous chapter button' jump from the current chapter to the previous chapter until the first chapter of the current VTS is reached and then jump to the last chapter of the previous VTS...

I managed to do the forward chain, but I am unable to do the backward chain. Help needed. Thanks.

Originally posted by 2COOL
To the best of my knowledge, this is not possible.I take it all back! It is possible! I have worked with a reauthored DVD Shrink test backup and I can now jump from chapter 1 of VTS_02 (Title 2) to last chapter of VTS_01 (Title 1). In fact, I can jump to any chapter of previous Title. :D:D

And I only added a couple of commands! It was so easy! I'll write a guide when I get the time. Sweeeeet!

Thanks for stimulating my mind Cela!:p

jeanl
28th October 2004, 00:17
2COOL,
tell us in a nutshell, I'm curious... ;)
Jeanl

2COOL
28th October 2004, 00:42
Originally posted by jeanl
2COOL,
tell us in a nutshell, I'm curious... ;)
Jeanl Wellll...the first two steps you need to do first is to create a new PGC for each Title and set each Title's Previous PGCN # to the new PGC, which is 2. ;)

It's going to be off-topic for this thread so I'll open up a new one when the time comes.

jeanl
28th October 2004, 01:12
Wellll...the first two steps you need to do first is to create a new PGC for each Title and set each Title's Previous PGCN # to the new PGC, which is 2.
ok I got it, then you use the precommand of that PGC to bounce to the other title (via the VMGM probably)... Looking forward to your guide!
Jeanl.

r0lZ
28th October 2004, 01:16
@mpucoder
once a register is in counter mode only the MOV operator is allowed.
...
Obviously if you want to perform an arithmetic operation on a register in counter mode you must first take it out of counter mode. That could result in 3 commands. If you need to perform an operation on the initial value of the counter then do it before setting counter mode. Then set the register to counter mode using itself as the source value.
Do you mean that setting a value in a GPRM in counter mode with, for example, a Set command do not automatically reset it to register mode? So, you have to do something like this:# stop counter
[43 00 00 00 00 00 00 00] 1 (SetGPRMMD) Set gprm(0) in register mode =(mov) gprm(0)
# Do operation
[73 00 00 00 00 0A 00 00] 2 Set gprm(0) +=(add) 10
# Restart counter
[43 00 00 00 00 80 00 00] 3 (SetGPRMMD) Set gprm(0) in counter mode =(mov) gprm(0)

BTW, when does the counter 'naturally' stop? When the current domain is exitted?


[EDIT:] OK, I have done some experiments. A GPRM in counter mode will never stop, unless you set it back to register mode with a SetGPRMMD command.

once a register is in counter mode only the MOV operator is allowed.Are you sure? I've tested this with IfoEdit's DVD Play... and it works. You can actually do arithmetic operations on a GPRM in counter mode! Line 2 above works perfectly alone.
Tested on my Sony: it works too!


In case of an overflow when doing an operation on a GPRM, my Sony player force the result of the operation to 65535 (or 0), as stated.
Also, it sets the result of a division by 0 to 65535 (in both direct and indirect modes). Good.

But it's not the case of the software players: when an overflow occur when doing an addition, the value returned is actually the result of the additon ORed with 65535. For example, with IfoEdit, after executing those instructions [71 00 00 0F FF FA 00 00] 1 Set gprm(15) =(mov) 65530
[73 00 00 0F 00 14 00 00] 2 Set gprm(15) +=(add) 20 the final value is 14, ie. (0xFFFA + 0x0014) & 0xFFFF = 0x0001000E & 0x0000FFFF = 0x000E

In case of a division by a value 0 (in direct mode), IfoEdit display the "Illegal command" dialog and Exit. If the division by 0 occur in an indirect Set (ie. the source is a GPRM initialized to 0), then IfoEdit crash. Same is true for all software players. (I think that all soft players are using the same codec, installed by WinDVD.)

Cela
28th October 2004, 07:42
Originally posted by 2COOL ... And I only added a couple of commands! It was so easy! I'll write a guide when I get the time. Sweeeeet!...I'm looking forward to your new guide and I hope r0lZ will automate your solution in Pgcedit.
I have posted the result of my experiments, an amateur solution, based on a VIDEO_TS which was created with 'attached vts' using DVD-lab PRO, in the DVD-lab PRO forum http://www.mmbforums.com/modules.php?name=Forums&file=viewtopic&t=8185.

@r0lz
I think it is not off topic if you get inspired to provide a 'Utility' or 'Macro'. ;)

Another inspiration:
DVD-lab can attach only 3 VTS's. How can I attach an additional VTS with Pgcedit? ;)
Please have a look at the scenario of my example in DVD-lab PRO forum and you will see what I mean.

Cela

r0lZ
28th October 2004, 11:06
Originally posted by Cela @r0lz
I think it is not off topic if you get inspired to provide a 'Utility' or 'Macro'. ;)

Another inspiration:
DVD-lab can attach only 3 VTS's. How can I attach an additional VTS with Pgcedit? ;)
Please have a look at the scenario of my example in DVD-lab PRO forum and you will see what I mean.

Cela I may write a macro for this kind of manip. But later... :( I have too many work to do for now (with the trace function, the edition of menu buttons commands, bug fixes etc...)

You can Import a VTS with PgcEdit using several methods. File -> Import VTST Titles
This will import a titleset from another DVD. The commands are not modified, so you will need to edit them, and add a jump somewhere in your original FP-PGC or VMGM to call the imported title(s).
Note that the menus of the imported titleset are not automatically imported. If you want to import them as well, you have to import the title(s) first, then select the new VTS and use Utilities -> Import Menu.
Macros -> Import First-Play (startup) Clip
In addition to the VTS import, this macro will modify the original DVD commands to let the first title of the imported VTS play when you insert the DVD. When the clip has finished playing, the FP-PGC will continue with the original commands. The imported title will be played only once, even if the FP-PGC is called again later.
Macros -> Import Title's Intro Clip
You have to select an existing title before calling this macro. The new VTS is imported, and the original DVD commands are modified to let the first imported title play automatically before the selected title is played.
Macros -> Import Title's Closing Clip
Same as above, but the imported title is played after the selected title.

I wrote those macros to be able to add a still frame (for example 'Insert disk 2 to continue') at almost any point of the playback. But you can use them also to import an animated title, or a complete titleset with several titles.

2COOL
28th October 2004, 18:29
Why doesn't Paste Replace or Ctrl+V work correctly?

Here's my original command

********** pre commands:
[71 00 00 00 00 00 00 00] 1 Set gprm(0) =(mov) 0

Here's my replacement commands

********** pre commands:
[00 A1 00 01 00 01 00 03] 1 if ( gprm(1) == 1 ) then { Goto line 3 }
[00 02 00 00 00 00 00 00] 2 Break
[71 06 00 01 00 00 00 06] 3 Set gprm(1) =(mov) 0 ; LinkPGN Program 6

If I select my original command and do a Copy > Paste Replace, I get this.

********** pre commands:
[00 A1 00 01 00 01 00 05] 1 if ( gprm(1) == 1 ) then { Goto line 5 } :(
[00 02 00 00 00 00 00 00] 2 Break
[71 06 00 01 00 00 00 06] 3 Set gprm(1) =(mov) 0 ; LinkPGN Program 6

If I delete my original command and to a Paste before or Paste After, everything is correct.

r0lZ
28th October 2004, 18:39
Right. It's another bug... :(

2COOL
28th October 2004, 18:47
And another one.

If I add a new PGC, my VTS_PGCITI is a little messed up for my new VTS_PGC_#. Here I added a second. My Category Parental ID mask should be zero.


Number of VTS_PGCI_SRP 2
End byte of VTS_PGCI_SRP table 717

VTS_PGC_1: Category mask 129
details:
entry PGC: yes
Title number: 1
VTS_PGC_1: Category 0
VTS_PGC_1: Category Parental ID mask 0
VTS_PGC_1: VTS_PGCI start byte 24

VTS_PGC_2: Category mask 0
details:
entry PGC: no
Title number: 0
VTS_PGC_2: Category 0
VTS_PGC_2: Category Parental ID mask 1542 :(
VTS_PGC_2: VTS_PGCI start byte 466

BTW, can we have a Title 0? I had burnt my backup with this and I didn't have a problems on my finicky Sony standalone. But I did have problems with PowerDVD. There may be more factors to consider though that I haven't found yet on PowerDVD's matter. :(

Cela
28th October 2004, 21:15
Originally posted by r0lz
You can Import a VTS with PgcEdit using several methods...
File -> Import VTST Titles...Thank you very much for that good advice. I just succeeded to do what DVD-lab PRO did not allow me to do: to produce a VIDEO_TS with 4 (FOUR) attached VTS (VTS2 ... VTS5) by 'Import VTST Titles' in PgcEdit of the fourth Movie segment.

Then I started to explore the wonders of Scratchbook. By copying the commands to the Scratchbook I managed to make sort of a template for more of these 'up to Four segment movies'. Any extension to more segments is straight forward. And I sucessfully used that Scratchbook template for another DVD. This time everything was merely a matter of copy & paste of the right lines of commands. With PgcEdit it is so easy! :)

Wish:
Here, a possibility of optical segmentation of the commands in the Scratchbook (without affecting the goto line numbers) - similar to how I edited it into the 'Scratchbook Copy as text' below - would be very helpful.
r0lz, when you have some spare time, provide the possbilty to add a pseudo-command 'Comment' please which only appears in the Scratchbook and in the text listing but not on the DVD.

Now my template for 'Up to Four Segment movies' as an example:


{71 00 00 01 00 00 00 00} {00 00 00 00 00 00 00 00} {71 00 00 01 00 00 00 00} {00 00 00 00 00 00 00 00} {00 00 00 00 00 00 00 00} {00 00 00 00 00 00 00 00} {00 00 00 00 00 00 00 00} {00 00 00 00 00 00 00 00} {30 02 00 00 00 02 00 00} {00 00 00 00 00 00 00 00} {20 04 00 00 00 00 00 02} {00 00 00 00 00 00 00 00} {00 00 00 00 00 00 00 00} {00 B1 00 01 00 03 00 03} {71 06 00 01 00 02 00 27} {00 B1 00 01 00 02 00 05} {30 08 00 02 01 C0 00 00} {71 00 00 01 00 02 00 00} {00 00 00 00 00 00 00 00} {30 08 00 04 01 C0 00 00} {00 00 00 00 00 00 00 00} {00 00 00 00 00 00 00 00} {00 B1 00 01 00 04 00 03} {71 06 00 01 00 03 00 27} {00 B1 00 01 00 03 00 05} {30 08 00 03 01 C0 00 00} {71 00 00 01 00 03 00 00} {00 00 00 00 00 00 00 00} {30 08 00 05 01 C0 00 00} {00 00 00 00 00 00 00 00} {00 00 00 00 00 00 00 00} {00 B1 00 01 00 05 00 03} {71 06 00 01 00 04 00 27} {00 B1 00 01 00 04 00 05} {30 08 00 04 01 C0 00 00} {71 00 00 01 00 04 00 00} {00 00 00 00 00 00 00 00} {30 08 00 06 01 C0 00 00} {00 00 00 00 00 00 00 00} {00 00 00 00 00 00 00 00} {00 B1 00 01 00 06 00 03} {71 06 00 01 00 05 00 27} {00 B1 00 01 00 05 00 05} {30 08 00 05 01 C0 00 00} {71 00 00 01 00 05 00 00} {00 00 00 00 00 00 00 00} {30 08 00 07 01 C0 00 00} {00 00 00 00 00 00 00 00} {00 00 00 00 00 00 00 00}


------- Scratchbook Copy as text: Begin --------------------------------------

[------ comment --------] VMG , First-Play
[71 00 00 01 00 00 00 00] 1 Set gprm(1) =(mov) 0
[00 00 00 00 00 00 00 00] 2 NOP
[------ comment --------] VMGM PGC2
[71 00 00 01 00 00 00 00] 3 Set gprm(1) =(mov) 0
[00 00 00 00 00 00 00 00] 4 NOP
[------ comment --------] VMGM PGC2 Menu buttons
[00 00 00 00 00 00 00 00] 5 NOP
[00 00 00 00 00 00 00 00] 6 NOP
[00 00 00 00 00 00 00 00] 7 NOP
[00 00 00 00 00 00 00 00] 8 NOP
[------ comment --------] VMGM PGC3 Bridge forward to Title vts
[30 02 00 00 00 02 00 00] 9 (JumpTT) Jump to Title 2
[00 00 00 00 00 00 00 00] 10 NOP
[------ comment --------] VMGM PGC3 Bridge backward to Menu
[20 04 00 00 00 00 00 02] 11 LinkPGCN PGC 2
[00 00 00 00 00 00 00 00] 12 NOP
[00 00 00 00 00 00 00 00] 13 NOP
[------ comment --------] VTS2 Pre commands for Movie segment 1
[00 B1 00 01 00 03 00 03] 14 if ( gprm(1) != 3 ) then { Goto line 3 }
[71 06 00 01 00 02 00 27] 15 Set gprm(1) =(mov) 2 ; LinkPGN Program 39
[00 B1 00 01 00 02 00 05] 16 if ( gprm(1) != 2 ) then { Goto line 5 }
[30 08 00 02 01 C0 00 00] 17 (CallSS) Call the VMGM PGC 2, resume cell 1
[71 00 00 01 00 02 00 00] 18 Set gprm(1) =(mov) 2
[00 00 00 00 00 00 00 00] 19 NOP
[------ comment --------] VTS2 Post commands
[30 08 00 04 01 C0 00 00] 20 (CallSS) Call the VMGM PGC 4, resume cell 1
[00 00 00 00 00 00 00 00] 21 NOP
[00 00 00 00 00 00 00 00] 22 NOP
[------ comment --------] VTS3 Pre commands for Movie segment 2
[00 B1 00 01 00 04 00 03] 23 if ( gprm(1) != 4 ) then { Goto line 3 }
[71 06 00 01 00 03 00 27] 24 Set gprm(1) =(mov) 3 ; LinkPGN Program 39
[00 B1 00 01 00 03 00 05] 25 if ( gprm(1) != 3 ) then { Goto line 5 }
[30 08 00 03 01 C0 00 00] 26 (CallSS) Call the VMGM PGC 3, resume cell 1
[71 00 00 01 00 03 00 00] 27 Set gprm(1) =(mov) 3
[00 00 00 00 00 00 00 00] 28 NOP
[------ comment --------] VTS3 Post commands
[30 08 00 05 01 C0 00 00] 29 (CallSS) Call the VMGM PGC 5, resume cell 1
[00 00 00 00 00 00 00 00] 30 NOP
[00 00 00 00 00 00 00 00] 31 NOP
[------ comment --------] VTS4 Pre commands for Movie segment 3
[00 B1 00 01 00 05 00 03] 32 if ( gprm(1) != 5 ) then { Goto line 3 }
[71 06 00 01 00 04 00 27] 33 Set gprm(1) =(mov) 4 ; LinkPGN Program 39
[00 B1 00 01 00 04 00 05] 34 if ( gprm(1) != 4 ) then { Goto line 5 }
[30 08 00 04 01 C0 00 00] 35 (CallSS) Call the VMGM PGC 4, resume cell 1
[71 00 00 01 00 04 00 00] 36 Set gprm(1) =(mov) 4
[00 00 00 00 00 00 00 00] 37 NOP
[------ comment --------] VTS4 Post commands
[30 08 00 06 01 C0 00 00] 38 (CallSS) Call the VMGM PGC 6, resume cell 1
[00 00 00 00 00 00 00 00] 39 NOP
[00 00 00 00 00 00 00 00] 40 NOP
[------ comment --------] VTS5 Pre commands for Movie segment 4
[00 B1 00 01 00 06 00 03] 41 if ( gprm(1) != 6 ) then { Goto line 3 }
[71 06 00 01 00 05 00 27] 42 Set gprm(1) =(mov) 5 ; LinkPGN Program 39
[00 B1 00 01 00 05 00 05] 43 if ( gprm(1) != 5 ) then { Goto line 5 }
[30 08 00 05 01 C0 00 00] 44 (CallSS) Call the VMGM PGC 5, resume cell 1
[71 00 00 01 00 05 00 00] 45 Set gprm(1) =(mov) 5
[00 00 00 00 00 00 00 00] 46 NOP
[------ comment --------] VTS5 Post commands
[30 08 00 07 01 C0 00 00] 47 (CallSS) Call the VMGM PGC 7, resume cell 1
[00 00 00 00 00 00 00 00] 48 NOP
[00 00 00 00 00 00 00 00] 49 NOP

------- Scratchbook Copy as text: End ----------------------------------------


PgcEdit is really an extraordinary program of an outstanding programmer!!! :)

I am deeply impressed and ever so grateful.

Cela

r0lZ
29th October 2004, 01:28
Originally posted by 2COOL
And another one.

If I add a new PGC, my VTS_PGCITI is a little messed up for my new VTS_PGC_#. Here I added a second. My Category Parental ID mask should be zero.


Number of VTS_PGCI_SRP 2
End byte of VTS_PGCI_SRP table 717

VTS_PGC_1: Category mask 129
details:
entry PGC: yes
Title number: 1
VTS_PGC_1: Category 0
VTS_PGC_1: Category Parental ID mask 0
VTS_PGC_1: VTS_PGCI start byte 24

VTS_PGC_2: Category mask 0
details:
entry PGC: no
Title number: 0
VTS_PGC_2: Category 0
VTS_PGC_2: Category Parental ID mask 1542 :(
VTS_PGC_2: VTS_PGCI start byte 466

BTW, can we have a Title 0? I had burnt my backup with this and I didn't have a problems on my finicky Sony standalone. But I did have problems with PowerDVD. There may be more factors to consider though that I haven't found yet on PowerDVD's matter. :( Yep. Noted.

And no, a Title 0 is illegal. Add PGC is not intended to be used in the Title domain. It will create a dummy PGC in the title domain. This is absolutely illegal. And it doesn't update the VMG_TT_SRPT table.
However, I leaved this option, because IfoEdit is not able to add a new PGC, and a 'creative' user may find it useful. If you use it, you need to update all the tables yourself, using IfoEdit.

r0lZ
29th October 2004, 01:56
@Cela
Thanks for your kind support.

I'm affraid your wish will be verry difficult to implement. The way the commands are managed internally is highly dependant on the position of the lines in the listbox.

Also, it is not possible to store the comments in the IFOs: you will loose all your comments when you save the DVD. Of course, it is possible to store them in the scratchbook file, but this will require a special treatment to filter out the comments when doing -for example- a cut and paste.

My advice: use a simple text file with all comments and explanations you want, and include the blocks of commands you need to copy/paste later in raw form. You can copy and paste between notepad and the main window directly. Example:VMG , First-Play
1 Set gprm(1) =(mov) 0
2 NOP
{71 00 00 01 00 00 00 00} {00 00 00 00 00 00 00 00}

VMGM PGC2
3 Set gprm(1) =(mov) 0
4 NOP
{71 00 00 01 00 00 00 00} {00 00 00 00 00 00 00 00}
...

You may also use the Import/Export PGC functions if you often need to replace all commands of a PGC with a predefined set of commands.

2COOL
29th October 2004, 03:53
Originally posted by r0lZ

Add PGC is not intended to be used in the Title domain. It will create a dummy PGC in the title domain. This is absolutely illegal.I know that dummy pgcs are supposed to be legally used in the First Play PGC, VMG, and Titleset Menu Domain but with what I see with testing with 2 software players and 2 standalones so far, an illegal dummy pgc in the Title domain seems to be "legal". Of course I have given you actual bug scenarios to challenged PgcEdit's and the DVD specs and you said to some of them that they work. Sometimes, I take myself out of the paradigm of what is supposed to be wrong all the time, is actually right when doing the right tests. Maybe...just maybe...dummy pgcs in the Title Domain can work. Like my signature says "Without vision, we are blind to opportunity."

Originally posted by 2COOL

BTW, can we have a Title 0? I had burnt my backup with this and I didn't have a problems on my finicky Sony standalone. But I did have problems with PowerDVD. There may be more factors to consider though that I haven't found yet on PowerDVD's matter. I have done some edits and have gotten PowerDVD to work now with it's previous chapter skip button! :D:D

In my previous post I gave this discrepancy when adding a New PGC.

BEFORE:


Number of VTS_PGCI_SRP 2
End byte of VTS_PGCI_SRP table 717

VTS_PGC_1: Category mask 129
details:
entry PGC: yes
Title number: 1
VTS_PGC_1: Category 0
VTS_PGC_1: Category Parental ID mask 0
VTS_PGC_1: VTS_PGCI start byte 24

VTS_PGC_2: Category mask 0 :(
details:
entry PGC: no
Title number: 0 :(
VTS_PGC_2: Category 0
VTS_PGC_2: Category Parental ID mask 1542 :(
VTS_PGC_2: VTS_PGCI start byte 466

Originally posted by r0lZ

And no, a Title 0 is illegal.I agree. So I went and change my PGC 2's Category Mask to 1, which gave me a Title of 1. I also zeroed out my Category Parental ID mask.

AFTER:


Number of VTS_PGCI_SRP 2
End byte of VTS_PGCI_SRP table 717

VTS_PGC_1: Category mask 129
details:
entry PGC: yes
Title number: 1
VTS_PGC_1: Category 0
VTS_PGC_1: Category Parental ID mask 0
VTS_PGC_1: VTS_PGCI start byte 24

VTS_PGC_2: Category mask 1 :D
details:
entry PGC: no
Title number: 1 :D
VTS_PGC_2: Category 0
VTS_PGC_2: Category Parental ID mask 0 :D
VTS_PGC_2: VTS_PGCI start byte 466

Now, here's my VTS Overviews

BEFORE:

PGC_2 (program chain): [Title(TTN): 0] [00:00:00.00 / 30 fps] (Programs: 0) (Cells: 0)

AFTER:

PGC_2 (program chain): [Title(TTN): 1] [00:00:00.00 / 30 fps] (Programs: 0) (Cells: 0)

Originally posted by r0lZ

And it doesn't update the VMG_TT_SRPT table.I have some leftover IFOs on my HD and one of them had multi-PGCs with holding the same Titles. But looking in their VMG_TT_SRPT table, they aren't listed.

Again, I have tested my edited files with new PGCs added and previously, they played fine except for PowerDVD. :( With the edits above, PowerDVD is very happy. ;)

Originally posted by r0lZ

and a 'creative' user may find it useful.That be me! :D

Before I forget, can you implement the changes to your code when adding a new PGC in the Title Domain for

Category mask = 1
Category Parental ID mask = 0

It would save me time in editing in IfoEdit. ;)

Cela
29th October 2004, 10:18
@r0lZ
Thank you for your friendly and helpful responses. :) I know you are very busy and I do not want to stress your patience. That said, let me please make a last suggestion for the time being for the wonderfully useful Scratchbook.

When adding a block of commands to the scratchbook the 'Goto line numbers' are maintained correctly (that is ok and very useful), but the scratchbook linenumbers do not match (that is a little confusing at first sight).

[00 B1 00 01 00 03 00 03] 14 if ( gprm(1) != 3 ) then { Goto line 3 }
[71 06 00 01 00 02 00 27] 15 Set gprm(1) =(mov) 2 ; LinkPGN Program 39
[00 B1 00 01 00 02 00 05] 16 if ( gprm(1) != 2 ) then { Goto line 5 }
[30 08 00 02 01 C0 00 00] 17 (CallSS) Call the VMGM PGC 2, resume cell 1
[71 00 00 01 00 02 00 00] 18 Set gprm(1) =(mov) 2
[00 00 00 00 00 00 00 00] 19 NOP But when another command block is inserted before that block, then all the 'Goto line numbers' get incremented. That will lead to problems when the Command block is copied back into the vts section.

'Code Sections' for the Scratchbook could be a practical solution.
* Maintain 'Code Sections' with consistent 'Goto line numbers'.
* Each Code section is independent from all others.
* Each Code sectin can be imported and exported to a file independently.
* Import and Export of complete Scratchbook (as now) with all Code sections together should be also supported.
* 'Comments' in Code Sections to improve readability.

Above Example as Code section:

[- Code section - Begin ]
[------ comment --------] VTS2 Pre commands for Movie segment 1
[00 B1 00 01 00 03 00 03] 01 if ( gprm(1) != 3 ) then { Goto line 3 }
[71 06 00 01 00 02 00 27] 02 Set gprm(1) =(mov) 2 ; LinkPGN Program 39
[00 B1 00 01 00 02 00 05] 03 if ( gprm(1) != 2 ) then { Goto line 5 }
[30 08 00 02 01 C0 00 00] 04 (CallSS) Call the VMGM PGC 2, resume cell 1
[71 00 00 01 00 02 00 00] 05 Set gprm(1) =(mov) 2
[00 00 00 00 00 00 00 00] 06 NOP
[- Code section - End --] Agreed, Comments would be only for the Scratchbook and not to be transferred into the Ifo.

I will try out your advices over the weekend. Import/Export PGC functions were already on my study timetable.
Before knowing it better, I guess, I would prefer not to import directly into the ifos but would want to import via the Scratchbook (Code sections in the Scratchbook could be helpful). Then I would want to sort out and edit the commands in the Scratchbook. When I have verified in the Scratchbook that all looks ok, I would be ready to finally copy to the ifo part. With direct import I am too afraid to mess up the ifo part.

Thank you very much. :)

Cela

r0lZ
29th October 2004, 11:07
Originally posted by Cela
When adding a block of commands to the scratchbook the 'Goto line numbers' are maintained correctly (that is ok and very useful), but the scratchbook linenumbers do not match (that is a little confusing at first sight).

But when another command block is inserted before that block, then all the 'Goto line numbers' get incremented. That will lead to problems when the Command block is copied back into the vts section.

'Code Sections' for the Scratchbook could be a practical solution.
* Maintain 'Code Sections' with consistent 'Goto line numbers'.
* Each Code section is independent from all others.
* Each Code sectin can be imported and exported to a file independently.
* Import and Export of complete Scratchbook (as now) with all Code sections together should be also supported.
* 'Comments' in Code Sections to improve readability.
The renumbering feature works also on the scratchbook. If you want to insert/delete lines without the renumber feature, you have to toggle the Renumber GOTOs option.

As I explained before, it is verry difficult to modify the scratchbook behavior. In fact, when I programmed the edit functions, I had a problem: if no DVD is loaded, the edit buttons and menu must be disabled. But I find it easier to add a special command buffer to be able to use the edit functions at any time, without the need to verify that a PGC is currently displayed. I realized that it was useful to use this buffer as an user accessible scratchbook.
Therefore, with the exception of the "*** scratchbook commands:" label, the scratchbook must be exactly like a real PGC's command buffer. Modifying this would require a complete rewrite of the main editor. Sorry.

r0lZ
29th October 2004, 11:14
@2COOL
The Category Parental ID mask not being set to 0 when creating a dummy PGC in the Title domain is a bug. This problem is fixed now, and the Category mask is set to 1, as you requested.

BTW, do you know exactly how a multi-pgc title is supposed to work? For example, after the playback of the first PGC, I don't know if the next PGC is played automatically, or if you need to jump to it explicitly with a post or cell command.


A new version of PgcEdit, with fixes for all problems/bugs you discovered, will be available soon...

mpucoder
29th October 2004, 12:33
If you jump the playback will pause. The right way is to link the PGCs with the "next" and "prev" links (offsets 0x9C and 0x9E)

Dimad
29th October 2004, 14:13
@mpucoder

Can Next, Prev and GoUp links refer to any PGC in the domain? I guess there was a discussion somewhere here that they must refer only to PGCs within same title - which seems strange.

Can they be used in menus? Probbaly yes as LinkNextPGC and others are allowed there.

r0lZ
29th October 2004, 15:57
@mpucoder
If you jump the playback will pause. The right way is to link the PGCs with the "next" and "prev" links (offsets 0x9C and 0x9E)OK.

But what about a PGC with both a next link AND post or cell commands? Does the post commands take precedence?

And if a single-PGC Title has a next link, but no post commands, does the playback continue with the next link, or Exit?

@Dimad
Can Next, Prev and GoUp links refer to any PGC in the domain?Good question. I will check this with my Sony.

GoUp is often used in menus, and almost never in titles. So, I suppose that Next and Prev are allowed anywhere.

mpucoder
29th October 2004, 16:24
Within the title domain Next, Prev, and GoUp are restricted to the same title. A player probably would continue, but change the title number on the front panel display.
The links can be used in menu domains, and can link to any PGC within the domain.

Here's a few tidbits I just learned from playing with Scenarist.
1) A menu (not a sub-menu, but the one with bit 7 set saying it is the entry) cannot have a Prev link. But a title entry PGC can, meaning you could start a title and back up into hidden material.
2) Menues also have a special value for the GoUp link of 65535 (0xFFFF) that means "resume" (the same as executing an RSM)

Next link vs Post command vs cell command - depends on how you get there. If the user hits the next button while viewing the last program of a PGC it will advance to the next PGC without executing the cell or post commands. But if the PGC runs out, the commands will execute and take precedence. Cell commands are executed at the end of the cell, so would take precedence over any post commands.

The only place a next link can point in a single PGC title is to itself. This is legal, and results in endless looping.

There are 2 ways to exit, explicitly with the exit command, or implicitly if there is nothing else to do.

r0lZ
29th October 2004, 18:11
Within the title domain Next, Prev, and GoUp are restricted to the same title. A player probably would continue, but change the title number on the front panel display. When playing with IfoEdit's preview, I've found that it is possible to jump to any PGC in the same domain. I will try to confirm this with my standalone.

1) A menu (not a sub-menu, but the one with bit 7 set saying it is the entry) cannot have a Prev link. But a title entry PGC can, meaning you could start a title and back up into hidden material.
2) Menues also have a special value for the GoUp link of 65535 (0xFFFF) that means "resume" (the same as executing an RSM) Verry interesting!

If the user hits the next button while viewing the last program of a PGC it will advance to the next PGC without executing the cell or post commands. But if the PGC runs out, the commands will execute and take precedence. There is one exception to this: if the next link of a PGC point to itself, the post commands will execute when the next button is pressed while viewing the last program.
The only place a next link can point in a single PGC title is to itself. This is legal, and results in endless looping. ...unless a post command will jump elsewhere.

2COOL
29th October 2004, 19:24
Originally posted by r0lZ
@2COOL
The Category Parental ID mask not being set to 0 when creating a dummy PGC in the Title domain is a bug. This problem is fixed now, and the Category mask is set to 1, as you requested.Thanks!;)

BTW, do you know exactly how a multi-pgc title is supposed to work?
For example, after the playback of the first PGC, I don't know if the next PGC is played automatically, or if you need to jump to it explicitly with a post or cell command.My new PGC 2 was a non-entry PGC and it's Pre commands didn't execute. In fact after the normal play of last chapter of PGC 1, it went into its own Post commands afterwards. I would've known if PGC 2 would be used since I would be jumping to somewhere else.

A new version of PgcEdit, with fixes for all problems/bugs you discovered, will be available soon... C

I'm going to ask a stupid question since I couldn't find any good references. But, what's the clarifications between a entry PGC and a non-entry PGC? If it's flagged as non-entry, you can't access it?

2COOL
29th October 2004, 19:31
Originally posted by mpucoder
Within the title domain Next, Prev, and GoUp are restricted to the same title. Nice to hear some good news on a Friday morning.

@r0lZ

I was thinking...instead of New PGC...it should be Add dummy PGC? I mean the new PGC doesn't have video or audio content, right?

mpucoder
29th October 2004, 20:40
The PGC flagged as entry is the one entered when a jump is made to a title, ie it's the starting point for that title.

2COOL
29th October 2004, 21:57
Originally posted by mpucoder
The PGC flagged as entry is the one entered when a jump is made to a title, ie it's the starting point for that title. I see now. If I had multi-PGCs with the same Title, only one of them will be flagged as entry. Or else, if you had a Jump to Title command, it would be confused on which PGC to jump to. Thanks mpucoder!

@r0lZ

Is this (http://forum.doom9.org/showthread.php?s=&postid=560844#post560844) still possible?

2COOL
29th October 2004, 23:36
@r0lZ

I think your disclaimer on dummy PGCs in Title Domain when doing New PGC should be rewritten. They are OK if used in multiple PGC with same Titles and set to non-entry. I hope I read the previous posts right.

Also,
Should I create the following PGC?
VTST 1, TTN 2This PGC is does not apply to what's shown in PGC Selection afterwards.

dave2003
31st October 2004, 01:23
Originally posted by r0lZ
Hi everybody.
PgcEdit v0.3 is released.

Very nice! Thanks!

Cela
31st October 2004, 20:57
How can I edit (add, replace, modify, delete) menu button commands?

Please excuse me, I must have missed or overlooked that issue. I still do it with DvdReMake Pro which means timeconsuming exporting all VOBs after each edit step.

Regards
Cela

2COOL
31st October 2004, 21:14
Originally posted by Cela
How can I edit (add, replace, modify, delete) menu button commands?You can't do it with PgcEdit but I have faith in r0lZ that one day, he'll learn how to implement that. PgcEdit has progressed wonderfully. If only we can get full previewing capabilities.

I still do it with DvdReMake Pro which means timeconsuming exporting all VOBs after each edit step."timeconsuming"? You should've been there back in the days before MenuEdit came around and we all had to do it manually. It was worse working with motion menus that had all those hundreds and hundreds of nav packs!

r0lZ
31st October 2004, 21:42
#Cela
How can I edit (add, replace, modify, delete) menu button commands? Menu commands edition is planned for a future release. I just need some time...

@2COOL
"timeconsuming"? You should've been there back in the days before MenuEdit came around and we all had to do it manually. It was worse working with motion menus that had all those hundreds and hundreds of nav packs!BTW, Have you noticed that most of the time it is sufficient to change the parameters in the first NAV pack?

2COOL
31st October 2004, 21:55
Originally posted by r0lZ
@2COOL
BTW, Have you noticed that most of the time it is sufficient to change the parameters in the first NAV pack? I wish we HAD that tip back then. I was still a newbie. :(

CoNS
1st November 2004, 07:51
Originally posted by Cela
I still do it with DvdReMake Pro which means timeconsuming exporting all VOBs after each edit step.With MenuEdit, which Dimad made before DvdReMake Pro, you edit the files as they are, without exporting to new vobs afterwards. For the same reason I use MenuEdit instead of DvdReMake Pro for hiding menu buttons etc.

Cela
1st November 2004, 09:22
@r0lZ, 2COOL, CoNS

"...timeconsuming..." - yes, compared with PgcEdit ;)

Thanks for your patient help. :)

Another - (for this week the last, I promise!) - newbie question:
How can I replace the VTS vobs of, let's say, VTS3 by a 'Insert Disk 2' vob, preferably keeping the Pre and Post commands (navigation structure) of the original VIDEO_TS.

Last night I wanted to split a VIDEO_TS which i authored with DVdD-lab for DL burning into two parts for Single Layer DVD burning. Being too tired to have an idea, I had to give up. And this morning, still too uninspired to have an idea.

Regards,
Cela

r0lZ
1st November 2004, 11:12
How can I replace the VTS vobs of, let's say, VTS3 by a 'Insert Disk 2' vob, preferably keeping the Pre and Post commands (navigation structure) of the original VIDEO_TS. Try a Blank Out All VTST Titles, and select the option Replace all Titles by an Imoprted Clip.
Note that this function will replace ALL titles of the current VTS.

r0lZ
1st November 2004, 11:25
PgcEdit v0.3.7 released.

version history: A. Blanking a cell (in VOB/Cell ID remapper) works now for all platforms.
A. It is now possible to enter an ASCII string (for example a language code) in any numeric field of the Command Editor by prefixing the string with ' (single quote character, aka apostrophe). Example: 'en = 25966
E. PGC Editor: GoUp (Return) value can now be Resume (0xFFFF) for a Menu PGC.
E. "Enable Navigation Buttons" has now an option to enable the GoUp (Return) button to resume to the Title domain from any non-dummy Menu PGC.
E. Calls Cross References: now display also the PrevPGC, NextPGC and GoUpPGC links, but do not display anymore the calls to the same PGC. The Unreferenced PGCs list is therefore more accurate.
E. Disassembly: New error messages:[list=1] Set gprm(n) ?=(rnd) <ILLEGAL VALUE 0 FOR ?=(RND) OPERATOR>
Set gprm(n) /=(div) <ILLEGAL VALUE 0 FOR /=(DIV) OPERATOR>
Set gprm(n) %=(mod) <ILLEGAL VALUE 0 FOR %=(MOD) OPERATOR>
(SetAMXMD) Set Karaoke Audio Mixing Mode =(mov) <ILLEGAL VALUE 1...>
(SetGPRMMD) Set gprm(n) =(mov) <ILLEGAL SPRM OPERAND sprm(n)>[/list=1] E. The value field of SetAMXMD is now replaced by 6 checkboxes in the GUI.
E. Selecting an item in the Command Editor menu "Numerically -> 40-D0: Set" now update the value/GPRM/SPRM radiobuttons automatically in the GUI.
F. As the SetGPRMMD source operand may not be a SPRM, the SPRM option has been removed from the Command Editor GUI.
F. 'Blank all PGCs in Domain' now correctly update the video, audio and subpic attributes in VMGM_MAT/VTSI_MAT/VMG_VTS_ATRT tables.
F. 'Blank all PGCs in Domain' (when blanking w/o kill playback): the video was sometimes unplayable. Now fixed (thanks to jsoto)
F. Command Editor: The maximum number of PGCs is now 32767. (Was 65535)
F. Set used with AND, OR, XOR or RND was unable to disable the LinkNoLink.
F. GOTOs in pasted lines with Paste Replace were renumbered in some cases.
F. New PGC: When creating a new PGC in the Title domain, the VTS_PGCI table is now correctly updated.
F. Target highlighting and "Jump To Target", when used in a multi-PGC title, were unable to find the target of JumpVTS_PTT and LinkPTT if the chapter was in another PGC belonging to the same Title.
F. Error launching PgcEdit when the TEMP directory is not writable trapped.
F. Error in the Uninstall procedure fixed.
Note: most of the bug fixed in this release were discovered by 2COOL. See this post, above (http://forum.doom9.org/showthread.php?s=&threadid=79853&perpage=20&pagenumber=12#post562497).
2COOL, thanks for this, and for your new guide (http://home.tiscali.be/debie.roland/pgcedit/third_party/2cool/previous_chapter/intro.htm)!

blutach
1st November 2004, 23:14
@r0lz - Thanks, thanks and more thanks! PgcEdit just keeps getting better and better!!

@2COOL - Real nice guide (as usual :))- I guess it can be used for "flippers", as well as episodic DVDs. In these cases, I have been using Nero Recode's Merge Titles function followed by IfoEdit's Create IFOs function, which builds a new chapter table. I have found this to work very well. Your thoughts?

blutach
1st November 2004, 23:15
@r0lz - Why would anyone want to uninstall PgcEdit :D :D :D

2COOL
1st November 2004, 23:45
Originally posted by blutach
@2COOL - Real nice guide (as usual :))- I guess it can be used for "flippers", as well as episodic DVDs. In these cases, I have been using Nero Recode's Merge Titles function followed by IfoEdit's Create IFOs function, which builds a new chapter table. I have found this to work very well. Your thoughts? It works but not free. ;) Besides, I was just providing another optional undocumented method with post DVD Shrink re-authoring.

CoNS
2nd November 2004, 07:49
Originally posted by r0lZ
PgcEdit v0.3.7 released.Yeah, baby, yeah!! :D KUTGW - it's a great proggy, simply awesome

2COOL
2nd November 2004, 19:28
@jeanl

From the Voblanker thread...

Originally posted by 2COOL
@jeanl

I guess I'll be using TSB for the time being until PgcEdit and VobBlanker get fixed on this matter.

PgcEdit v0.3.7 released.

version history: F. 'Blank all PGCs in Domain' now correctly update the video, audio and subpic attributes in VMGM_MAT/VTSI_MAT/VMG_VTS_ATRT tables.

PgcEdit 0.3.7 can now remove the stream attributes when blanking so that's it for TitleSet blanker for me. :) I agree. The good thing about TSB is that for the backup ~ files feature. I just wish they could be put into a backup folder instead on the same folder with the movie. Well, I can live without it.

r0lZ
2nd November 2004, 19:38
The good thing about TSB is that for the backup ~ files feature. I just wish they could be put into a backup folder instead on the same folder with the movie. That's exactly what PgcEdit do. Or do you want another backup when balnking?

2COOL
2nd November 2004, 19:42
Originally posted by r0lZ
That's exactly what PgcEdit do. Or do you want another backup when balnking? I ws referring to TSB but no, I'm satisfied with PgcEdit's backup setup for the moment.

BTW, got any hints of new macros on the near future?

jeanl
2nd November 2004, 20:17
PgcEdit 0.3.7 can now remove the stream attributes when blanking so that's it for TitleSet blanker for me. I agree. The good thing about TSB is that for the backup ~ files feature. I just wish they could be put into a backup folder instead on the same folder with the movie. Well, I can live without it.

OK, now I feel like I have to justified my preference for titlesetblanker... ;)
Here's why I tend to use it first (well, anytime I need to blank a whole titleset, which is actually 99% of the time).

- The UI is extremely simple
- You mark all the VTS and VTSM you want to blank, click blank done: everything is done in one shot. That's a big plus. In PgcEdit, you have to do it VTS by VTS, but other than that, it's pretty quick. In vobblanker, it's one order of magnitude slower, because you have to pay attention to which VTS you "process" and which you "skip" and you have to copy everything you skipped into the destination folder by hand. Here, I'm talking about "quick" processing (no VOB reading/writing, just overwriting).

Oh and I don't mind the backup files being in the same directory, cause I destroy them when I'm done. What's the problem with that anyway? When you want to calculate the total size???

I haven't run into any problem with titlesetblanker, but I understand that they do exist. In my optimism, I'm guessing I'll never run into any problem, until the day comes when I do, and then I guess I'll switch to PgcEdit!!!!

I use PgcEdit for a bunch of other stuff, like skipping stuff that's in a titleset I want to keep, bypassing unwanted menus, and setting default subtitles/audio tracks. And I love it! But for quickly blanking whole titlesets, I think I'll stick to TSB for now...

Jeanl

blutach
2nd November 2004, 20:34
Guess I better add my 2 cents worth since this is a forum and we are all friends :)

Originally posted by jeanl
OK, now I feel like I have to justified my preference for titlesetblanker... ;)
Here's why I tend to use it first (well, anytime I need to blank a whole titleset, which is actually 99% of the time).

- The UI is extremely simple ... So is PgcEdit!!!

Originally posted by jeanl
- You mark all the VTS and VTSM you want to blank, click blank done: everything is done in one shot. That's a big plus. In PgcEdit, you have to do it VTS by VTS, but other than that, it's pretty quick. In vobblanker, it's one order of magnitude slower, because you have to pay attention to which VTS you "process" and which you "skip" and you have to copy everything you skipped into the destination folder by hand. Here, I'm talking about "quick" processing (no VOB reading/writing, just overwriting). Agreed, but the extra control you get doing things one at a time is better IMHO. And no-one can say that having the VOBs in a "backup folder" is a bad thing...just in case (I usually end up with 4 or 5 backup folders so I can "rollback" in case I make an error - which is a lot of the time :D

And, of course, with VobBlanker, you get the great ability of processing cell by cell. This is fantastic control over the DVD.

PgcEdit & VobBlanker 4 me. (Maybe we should open a poll?)

Regards

blutach
2nd November 2004, 20:37
Originally posted by 2COOL
It works but not free. ;) Besides, I was just providing another optional undocumented method with post DVD Shrink re-authoring. I suspect (but have never tried it) that DVD Shrink can do it (the merge titles bit), too.

Takes nothing away from your guide, tho, which I'm sure I will use.

Regards

blutach
2nd November 2004, 20:42
Originally posted by CoNS
Yeah, baby, yeah!! :D KUTGW - it's a great proggy, simply awesome Aaahhh, yes, figured it out ... "Keep Up The Good Work". Am not an "acronymer"

And yes r0lZ - KUTGW, I second CoNS's thoughts.

Regards

r0lZ
2nd November 2004, 21:44
@2COOLBTW, got any hints of new macros on the near future? Sorry, I will not add new macros (except perhaps verry simple ones) in the near future. As I said elsewhere, I want now to stabilize completely the current version, complete the Trace (almost done), and implement button commands edition before. That's a lot of work!

@blutachAnd, of course, with VobBlanker, you get the great ability of processing cell by cell. This is fantastic control over the DVD. It's possible also with PgcEdit. In the cells table, click on the VOB/Cell ID button of the cell you want to blank out, and select Create a new blank VOB cell. But VobBlanker is still more powerfull: PgcEdit do not replace the old cell by a blank one; it just add a blank cell to the VOB, and assign it to the current PGC cell.

Also, DVDShrink is now able to replace a PGC with a still frame. Honestly, I think it is the best solution, when you need to shrink the DVD. It's easy, and you have full preview capabilities.

jeanl
2nd November 2004, 21:48
Originally posted by r0lZ

Also, DVDShrink is now able to replace a PGC with a still frame. Honestly, I think it is the best solution, when you need to shrink the DVD. It's easy, and you have full preview capabilities.
Sorry about my ignorance, is that in full-backup mode or in re-author mode?
Jeanl

r0lZ
2nd November 2004, 21:54
Both. Just select 'still image' in the compression tab.
Wou need v3.2 for this.

jeanl
2nd November 2004, 22:01
oh OK, I've seen that, but it does not let you adjust the still time, does it? What I used to end up with was a still frame for up to a minute, depending on the original length. Was I doing something wrong?
Jeanl
P.S. Getting slightly off topic here. Sorry about that...

r0lZ
2nd November 2004, 22:06
No, you're right. But your title is blanked. You can then use PgcEdit to Kill playback...

jeanl
2nd November 2004, 22:11
Originally posted by r0lZ
No, you're right. But your title is blanked. You can then use PgcEdit to Kill playback...

Oh, Ok, I see what you mean. I never thought of doing it that way. That's another solution for when you want to blank something that's in the same VTS as something you want to keep.
Thanks!
Jeanl

blutach
2nd November 2004, 22:19
Originally posted by r0lZ
@blutach It's possible also with PgcEdit. In the cells table, click on the VOB/Cell ID button of the cell you want to blank out, and select Create a new blank VOB cell. But VobBlanker is still more powerfull: PgcEdit do not replace the old cell by a blank one; it just add a blank cell to the VOB, and assign it to the current PGC cell.

Also, DVDShrink is now able to replace a PGC with a still frame. Honestly, I think it is the best solution, when you need to shrink the DVD. It's easy, and you have full preview capabilities. Thanks for bring that to my attention r0lz. However, sometimes I need to cut the PGC midway, not simply blank it (the credits come part-way into the PGC) This is where VobBlanker comes into its own, I think.

Regards

jeanl
2nd November 2004, 22:25
Originally posted by blutach
Thanks for bring that to my attention r0lz. However, sometimes I need to cut the PGC midway, not simply blank it (the credits come part-way into the PGC) This is where VobBlanker comes into its own, I think.

Regards
AH! There's another way to do that!
Vobblanker is great for the preview, but slooooow because it needs to rewrite the whole VOB file. if you don't care about saving space (and you're just doing that because you don't like credits or logos) then you can go in IFOEdit and change the start sector and/or end sector for the PGC in question, using the frame numbers you get from the vobblanker preview. That's instantanous. I do that all the time, with great results.
If you want to reclaim the disc space, then yes vobblanker is the way to go!
Jeanl

r0lZ
2nd November 2004, 22:30
you can go in IFOEdit and change the start sector and/or end sector for the PGC in question, using the frame numbers you get from the vobblanker preview. Are you sure you can do that safely? My Sony usually hangs when playing such modified PGCs.

jeanl
2nd November 2004, 22:37
Originally posted by r0lZ
Are you sure you can do that safely? My Sony usually hangs when playing such modified PGCs.
I've never had any problem, but my settop player is a sampo and it might be that it's pretty forgiving.
What's wrong with doing that anyway? Why would it make the player hang? Is there some other place that must be modified if you do that?
I'm not setting the length to 0, mind you. I'm just removing a few seconds from the playback, usually the first seconds or the last ones.

I wouldn't be surprised, given the redundant jungle nature of the DVD spec, that if you modify the start/end sectors in one place, you also need to do that somewhere else, but I must say I don't know much about that... Can someone confirm that? (that it's not "dangerous"/illegal to modify the start/end sectors of a PGC in IFOEdit, - I'm guessing as long as the resulting length is longer than .4s?)

Jeanl

r0lZ
2nd November 2004, 22:48
What's wrong with doing that anyway? Why would it make the player hang? Unfortunately, my player doesn't explain why it doesn't like that! ;) But it doensn't.
I guess it may be because you are not jumping straight to the beginning of a cell, or because the time references are wrong...

What is particularly disturbing is that the player accepts that sometimes, and sometimes not! :confused:

blutach
2nd November 2004, 23:09
@jean

I'm a space saver:) That way, I can get best quality when transcoding.

jsoto
3rd November 2004, 08:34
, that if you modify the start/end sectors in one place, you also need to do that somewhere else, but I must say I don't know much about that... Can someone confirm that? (that it's not "dangerous"/illegal to modify the start/end sectors of a PGC in IFOEdit, - I'm guessing as long as the resulting length is longer than .4s?)
Yes, start/end sectors of a Cell information is duplicated in the IFO:
A) In the playback table (Beware, the same cell can be more than one time in different playback tables)
B) In VTS_C_ADT table.

So you should modify at least two tables. And, to be absolutely sure, and to "support" an IFOEdit's mock's strip, all the nav packs of the rest of the Cell (the unused part) should be changed to an unused VID/CID.

And, finally, the Elapsed Times/PTSs/SRC values in the VOB of the modified PGC will be not consecutive, and, let's say, incoherent. So if you are "cutting" the last part of a PGC probably it works fine, but I'm sure you will have problems if you "cut" a Cell in the middle of a PGC (BTW, PTS/SRC values are one of the TODO "bugs" in VobBlanker)

Summarizing, IMHO it is not a good/safe practice...

jsoto

jeanl
3rd November 2004, 17:45
Thanks for the clarification jsoto. I was afraid of that. As a rule, it looks like anytime you'd think there's an easy solution to a simple problem, the DVD specs comes back at you!
Jeanl

northwind
4th November 2004, 01:26
In a number of newer movies I have (ex: Breaking all rules) I have noticed that leaving out the F B I warnings and the ever growing list of warnings and disclaimers (which is why I copy some of my DVDs) will cause the resulting DVD to be useless.
My player is a Panasonic F65, but I also have a GoVideo to check on.

Anyway....

If I use PGCEdits kill playback function or use DVDRemake's blanking then the player will start loading and then execute an exit.
In PGCEdit it is enough to change/add or delete any command in the executed parts of the VMG-PGCs.

In the mentioned DVD, FP will call a VMG which will do a jump to a VTST to play the studio splash. Then the VMG is called from that VTST to continue. Even this first call is not done. Nothing shows on the screen. Weird.

I done a number of experiments on that one. I only found two ways out of it. Three if you count in writing a new menu system for the DVD.
Not kidding - I've done that a few times.

1) use the DVDRemake to replace the warning and disclaimer screens with a black screen. This works most of the times, but not always.

2) use IFO edit to edit the play-time to 0. (Playback time = 192; start segment = end segment). I have only tried that once, being with the mentioned movie and positive result.
That is when I noticed that 0.3.7 was out. Downloaded it and kill-playback still killed the playback of the whole disk.

Any similar experiences?

jeanl
4th November 2004, 01:42
Northwind,

This is very strange.
Did you make sure you didn't kill playback on a PGC with buttons? That would surely screw up playback. Also, did you check whether there were cell commands in the PGC you killed? These are 2 cases where I could see why there would be problems. If not, that's really strange.

I think it would help us (r0lZ in particuler) if you posted the PGCs in question before and after you kill playback, for example, the one you describe that jumps from the FP to the splash then to the VMG and the title. It should be easy to the guys here to detect if anything went wrong.

It is my understanding that if you don't have buttons nor cell commands in anything you blank, then playback should be identical to the original playback, except that the video does not play. In other words, the same commands should be executed, in the original or blanked version.
Can you check that there were indeed no cell commands and no buttons?

@r0lZ,
Here's another example where the TRACE function would be invaluable (I know, I don't need to convince you!!!! ;) )


Jeanl.

northwind
4th November 2004, 02:59
Hi JeanL,

No problem - I can do that.
Note that I don't think it is an error in PGCEdit, rather I think somebody here found a loophole in the DVD-spec. Of course I am not sure.
Also note that neither PGCEdit nor DVDRemake nor IFOEdit can keep this DVD playing if you use their kill-playback functions (or that which corrosponds to it). I have to go in and edit the playback time and start/end sector in IFOEdit.

Note: the screens to blank are located in VMG-2, VMG-3, VMG-5, VMG-6 and VTST-5,PGC1.

Here are the virgin PGCs:

VMG , First-Play PGC - Chapters: n/a, Programs: n/a, Cells: n/a

********** pre commands:
[30 06 00 01 00 C0 00 00] 1 (JumpSS) Jump to VMGM PGC 1
********** post commands:
********** cell commands:


Playback time: 00:00:00.00 (at 30 fps)
Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 0
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0

VMGM , LU 1 (en) , 1 (0:05) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[71 00 00 00 10 00 00 00] 1 Set gprm(0) =(mov) 4096
[71 00 00 0A 00 00 00 00] 2 Set gprm(10) =(mov) 0
[71 00 00 0B 00 00 00 00] 3 Set gprm(11) =(mov) 0
[61 00 00 09 00 90 00 00] 4 Set gprm(9) =(mov) sprm(16:Preferred audio language)
[00 A1 00 09 65 6E 00 08] 5 if ( gprm(9) == 25966 ("en") ) then { Goto line 8 }
[00 A1 00 09 66 72 00 0C] 6 if ( gprm(9) == 26226 ("fr") ) then { Goto line 12 }
[00 01 00 00 00 00 00 0F] 7 Goto line 15
[71 00 00 09 00 00 00 00] 8 Set gprm(9) =(mov) 0
[75 00 00 09 01 00 00 00] 9 Set gprm(9) *=(mul) 256
[63 00 00 0A 00 09 00 00] 10 Set gprm(10) +=(add) gprm(9)
[00 01 00 00 00 00 00 0F] 11 Goto line 15
[71 00 00 09 00 01 00 00] 12 Set gprm(9) =(mov) 1
[75 00 00 09 01 00 00 00] 13 Set gprm(9) *=(mul) 256
[63 00 00 0A 00 09 00 00] 14 Set gprm(10) +=(add) gprm(9)
[61 00 00 09 00 92 00 00] 15 Set gprm(9) =(mov) sprm(18:Preferred sub-picture language)
[00 A1 00 09 65 6E 00 15] 16 if ( gprm(9) == 25966 ("en") ) then { Goto line 21 }
[00 A1 00 09 66 72 00 18] 17 if ( gprm(9) == 26226 ("fr") ) then { Goto line 24 }
[71 00 00 09 00 00 00 00] 18 Set gprm(9) =(mov) 0
[63 00 00 0A 00 09 00 00] 19 Set gprm(10) +=(add) gprm(9)
[00 01 00 00 00 00 00 1A] 20 Goto line 26
[71 00 00 09 00 00 00 00] 21 Set gprm(9) =(mov) 0
[63 00 00 0A 00 09 00 00] 22 Set gprm(10) +=(add) gprm(9)
[00 01 00 00 00 00 00 1A] 23 Goto line 26
[71 00 00 09 00 01 00 00] 24 Set gprm(9) =(mov) 1
[63 00 00 0A 00 09 00 00] 25 Set gprm(10) +=(add) gprm(9)
[71 00 00 0E 10 03 00 00] 26 Set gprm(14) =(mov) 4099
[30 02 00 00 00 03 00 00] 27 (JumpTT) Jump to Title 3
********** post commands:
[71 00 00 0E 10 03 00 00] 1 Set gprm(14) =(mov) 4099
[30 02 00 00 00 03 00 00] 2 (JumpTT) Jump to Title 3
********** cell commands:
[20 01 00 00 00 00 00 0D] 1 LinkTailPGC

********** menu buttons commands:


Playback time: 00:00:05.00 (at 30 fps)
Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 0
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)

But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:03.20 00:00:03.20 0 0 112 139 1 1
0 2 2 8 no no 0 1 00:00:01.10 00:00:05.00 140 0 172 189 1 2



VTST 5 , 1 TTN 1 (0:15) Title 3 - Chapters: 2, Programs: 2, Cells: 2

********** pre commands:
[71 00 00 0E 20 03 00 00] 1 Set gprm(14) =(mov) 8195
[00 02 00 00 00 00 00 00] 2 Break
********** post commands:
[30 08 00 00 01 83 00 00] 1 (CallSS) Call the VTSM Root menu of the current VTS, resume cell 1
********** cell commands:


Playback time: 00:00:15.00 (at 30 fps)
Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 0
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)

Chap. Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
(PTT) Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

1 1 1 2 yes no 0 0 00:00:13.20 00:00:13.20 0 0 4636 4661 1 1
2 2 2 8 no no 0 0 00:00:01.10 00:00:15.00 4662 0 4695 4715 1 2


At this point you get the main menu system called which resides in VTS-3.
In the end this menu system will call VMG-2 to a) show the rating screen, b) show the FBI warning, c) the other warnings and d) the disclaimer for views and expressions. Then the movie is called.

[Rating screen]
VMGM , LU 1 (en) , 2 (0:07) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[00 A1 00 09 20 03 00 24] 1 if ( gprm(9) == 8195 ) then { Goto line 36 }
[61 00 00 09 00 0E 00 00] 2 Set gprm(9) =(mov) gprm(14)
[79 00 00 09 F0 00 00 00] 3 Set gprm(9) &=(and) 61440
[00 A1 00 09 20 00 00 1B] 4 if ( gprm(9) == 8192 ) then { Goto line 27 }
[00 A1 00 09 50 00 00 24] 5 if ( gprm(9) == 20480 ) then { Goto line 36 }
[00 A1 00 09 30 00 00 1F] 6 if ( gprm(9) == 12288 ) then { Goto line 31 }
[00 A1 00 09 40 00 00 1A] 7 if ( gprm(9) == 16384 ) then { Goto line 26 }
[00 A1 00 09 60 00 00 18] 8 if ( gprm(9) == 24576 ) then { Goto line 24 }
[61 00 00 09 00 81 00 00] 9 Set gprm(9) =(mov) sprm(1:Audio stream number)
[79 00 00 09 00 0F 00 00] 10 Set gprm(9) &=(and) 15
[79 00 00 0A F0 FF 00 00] 11 Set gprm(10) &=(and) 61695
[75 00 00 09 01 00 00 00] 12 Set gprm(9) *=(mul) 256
[63 00 00 0A 00 09 00 00] 13 Set gprm(10) +=(add) gprm(9)
[61 00 00 09 00 82 00 00] 14 Set gprm(9) =(mov) sprm(2:Sub-picture stream number)
[79 00 00 09 00 7F 00 00] 15 Set gprm(9) &=(and) 127
[79 00 00 0A FF 00 00 00] 16 Set gprm(10) &=(and) 65280
[63 00 00 0A 00 09 00 00] 17 Set gprm(10) +=(add) gprm(9)
[00 A1 00 0E 10 04 00 26] 18 if ( gprm(14) == 4100 ) then { Goto line 38 }
[00 A1 00 0E 10 05 00 27] 19 if ( gprm(14) == 4101 ) then { Goto line 39 }
[00 A1 00 0E 10 06 00 28] 20 if ( gprm(14) == 4102 ) then { Goto line 40 }
[00 A1 00 0E 10 07 00 29] 21 if ( gprm(14) == 4103 ) then { Goto line 41 }
[71 00 00 0D 00 01 00 00] 22 Set gprm(13) =(mov) 1
[00 02 00 00 00 00 00 00] 23 Break
[79 00 00 0E 0F FF 00 00] 24 Set gprm(14) &=(and) 4095
[73 00 00 0E 20 00 00 00] 25 Set gprm(14) +=(add) 8192
[30 06 00 01 03 83 00 00] 26 (JumpSS) Jump to VTSM 3, Root menu (TTN 1)
[61 00 00 09 00 00 00 00] 27 Set gprm(9) =(mov) gprm(0)
[79 00 00 09 00 0F 00 00] 28 Set gprm(9) &=(and) 15
[00 A1 00 09 00 02 00 25] 29 if ( gprm(9) == 2 ) then { Goto line 37 }
[00 01 00 00 00 00 00 24] 30 Goto line 36
[61 00 00 09 00 00 00 00] 31 Set gprm(9) =(mov) gprm(0)
[79 00 00 09 00 0F 00 00] 32 Set gprm(9) &=(and) 15
[00 A1 00 09 00 01 00 24] 33 if ( gprm(9) == 1 ) then { Goto line 36 }
[00 A1 00 09 00 02 00 25] 34 if ( gprm(9) == 2 ) then { Goto line 37 }
[30 06 00 01 03 83 00 00] 35 (JumpSS) Jump to VTSM 3, Root menu (TTN 1)
[30 02 00 00 00 01 00 00] 36 (JumpTT) Jump to Title 1
[30 02 00 00 00 02 00 00] 37 (JumpTT) Jump to Title 2
[30 02 00 00 00 04 00 00] 38 (JumpTT) Jump to Title 4
[30 02 00 00 00 05 00 00] 39 (JumpTT) Jump to Title 5
[30 02 00 00 00 06 00 00] 40 (JumpTT) Jump to Title 6
[30 02 00 00 00 07 00 00] 41 (JumpTT) Jump to Title 7
[00 02 00 00 00 00 00 00] 42 Break
********** post commands:
[20 04 00 00 00 00 00 03] 1 LinkPGCN PGC 3
********** cell commands:
[20 01 00 00 00 00 00 0D] 1 LinkTailPGC

********** menu buttons commands:


Playback time: 00:00:07.00 (at 30 fps)
Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 0
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)

But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:05.20 00:00:05.20 190 0 711 871 2 1
0 2 2 8 no no 0 1 00:00:01.10 00:00:07.00 872 0 890 918 2 2



[FBI warning screen]
VMGM , LU 1 (en) , 3 (0:17) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[61 00 00 09 00 00 00 00] 1 Set gprm(9) =(mov) gprm(0)
[79 00 00 09 00 0F 00 00] 2 Set gprm(9) &=(and) 15
[00 A1 00 09 00 01 00 05] 3 if ( gprm(9) == 1 ) then { Goto line 5 }
[20 A4 00 09 00 02 00 04] 4 if ( gprm(9) == 2 ) then { LinkPGCN PGC 4 }
[00 02 00 00 00 00 00 00] 5 Break
********** post commands:
[20 04 00 00 00 00 00 05] 1 LinkPGCN PGC 5
********** cell commands:
[20 01 00 00 00 00 00 0D] 1 LinkTailPGC

********** menu buttons commands:


Playback time: 00:00:17.10 (at 30 fps)
Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 0
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)

But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:16.00 00:00:16.00 919 0 4643 4678 3 1
0 2 2 8 no no 0 1 00:00:01.10 00:00:17.10 4679 0 4698 4728 3 2



[Disclaimer screen]
VMGM , LU 1 (en) , 5 (0:06) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[00 02 00 00 00 00 00 00] 1 Break
********** post commands:
[20 04 00 00 00 00 00 06] 1 LinkPGCN PGC 6
********** cell commands:
[20 01 00 00 00 00 00 0D] 1 LinkTailPGC

********** menu buttons commands:


Playback time: 00:00:06.10 (at 30 fps)
Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 0
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)
Subpic stream 1 status: 0x80000000 (streams for 4:3=0, wide=0, letterbox=0, pan&scan=0)

But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:05.00 00:00:05.00 8237 0 8415 8431 5 1
0 2 2 8 no no 0 1 00:00:01.10 00:00:06.10 8432 0 8451 8481 5 2



[Disclaimer screen 2]
VMGM , LU 1 (en) , 6 (0:06) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[00 02 00 00 00 00 00 00] 1 Break
********** post commands:
[71 00 00 0E 11 11 00 00] 1 Set gprm(14) =(mov) 4369
[61 00 00 09 00 00 00 00] 2 Set gprm(9) =(mov) gprm(0)
[79 00 00 09 00 0F 00 00] 3 Set gprm(9) &=(and) 15
[00 A1 00 09 00 01 00 07] 4 if ( gprm(9) == 1 ) then { Goto line 7 }
[00 A1 00 09 00 02 00 08] 5 if ( gprm(9) == 2 ) then { Goto line 8 }
[30 06 00 01 03 83 00 00] 6 (JumpSS) Jump to VTSM 3, Root menu (TTN 1)
[30 02 00 00 00 01 00 00] 7 (JumpTT) Jump to Title 1
[30 02 00 00 00 02 00 00] 8 (JumpTT) Jump to Title 2
********** cell commands:
[20 01 00 00 00 00 00 0D] 1 LinkTailPGC

********** menu buttons commands:


Playback time: 00:00:06.10 (at 30 fps)
Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 0
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)
Subpic stream 1 status: 0x80000000 (streams for 4:3=0, wide=0, letterbox=0, pan&scan=0)

But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:05.00 00:00:05.00 8482 0 8660 8678 6 1
0 2 2 8 no no 0 1 00:00:01.10 00:00:06.10 8679 0 8699 8732 6 2


Pheww.
Too long - next post

northwind
4th November 2004, 03:00
Now the obvious shortcut is line 23 in VMG-2
Replacing this with a JumpTT to title 1.
Doing that leaves the DVD useless.
It will not even play the the studio splash screen (title 3 in VTS-5) even if this is called way earlier. Go figure.

IFOedit delete playback button - same result.
PGCEdit kill playback on any of the VMGs mentioned above will render the result a dud.
I don't even ask PGCEdit to alter the anything but the PGC:

VMGM , LU 1 (en) , 2 (0:07) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[00 A1 00 09 20 03 00 24] 1 if ( gprm(9) == 8195 ) then { Goto line 36 }
[61 00 00 09 00 0E 00 00] 2 Set gprm(9) =(mov) gprm(14)
[79 00 00 09 F0 00 00 00] 3 Set gprm(9) &=(and) 61440
[00 A1 00 09 20 00 00 1B] 4 if ( gprm(9) == 8192 ) then { Goto line 27 }
[00 A1 00 09 50 00 00 24] 5 if ( gprm(9) == 20480 ) then { Goto line 36 }
[00 A1 00 09 30 00 00 1F] 6 if ( gprm(9) == 12288 ) then { Goto line 31 }
[00 A1 00 09 40 00 00 1A] 7 if ( gprm(9) == 16384 ) then { Goto line 26 }
[00 A1 00 09 60 00 00 18] 8 if ( gprm(9) == 24576 ) then { Goto line 24 }
[61 00 00 09 00 81 00 00] 9 Set gprm(9) =(mov) sprm(1:Audio stream number)
[79 00 00 09 00 0F 00 00] 10 Set gprm(9) &=(and) 15
[79 00 00 0A F0 FF 00 00] 11 Set gprm(10) &=(and) 61695
[75 00 00 09 01 00 00 00] 12 Set gprm(9) *=(mul) 256
[63 00 00 0A 00 09 00 00] 13 Set gprm(10) +=(add) gprm(9)
[61 00 00 09 00 82 00 00] 14 Set gprm(9) =(mov) sprm(2:Sub-picture stream number)
[79 00 00 09 00 7F 00 00] 15 Set gprm(9) &=(and) 127
[79 00 00 0A FF 00 00 00] 16 Set gprm(10) &=(and) 65280
[63 00 00 0A 00 09 00 00] 17 Set gprm(10) +=(add) gprm(9)
[00 A1 00 0E 10 04 00 26] 18 if ( gprm(14) == 4100 ) then { Goto line 38 }
[00 A1 00 0E 10 05 00 27] 19 if ( gprm(14) == 4101 ) then { Goto line 39 }
[00 A1 00 0E 10 06 00 28] 20 if ( gprm(14) == 4102 ) then { Goto line 40 }
[00 A1 00 0E 10 07 00 29] 21 if ( gprm(14) == 4103 ) then { Goto line 41 }
[71 00 00 0D 00 01 00 00] 22 Set gprm(13) =(mov) 1
[00 01 00 00 00 00 00 2B] 23 Goto line 43
[79 00 00 0E 0F FF 00 00] 24 Set gprm(14) &=(and) 4095
[73 00 00 0E 20 00 00 00] 25 Set gprm(14) +=(add) 8192
[30 06 00 01 03 83 00 00] 26 (JumpSS) Jump to VTSM 3, Root menu (TTN 1)
[61 00 00 09 00 00 00 00] 27 Set gprm(9) =(mov) gprm(0)
[79 00 00 09 00 0F 00 00] 28 Set gprm(9) &=(and) 15
[00 A1 00 09 00 02 00 25] 29 if ( gprm(9) == 2 ) then { Goto line 37 }
[00 01 00 00 00 00 00 24] 30 Goto line 36
[61 00 00 09 00 00 00 00] 31 Set gprm(9) =(mov) gprm(0)
[79 00 00 09 00 0F 00 00] 32 Set gprm(9) &=(and) 15
[00 A1 00 09 00 01 00 24] 33 if ( gprm(9) == 1 ) then { Goto line 36 }
[00 A1 00 09 00 02 00 25] 34 if ( gprm(9) == 2 ) then { Goto line 37 }
[30 06 00 01 03 83 00 00] 35 (JumpSS) Jump to VTSM 3, Root menu (TTN 1)
[30 02 00 00 00 01 00 00] 36 (JumpTT) Jump to Title 1
[30 02 00 00 00 02 00 00] 37 (JumpTT) Jump to Title 2
[30 02 00 00 00 04 00 00] 38 (JumpTT) Jump to Title 4
[30 02 00 00 00 05 00 00] 39 (JumpTT) Jump to Title 5
[30 02 00 00 00 06 00 00] 40 (JumpTT) Jump to Title 6
[30 02 00 00 00 07 00 00] 41 (JumpTT) Jump to Title 7
[00 01 00 00 00 00 00 2B] 42 Goto line 43
[00 00 00 00 00 00 00 00] 43 NOP
[20 04 00 00 00 00 00 03] 44 LinkPGCN PGC 3
********** post commands:
[20 04 00 00 00 00 00 03] 1 LinkPGCN PGC 3
********** cell commands:
[20 01 00 00 00 00 00 0D] 1 LinkTailPGC

********** menu buttons commands:


Playback time: 00:00:07.00 (at 30 fps)
Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 0
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)

But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:05.20 00:00:05.20 190 0 711 871 2 1
0 2 2 8 no no 0 1 00:00:01.10 00:00:07.00 872 0 890 918 2 2


But if you have an explanation - I am listening.

2COOL
4th November 2004, 03:07
@northwind

Do you do any blanking with PgcEdit 0.3.7? Does your DVD work with PgcEdit's Kill PGC Playback without even blanking anything yet?

northwind
4th November 2004, 04:13
Well - I just downloaded the 0.3.7
But yes - I have used PGCEdit to blank out stuff before - and it works well.

I do have a feeling there is more to your question though - can you elaborate?

And again: I really think that it is not related to PGCEdit rather it is a new scheme we haven't seen before. DVDRemake and IFOEdit fails too.
IFOEdit - its delete playback function of course.

2COOL
4th November 2004, 05:15
I think I know what your problem would be. It's these two commands in your VMGM 2.

[Rating screen]
VMGM , LU 1 (en) , 2 (0:07) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[61 00 00 09 00 81 00 00] 9 Set gprm(9) =(mov) sprm(1:Audio stream number)
[61 00 00 09 00 82 00 00] 14 Set gprm(9) =(mov) sprm(2:Sub-picture stream number)
When you do PgcEdit's Kill Playback or IfoEdit's Delete playback, they just change the PGC's Command Table. They should not alter your menu's attributes.

VMG Overview:

Video Manager Menu attributes:
Video: MPEG-2 720x480 (NTSC) (NTSC 525/60) (4:3) (not specified perm.display)
Audio 1: Not Specified (Dolby AC-3) 2ch 48Kbps DRC
SubPicture 1: Not Specified (2-bit rle )

When you blank any cells here, the audio and subpicture streams are gone. But, with the audio and subpicture attributes still configured in the IFO, it would create a problem. :(

Now, I can't confirm this right now but if DVD Remake does it's job with blanking, it should REMOVE the audio and subpicture attributes from VMGM MAT table. You should see this afterwards.


VMG Overview:

Video Manager Menu attributes:
Video: MPEG-2 720x480 (NTSC) (NTSC 525/60) (4:3) (not specified perm.display)

Because when you VMGM 2'cell is accessed, it thinks there are still audio and subpicture streams in it.

With these commands, it's looking for non-existant streams to input into gprm(9).

[61 00 00 09 00 81 00 00] 9 Set gprm(9) =(mov) sprm(1:Audio stream number)
[61 00 00 09 00 82 00 00] 14 Set gprm(9) =(mov) sprm(2:Sub-picture stream number)
I brought this matter up recently in this thread (http://forum.doom9.org/showthread.php?s=&postid=451731#post451731).

The updating/removal of the attributes when blanking with PgcEdit has been fixed in 0.3.7.

I knew you were blanking with DVD Remake, but I had to be sure you if you were blanking with PgcEdit in this project. Also, current VobBlanker 1.5.0.7 does not correct the VMGM MAT table yet.

I'd like to confirm my suspicions by asking to do another test. Try blanking out all your VMGM menus with PgcEdit only and test your playback.

northwind
4th November 2004, 06:17
Thanks 2cool. That is an interesting observation.
Unfortunately - no cigar.
I just tried it. After PGCEdits Utilities->blankOutAllPGCsInDomain the DVD is useless.

I am going along the very same lines you are. The DVD spec we know is not the real one. The real one is not available to us.
So there are errors in that spec and those errors can be exploited for things like this.

You mention VMG-2
Well VMG-2 doesn't come into play before the playback breaks.
The sequence is

FP
VMG-1
VTST-5,PGC1 (title 3)
VMG-2
VTSM-3, PGC1 (menu system)
....
VMG-2
VMG-3
VMG-5
VTST-3, PGC1 (main movie, widescreen)

When you alter anything (except IFOEdit manually editing playback time and start/stop sectors of the cells), then title 3 won't even play.
And title-3 is before VMG-2 is ever called the first time.

Spooky isn't it.

I verified the attribute change. It happens as you described.

The test I put together is 180M. I blanked all unused stuff except 1st cell of the main movie to make sure it plays.
The control works flawlessly so the test basis is ok.

I just verified this again - just for the fun of it:
In VMG-2 I changed:
[71 00 00 0D 00 01 00 00] 22 Set gprm(13) =(mov) 1
[00 02 00 00 00 00 00 00] 23 Break
[79 00 00 0E 0F FF 00 00] 24 Set gprm(14) &=(and) 4095
to
[71 00 00 0D 00 01 00 00] 22 Set gprm(13) =(mov) 1
[30 02 00 00 00 01 00 00] 23 (JumpTT) Jump to Title 1
[79 00 00 0E 0F FF 00 00] 24 Set gprm(14) &=(and) 4095

That alone breaks the playback :confused:


Oh - and thanks for your "NTSC land". Neat location. I shamelessly stole it right away.

blutach
4th November 2004, 11:13
Not wanting to interrupt this discussion, only to observe that "PAL Land" IS THE PLACE TO BE!!

LMAO

:D :D :D :cool: :cool: :cool:

jeanl
4th November 2004, 19:02
Originally posted by northwind

I just verified this again - just for the fun of it:
In VMG-2 I changed:
[71 00 00 0D 00 01 00 00] 22 Set gprm(13) =(mov) 1
[00 02 00 00 00 00 00 00] 23 Break
[79 00 00 0E 0F FF 00 00] 24 Set gprm(14) &=(and) 4095
to
[71 00 00 0D 00 01 00 00] 22 Set gprm(13) =(mov) 1
[30 02 00 00 00 01 00 00] 23 (JumpTT) Jump to Title 1
[79 00 00 0E 0F FF 00 00] 24 Set gprm(14) &=(and) 4095

That alone breaks the playback :confused:


northwind, I'm a bit confused... did you expect the change above to work? You're replacing a break (which normally goes to the video, plays it and executes the associated cell commands, then the post commands) by a direct jump to title 1, that's a heck of a change! Normally, after the video you would do LinkPGCN PGC 3, according to the post-command. Instead you jump straight to title 1. This is bound to break because lots of things are happening (registers being setup etc) in PGC3 and in the PGCs you then go into...

Thanks for sending the original and modified commands. I'm also very confused here. In your post showing the modified precommand area (i.e. after kill playback) in VMG-2, I can see that the break has been changed into a goto, which is normal. I would expect that to work normally! But then you say:
Now the obvious shortcut is line 23 in VMG-2
Replacing this with a JumpTT to title 1.
Doing that leaves the DVD useless.
Well, my reaction is the same as above! There's almost NO chance that this would work after you make that change!!!

So, can you clarify? If you just do what 2COOL was asking: blanking out all your VMGM menus with PgcEdit only, but don't change anything else!, does that render the DVD unusable??? If it does, then we have a real problem, because that's supposed to work!
If the DVD plays normally (except you no longer see the video) that's good, and if it breaks after your next modification (the JumpTT command), then that's not surprising, for the reasons I explained above.

So in short, it'd be great if you could confirm that PgcEdit Kill-playback does not break anything by itself, and that it's when you repleace the break by a JumpTT that things break.

Thanks!
Jeanl

northwind
5th November 2004, 01:27
So, can you clarify? If you just do what 2COOL was asking: blanking out all your VMGM menus with PgcEdit only, but don't change anything else!, does that render the DVD unusable??? If it does, then we have a real problem, because that's supposed to work!
Hello JeanL, Sorry for doing multiple things in one post. I can see I should have been more clear on what I was doing.
I started the earlier post with:
Unfortunately - no cigar.
I just tried it. After PGCEdits Utilities->blankOutAllPGCsInDomain the DVD is useless.
I was of course doing exactly what 2cool asked for. The answer to your question is therefore: I tried blanking out all the VMG menues with PGCEdit only (exactly as requested), and it left the DVD useless.

To your question about changing the VMG-2:
Yes of course I expect it to work. It should because all the registers are holding correct values and all that is happening is that title 1 is called after the warning/disclaimer screens. I was just calling it a bit earlier before the screens come into play.

Look - all these changes, both the PGCEdit blanking and the edititing of VMG-2 works using softplayers like PowerDVD and WinDVD.
They just don't work on my settop players (Panasonic and GoVideo).

I appreciate your (all of you) comments. I am not even sure what it is I am looking at here. I just have a feeling that it is an exploit of the DVD spec to make omitting these annoying screens as difficult as possible.

So any suggestion is more than welcome and I will retry/verify/do whatever is called for to figure this one out.

2COOL
5th November 2004, 01:32
@Northwind

Excuse me for my laziness but what is this DVD we are working on here? I assume it's a region 1 DVD. If so, i'll try to look for it.

northwind
5th November 2004, 01:45
It is "Breakin' all the Rules" Region 1 - yes
A screenshot of the Main menu screen is attached to this message for identification. That is if I succeed in attaching the image :cool:

I don't think the attachment went through. Well so be it...

kor-dvd
5th November 2004, 04:49
I downloaded pgcedit from "http://home.tiscali.be/debie.roland/pgcedit/index.html"
when I double-click on this program, It does not operate....
it doesn't show any err message...
What's wrong?

r0lZ
5th November 2004, 04:50
Maybe it's a problem with the new VOB cell not matching the video attributes in the IFOs.

Northwind, could you try to blank out the VMGM with the first option enabled: "Completely remove the menu VOB file". This way, the VOB will never be played anymore.

r0lZ
5th November 2004, 04:58
@kor-dvd

Humm... Difficult to say what's wrong without an error message.
However, it is possible that you got an error when downloading. Try to download it again...

Also, you may try to remove (or rename) the PgcEdit's configuration files, stored in "C:\Documents and Settings\<your login name>\Application Data\PgcEdit".
Note that the directory "Application Data" is hidden. You may have to enable "Show hidden files and folders" in Folder Options, View tab.

kor-dvd
5th November 2004, 05:01
Thank you replay...
I am poor at English, So You misunderstand my intension...
My question is that
I excute "pgcedit.exe" but It's not execute without any error message..
What's wrong with that?

r0lZ
5th November 2004, 05:10
I understand that PgcEdit.exe doesn't start when you double-click on his icon, and you doesn't see any error message. Is it your problem?

If so, try what I have suggested in my previour post: download it again. If it still doesn't start, try to remove the old configuration settings...

Also, you must have premission to write to the folder PgcEdit.exe is installed in, at least the first time you use it.

kor-dvd
5th November 2004, 05:10
I got it....
The reason is that
I am an Korean
So Program path contains Korean character...
then I change Full-path with ASCII So It execute very well...
Thanks r0lZ

r0lZ
5th November 2004, 05:14
Thanks for your answer. It's probably a problem related to Windows in Korean, not to PgcEdit.

jeanl
5th November 2004, 05:37
Northwind:

The sequence is

FP
VMG-1
VTST-5,PGC1 (title 3)
VMG-2
VTSM-3, PGC1 (menu system)
....
VMG-2
VMG-3
VMG-5
VTST-3, PGC1 (main movie, widescreen)


How did you determine the sequence? I looked at your precommand/postcommands and in my humble opinion, it goes to VMG-6 before it goes to VTST-3. That's because you have:

VMGM , LU 1 (en) , 5 (0:06) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[00 02 00 00 00 00 00 00] 1 Break
********** post commands:
[20 04 00 00 00 00 00 06] 1 LinkPGCN PGC 6
********** cell commands:
[20 01 00 00 00 00 00 0D] 1 LinkTailPGC


Now if you look at PGC 6, you see:

[71 00 00 0E 11 11 00 00] 1 Set gprm(14) =(mov) 4369
[61 00 00 09 00 00 00 00] 2 Set gprm(9) =(mov) gprm(0)
[79 00 00 09 00 0F 00 00] 3 Set gprm(9) &=(and) 15
[00 A1 00 09 00 01 00 07] 4 if ( gprm(9) == 1 ) then { Goto line 7 }
[00 A1 00 09 00 02 00 08] 5 if ( gprm(9) == 2 ) then { Goto line 8 }
[30 06 00 01 03 83 00 00] 6 (JumpSS) Jump to VTSM 3, Root menu (TTN 1)
[30 02 00 00 00 01 00 00] 7 (JumpTT) Jump to Title 1
[30 02 00 00 00 02 00 00] 8 (JumpTT) Jump to Title 2

There's a couple gprms initialized here, right?
In one of your posts, you said:

I just verified this again - just for the fun of it:
In VMG-2 I changed:
[71 00 00 0D 00 01 00 00] 22 Set gprm(13) =(mov) 1
[00 02 00 00 00 00 00 00] 23 Break
[79 00 00 0E 0F FF 00 00] 24 Set gprm(14) &=(and) 4095
to
[71 00 00 0D 00 01 00 00] 22 Set gprm(13) =(mov) 1
[30 02 00 00 00 01 00 00] 23 (JumpTT) Jump to Title 1
[79 00 00 0E 0F FF 00 00] 24 Set gprm(14) &=(and) 4095

That alone breaks the playback

well, right there you're skipping
VMG-3
VMG-5
VMG-6
and therefore you're skipping the gprm initializations that happen in VMG-6. That's potentially bad. Can you check whether Title 1 uses these gprms (14 and 9) for anything?

What's surprising is that it works in your soft DVD and not on your settop DVD....
Also, could you possibly try something for us:
- Can you try to skip playback without blanking of the PGCs in VMG in pgcedit? (just using the "kill PGC playback" macro? This will not blank anything, and won't change anything in the VOB, it will just modify the pre/post commands.
If we find that this does work (the DVD is playable on your settop players), but a real "blank" (which affects the VOB files) does not, then we know something bad is happening when PgcEdit replaces the VOB by a small blank one...

Thanks for your efforts man, it'd be great if we could get to the bottom of that!!! :)

jeanl

2COOL
5th November 2004, 07:23
@Northwind

Here is the actual navigation sequence from First Play PGC to Main Menu.

First Play PGC

********** pre commands:
[30 06 00 01 00 C0 00 00] 1 (JumpSS) Jump to VMGM PGC 1
________________________________________________________
VMGM , LU 1 (en) , 1 (0:05) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[71 00 00 00 10 00 00 00] 1 Set gprm(0) =(mov) 4096
[71 00 00 0A 00 00 00 00] 2 Set gprm(10) =(mov) 0
[71 00 00 0B 00 00 00 00] 3 Set gprm(11) =(mov) 0
[61 00 00 09 00 90 00 00] 4 Set gprm(9) =(mov) sprm(16:Preferred audio language)
[00 A1 00 09 65 6E 00 08] 5 if ( gprm(9) == 25966 ("en") ) then { Goto line 8 }
[00 A1 00 09 66 72 00 0C] 6 if ( gprm(9) == 26226 ("fr") ) then { Goto line 12 }
[00 01 00 00 00 00 00 0F] 7 Goto line 15

[61 00 00 09 00 92 00 00] 15 Set gprm(9) =(mov) sprm(18:Preferred sub-picture language)
[00 A1 00 09 65 6E 00 15] 16 if ( gprm(9) == 25966 ("en") ) then { Goto line 21 }
[00 A1 00 09 66 72 00 18] 17 if ( gprm(9) == 26226 ("fr") ) then { Goto line 24 }
[71 00 00 09 00 00 00 00] 18 Set gprm(9) =(mov) 0
[63 00 00 0A 00 09 00 00] 19 Set gprm(10) +=(add) gprm(9)
[00 01 00 00 00 00 00 1A] 20 Goto line 26

[71 00 00 0E 10 03 00 00] 26 Set gprm(14) =(mov) 4099
[30 02 00 00 00 03 00 00] 27 (JumpTT) Jump to Title 3
________________________________________________________
VTST 5 , 1 TTN 1 (0:15) Title 3 - Chapters: 2, Programs: 2, Cells: 2

********** pre commands:
[71 00 00 0E 20 03 00 00] 1 Set gprm(14) =(mov) 8195
[00 02 00 00 00 00 00 00] 2 Break

Play Columbia Tristar Logo

********** post commands:
[30 08 00 00 01 83 00 00] 1 (CallSS) Call the VTSM Root menu of the current VTS, resume cell 1
________________________________________________________
VTSM 5 , LU 1 (en) , 1 (dummy) RootM - Chapters: n/a, Programs: 0, Cells: 0

********** pre commands:
[71 00 00 07 00 00 00 00] 1 Set gprm(7) =(mov) 0
[71 00 00 08 00 00 00 00] 2 Set gprm(8) =(mov) 0
[71 00 00 0D 00 01 00 00] 3 Set gprm(13) =(mov) 1
[61 00 00 09 00 0C 00 00] 4 Set gprm(9) =(mov) gprm(12)
[71 00 00 0C 00 02 00 00] 5 Set gprm(12) =(mov) 2
[71 A0 0E 0E 50 00 00 00] 6 if ( gprm(14) == 0 ) then { Set gprm(14) =(mov) 20480 }
[30 06 00 02 00 C0 00 00] 7 (JumpSS) Jump to VMGM PGC 2
________________________________________________________
VMGM , LU 1 (en) , 2 (0:07) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[00 A1 00 09 20 03 00 24] 1 if ( gprm(9) == 8195 ) then { Goto line 36 }
[61 00 00 09 00 0E 00 00] 2 Set gprm(9) =(mov) gprm(14)
[79 00 00 09 F0 00 00 00] 3 Set gprm(9) &=(and) 61440
[00 A1 00 09 20 00 00 1B] 4 if ( gprm(9) == 8192 ) then { Goto line 27 }

[61 00 00 09 00 00 00 00] 27 Set gprm(9) =(mov) gprm(0)
[79 00 00 09 00 0F 00 00] 28 Set gprm(9) &=(and) 15
[00 A1 00 09 00 02 00 25] 29 if ( gprm(9) == 2 ) then { Goto line 37 }
[00 01 00 00 00 00 00 24] 30 Goto line 36

[30 02 00 00 00 01 00 00] 36 (JumpTT) Jump to Title 1
________________________________________________________
VTST 3 , 1 TTN 1 (1:25:09) Title 1 - Chapters: 28, Programs: 28, Cells: 28

********** pre commands:
[00 A1 00 0E 11 11 00 33] 1 if ( gprm(14) == 4369 ) then { Goto line 51 }
[61 00 00 09 00 0E 00 00] 2 Set gprm(9) =(mov) gprm(14)
[79 00 00 09 F0 00 00 00] 3 Set gprm(9) &=(and) 61440
[00 A1 00 09 20 00 00 41] 4 if ( gprm(9) == 8192 ) then { Goto line 65 }

[30 08 00 00 01 83 00 00] 65 (CallSS) Call the VTSM Root menu of the current VTS, resume cell 1
________________________________________________________
VTSM 3 , LU 1 (en) , 1 (dummy) RootM - Chapters: n/a, Programs: 0, Cells: 0

********** pre commands:
[61 00 00 09 00 0E 00 00] 1 Set gprm(9) =(mov) gprm(14)
[79 00 00 09 F0 00 00 00] 2 Set gprm(9) &=(and) 61440
[00 A1 00 09 20 00 00 25] 3 if ( gprm(9) == 8192 ) then { Goto line 37 }

[61 00 00 02 00 0A 00 00] 37 Set gprm(2) =(mov) gprm(10)
[79 00 00 02 00 7F 00 00] 38 Set gprm(2) &=(and) 127
[41 00 00 00 82 00 00 00] 39 (SetSTN) Set Sub-picture stream = gprm(2)
[61 00 00 03 00 02 00 00] 40 Set gprm(3) =(mov) gprm(2)
[79 00 00 03 00 3F 00 00] 41 Set gprm(3) &=(and) 63
[61 00 00 04 00 0A 00 00] 42 Set gprm(4) =(mov) gprm(10)
[79 00 00 04 0F 00 00 00] 43 Set gprm(4) &=(and) 3840
[76 00 00 04 01 00 00 00] 44 Set gprm(4) /=(div) 256
[79 00 00 04 00 0F 00 00] 45 Set gprm(4) &=(and) 15
[41 00 00 84 00 00 00 00] 46 (SetSTN) Set Audio stream = gprm(4)
[20 04 00 00 00 00 00 04] 47 LinkPGCN PGC 4
________________________________________________________
VTSM 3 , LU 1 (en) , 4 (0:29) 6b. - Chapters: n/a, Programs: 5, Cells: 5

********** pre commands:
[61 00 00 09 00 81 00 00] 1 Set gprm(9) =(mov) sprm(1:Audio stream number)
[79 00 00 09 00 0F 00 00] 2 Set gprm(9) &=(and) 15
[00 E1 00 09 00 01 00 05] 3 if ( gprm(9) <= 1 ) then { Goto line 5 }

[61 00 00 09 00 81 00 00] 5 Set gprm(9) =(mov) sprm(1:Audio stream number)
[79 00 00 09 00 0F 00 00] 6 Set gprm(9) &=(and) 15
[75 00 00 09 01 00 00 00] 7 Set gprm(9) *=(mul) 256
[79 00 00 0B F0 FF 00 00] 8 Set gprm(11) &=(and) 61695
[63 00 00 0B 00 09 00 00] 9 Set gprm(11) +=(add) gprm(9)
[00 A1 00 0E 20 03 00 33] 10 if ( gprm(14) == 8195 ) then { Goto line 51 }

[71 A0 0E 0E 00 00 20 03] 51 if ( gprm(14) == 8195 ) then { Set gprm(14) =(mov) 0 }
[71 A0 0E 0E 00 00 50 00] 52 if ( gprm(14) == 20480 ) then { Set gprm(14) =(mov) 0 }
[71 00 00 08 00 00 00 00] 53 Set gprm(8) =(mov) 0
[71 00 00 0D 00 01 00 00] 54 Set gprm(13) =(mov) 1
[61 00 00 09 00 0A 00 00] 55 Set gprm(9) =(mov) gprm(10)
[79 00 00 09 F0 00 00 00] 56 Set gprm(9) &=(and) 61440
[20 A6 00 09 10 00 04 02] 57 if ( gprm(9) == 4096 ) then { LinkPGN Program 2, button 1 (1024) }
[7A 00 00 0A 10 00 00 00] 58 Set gprm(10) |=(or) 4096
[20 06 00 00 00 00 04 01] 59 LinkPGN Program 1, button 1 (1024)

Main Menu

northwind
5th November 2004, 07:29
Jeanl,

Ha - one day - one day is all it takes to forget what you did. So I just spend an hour before it dawned on me.
You missed the point, but what is worse - so did I and I came up with that stupid example.

Anyway.... let me take it in order:
The sequence: Yes you are right. It is a typo. In my notes it is there. VMG-6 is called before VTST-3,1

The example: That is where I in VMG-2 line 23 replaced a break with a jump to title 1.
It is irrelevant. I could have put a NOP in there.
Title 3 (Studio splash screen; VTST-5,1) is called and should have played regardless because it is called way before VMG-2.
But it never plays. The set-tops stops never showing anything.
That is what I should have pointed out.

Otherwise you are right. I would need to set gprm(14) to 4369 to get title 1 playing. I was pondering that for an hour before it dawned on me that I should still have seen title-3. Duh.
Sorry for that one.



2Cool: Just saw your post - this took some time to go through.
Yes I agree - that is my notes as well.
The jump to title 1 in VMG-2, line 23 is still valid, because it breaks the playing of title-3

jeanl
5th November 2004, 07:34
northwind, 2COOL

Now, I'm really confused. Where are we standing now? I have a hard time deciding if something's wrong with the way PgcEdit kills playback or if northwind did something fishy in addition?
2COOL, you seem to have the DVD, can you replicate the problem?
The reason I'm curious is that it's not the first time we've heard of people having problems with DVDs blanked with PgcEdit or Vobblanker... It'd be cool if we could get to the bottom of that...


:confused:
Jeanl

northwind
5th November 2004, 07:38
Well - I didn't do anything fishy intentionally or knowingly.
I could have two stupid set top players.

Panasonic F65 (5 changer carusel type)
GoVideo (dumm little vhs/dvd combo)

Sajan
5th November 2004, 17:19
Here are some qwestions;)

1. How to add new valid PGC (with new associated blank video)?
2. How to add cell in existing PGC (for further pointing on existing VID/CID or for creating new associated blank video)?
3. How to remove PGC?
4. How to add new title in VMGM?

5. Why I can't jump next PGC from this, only autojump at the playend of it:
----------------------------------------
VMGM , LU 1 (ru) , 3 (0:07) 0b. - Chapters: n/a, Programs: 1, Cells: 1

********** pre commands:
********** post commands:
[20 04 00 00 00 00 00 04] 1 LinkPGCN PGC 4
********** cell commands:
********** menu buttons commands:

Playback time: 00:00:07.25 (at 30 fps)
Playback mode: sequential
PUOs: 16007172 (0x00F44004)
- Title play (0x00000004)
- Menu call - Angle (0x00004000)
- Still off (0x00040000)
- Audio stream change (0x00100000)
- Subpicture stream change (0x00200000)
- Angle change (0x00400000)
- Karaoke audio mix change (0x00800000)
NextPGCN: 0
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0

But- Prog. Cell Type Layer Res-....Still..Cell
tons..............Flags Break tricted Timel Cmd.
0......1.....1.....2......yes...no.......0.....0
------------------------------------

r0lZ
5th November 2004, 17:54
Originally posted by Sajan
Here are some qwestions;)

1. How to add new valid PGC (with new associated blank video)?
2. How to add cell in existing PGC (for further pointing on existing VID/CID or for creating new associated blank video)?
3. How to remove PGC?
You cannot do that in PgcEdit for now. Maybe later...


4. How to add new title in VMGM? You cannot have a Title in the VMGM domain.
For now, it is only possible to add a dummy PGC to an existing VMGM.
But you can inport a whole VMGM with Import Menu. This will replace the current VMGM, though.


5. Why I can't jump next PGC from this, only autojump at the playend of it:
...
NextPGCN: 0
... I don't understand this request.
To jump to another PGC with the Next Chapter button, you need to set the NextPGCN to the PGC number you want to jump to. Is it what you want?

Sajan
5th November 2004, 18:17
You cannot do that in PgcEdit for now. Maybe later...
By the way, where I can do it, which soft can be helpful?

You cannot have a Title in the VMGM domain.
For now, it is only possible to add a dummy PGC to an existing VMGM.
But you can inport a whole VMGM with Import Menu. This will replace the current VMGM, though.
Sorry, maybe I've said something wrong (sorry for my bad English). I talk about adding Title in common Title Play Map Table and pointing to existing title in VTS.

To jump to another PGC with the Next Chapter button, you need to set the NextPGCN to the PGC number you want to jump to.
I've set it to 4 (next PGC with video), but nothing is changed.
Next button dosn't do anything, just need to wait of playing PGC.

r0lZ
5th November 2004, 19:47
Originally posted by Sajan
I talk about adding Title in common Title Play Map Table and pointing to existing title in VTS. That's not possible for now.
Maybe I will add a Title/Chapter/Program editor later, but don't expect that soon. Sorry.


Next button dosn't do anything, just need to wait of playing PGC. I really don't know. Maybe someone here could explain...

2COOL
5th November 2004, 19:52
@Northwind

Originally posted by northwind
If I use PGCEdits kill playback function or use DVDRemake's blanking then the player will start loading and then execute an exit. I still can't recreate your situation. :( I only used PgcEdit's Kill Playback and I still got my studio splash (Title 3) to display, software or standaone player. It should've worked and it did for me.

I also have a new navigation sequence for your Breakin' All The Rules (R1) DVD. It seems I didn't take into account on your standalone's player's Audio and Subpictures. SPRMs 16 and 18 can only be set by your player and not in the IFOs. I'm highly assuming that both are set to English and also the same for your computer since you reside in NTSC Land. Please check to see your standalone is set to English.

I'm going to post the commands only to the Studio Splash display since you had problems displaying it.

I assumed English for your audio and subpicture language here.

First Play PGC

********** pre commands:
[30 06 00 01 00 C0 00 00] 1 (JumpSS) Jump to VMGM PGC 1
________________________________________________________
VMGM , LU 1 (en) , 1 (0:00) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[71 00 00 00 10 00 00 00] 1 Set gprm(0) =(mov) 4096
[71 00 00 0A 00 00 00 00] 2 Set gprm(10) =(mov) 0
[71 00 00 0B 00 00 00 00] 3 Set gprm(11) =(mov) 0
[61 00 00 09 00 90 00 00] 4 Set gprm(9) =(mov) sprm(16:Preferred audio language)
[00 A1 00 09 65 6E 00 08] 5 if ( gprm(9) == 25966 ("en") ) then { Goto line 8 }

[71 00 00 09 00 00 00 00] 8 Set gprm(9) =(mov) 0
[75 00 00 09 01 00 00 00] 9 Set gprm(9) *=(mul) 256
[63 00 00 0A 00 09 00 00] 10 Set gprm(10) +=(add) gprm(9)
[00 01 00 00 00 00 00 0F] 11 Goto line 15

[61 00 00 09 00 92 00 00] 15 Set gprm(9) =(mov) sprm(18:Preferred sub-picture language)
[00 A1 00 09 65 6E 00 15] 16 if ( gprm(9) == 25966 ("en") ) then { Goto line 21 }

[71 00 00 09 00 00 00 00] 21 Set gprm(9) =(mov) 0
[63 00 00 0A 00 09 00 00] 22 Set gprm(10) +=(add) gprm(9)
[00 01 00 00 00 00 00 1A] 23 Goto line 26

[71 00 00 0E 10 03 00 00] 26 Set gprm(14) =(mov) 4099
[30 02 00 00 00 03 00 00] 27 (JumpTT) Jump to Title 3
________________________________________________________
VTST 5 , 1 TTN 1 (0:15) Title 3 - Chapters: 2, Programs: 2, Cells: 2

********** pre commands:
[71 00 00 0E 20 03 00 00] 1 Set gprm(14) =(mov) 8195
[00 02 00 00 00 00 00 00] 2 Break

Play Columbia Tristar LogoPersonally, the people who authored this DVD should have the back of their hands slapped hard!:angry: :angry: What were you guys thinking?

In VMGM PGC 1, there are only 3 GPRMs set: 9,10,14.

[EDIT]Actually, 4 GPRMs: 0,9,10,14.

Upon DVD insert, all gprms are set to 0 (zero). So when it comes time to jump to Title 3 in pre command 27, grpm(9) is still with a value of 0. Basically, all I saw during this PGC was gprm 9 and 10 being input values here and there and resetted to 0. What's does this do for us?! These registers (variables) should be put to good use down the road in compare commands like if gprm(9) = ###, then play this Title. Anyways, in VTST 5 PGC 1, there is no such command. you only have a gprm(14) setting and a break. Speaking of grpm(14), the only time grpm(14) was set in VMGM PGC 1 was at the end before jumping to Title 3. But what does the first pre command in Title 3 do? It immediately sets grpm(14) to another value! What's the reasoning on that! They might as well have taken out the gprm(14) setting in VMGM PGC 1 completely.

STOP THE INSANITY!!! :angry: :angry:

And there's more. In the full VMGM PGC 1 Command Table...

VMGM , LU 1 (en) , 1 (0:05) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[71 00 00 00 10 00 00 00] 1 Set gprm(0) =(mov) 4096
[71 00 00 0A 00 00 00 00] 2 Set gprm(10) =(mov) 0
[71 00 00 0B 00 00 00 00] 3 Set gprm(11) =(mov) 0
[61 00 00 09 00 90 00 00] 4 Set gprm(9) =(mov) sprm(16:Preferred audio language)
[00 A1 00 09 65 6E 00 08] 5 if ( gprm(9) == 25966 ("en") ) then { Goto line 8 }
[00 A1 00 09 66 72 00 0C] 6 if ( gprm(9) == 26226 ("fr") ) then { Goto line 12 }
[00 01 00 00 00 00 00 0F] 7 Goto line 15
[71 00 00 09 00 00 00 00] 8 Set gprm(9) =(mov) 0
[75 00 00 09 01 00 00 00] 9 Set gprm(9) *=(mul) 256
[63 00 00 0A 00 09 00 00] 10 Set gprm(10) +=(add) gprm(9)
[00 01 00 00 00 00 00 0F] 11 Goto line 15
[71 00 00 09 00 01 00 00] 12 Set gprm(9) =(mov) 1
[75 00 00 09 01 00 00 00] 13 Set gprm(9) *=(mul) 256
[63 00 00 0A 00 09 00 00] 14 Set gprm(10) +=(add) gprm(9)
[61 00 00 09 00 92 00 00] 15 Set gprm(9) =(mov) sprm(18:Preferred sub-picture language)
[00 A1 00 09 65 6E 00 15] 16 if ( gprm(9) == 25966 ("en") ) then { Goto line 21 }
[00 A1 00 09 66 72 00 18] 17 if ( gprm(9) == 26226 ("fr") ) then { Goto line 24 }
[71 00 00 09 00 00 00 00] 18 Set gprm(9) =(mov) 0
[63 00 00 0A 00 09 00 00] 19 Set gprm(10) +=(add) gprm(9)
[00 01 00 00 00 00 00 1A] 20 Goto line 26
[71 00 00 09 00 00 00 00] 21 Set gprm(9) =(mov) 0
[63 00 00 0A 00 09 00 00] 22 Set gprm(10) +=(add) gprm(9)
[00 01 00 00 00 00 00 1A] 23 Goto line 26
[71 00 00 09 00 01 00 00] 24 Set gprm(9) =(mov) 1
[63 00 00 0A 00 09 00 00] 25 Set gprm(10) +=(add) gprm(9)
[71 00 00 0E 10 03 00 00] 26 Set gprm(14) =(mov) 4099
[30 02 00 00 00 03 00 00] 27 (JumpTT) Jump to Title 3
********** post commands:
[71 00 00 0E 10 03 00 00] 1 Set gprm(14) =(mov) 4099
[30 02 00 00 00 03 00 00] 2 (JumpTT) Jump to Title 3
********** cell commands:
[20 01 00 00 00 00 00 0D] 1 LinkTailPGC Why are there post and cell commands? I could not find anywhere where the video content here of 37 seconds of blank would actually play. There is no way in the pre commands that we can avoid our Jump to Title 3. This jump definitely bypasses the video play and post/cell commands.

With the above said, the first video display you should see is the studio splash. I got mine to display, burnt on DVDR or not, and I'm beginning to believe it really is your players. The troubleshooting system I use is that if it works on your software player and not your standalone, you'll have to look at your burning method, media, and standalone properties/settings.

To end this post, I really think VMGM PGC 1 should have just two pre command. I see no difference between this and the original setup. IMHO, this DVD was poorly authored by amatuers and definitely "Breakin' All the Rules"!! :rolleyes: :rolleyes:

VMGM , LU 1 (en) , 1 (0:05) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[71 00 00 00 10 00 00 00] 1 Set gprm(0) =(mov) 4096
[30 02 00 00 00 03 00 00] 2 (JumpTT) Jump to Title 3

Even better! Just put the same commands in your First Play PGC. Who cares about VMGM PGC 1? It's useless!
VMG , First-Play PGC - Chapters: n/a, Programs: n/a, Cells: n/a

********** pre commands:
[71 00 00 00 10 00 00 00] 1 Set gprm(0) =(mov) 4096
[30 02 00 00 00 03 00 00] 2 (JumpTT) Jump to Title 3

Who knows? maybe this will work for you! Now, how's that for deeply analyzing this DVD! ;)

P.S. Why I'm still on irritating mode with this DVD, I'd like to say that I have a pet peeve on PGC Command Tables that have a "Break" command as the last pre command.

[EDIT]There is only one instance of gprm(7) being used in a command and it's in

VTSM 5 , LU 1 (en) , 1 (dummy) RootM - Chapters: n/a, Programs: 0, Cells: 0

********** pre commands:
[71 00 00 07 00 00 00 00] 1 Set gprm(7) =(mov) 0 gprm(7) was already 0 upon DVD insert.

2COOL
5th November 2004, 21:50
@Northwind

How about we do this. Highlight the hex values below with your mouse and CTRL+C (copy)

{71 00 00 00 10 00 00 00} {71 00 00 0E 20 03 00 00} {30 06 00 01 05 83 00 00}

Go your First Play PGC's first pre command and select that. Then CTRL+V (paste). You should have this now.

Before:

VMG , First-Play PGC - Chapters: n/a, Programs: n/a, Cells: n/a

********** pre commands:
[30 06 00 01 00 C0 00 00] 1 (JumpSS) Jump to VMGM PGC 1

After:
********** pre commands:
[71 00 00 00 10 00 00 00] 1 Set gprm(0) =(mov) 4096
[71 00 00 0E 20 03 00 00] 2 Set gprm(14) =(mov) 8195
[30 06 00 01 05 83 00 00] 3 (JumpSS) Jump to VTSM 5, Root menu (TTN 1)

Save

By doing this, you start your navigation after Title 3 (studio logo) therefore bypassing it. You pretty much cut out VMGM PGC 1 and VTST 5 PGC 1 from the original sequence. ;)

2COOL
5th November 2004, 22:04
@r0lZ

Small request.

Anyway of having an option to exclude the hex values when doing an info dump? Sure would cut down on thread space if we didn't need it.

r0lZ
5th November 2004, 22:09
Originally posted by 2COOL
@r0lZ

Small request.

Anyway of having an option to exclude the hex values when doing an info dump? Sure would cut down on thread space if we didn't need it. Good idea. However, it is sometimes useful to copy/paste from the dump's hex values to PgcEdit. Anyway, I will add the option...

2COOL
5th November 2004, 22:21
Originally posted by r0lZ
However, it is sometimes useful to copy/paste from the dump's hex values to PgcEdit.doesn't work with multiple consecutive commands. :(
Anyway, I will add the option... Thanks!

blutach
5th November 2004, 22:28
Originally posted by Sajan
I've set it to 4 (next PGC with video), but nothing is changed.
Next button dosn't do anything, just need to wait of playing PGC. Try removing all your PUOps. That's what is stopping you from using your "next" button.

jeanl
5th November 2004, 22:30
Originally posted by northwind
Well - I didn't do anything fishy intentionally or knowingly.
I could have two stupid set top players.
Panasonic F65 (5 changer carusel type)
GoVideo (dumm little vhs/dvd combo)
@northwind,
Is there a way you could try the modified DVD on other players? I find it hard to believe that you have 2 players that are misbehaving. (althouth it's quite possible).

@2COOL:

The troubleshooting system I use is that if it works on your software player and not your standalone, you'll have to look at your burning method, media, and standalone properties/settings.
well what's puzzling is that I think northwind says that regular non-blanked backups play just fine on his DVD player.
This is quite confusing, and the fact that the DVD was authored in a stranger manner (but still DVD compliant judging from what you describe) can't really be used to justify why PgcEdit or DVDRemake yield unplayable DVDs, right?

Jeanl

blutach
5th November 2004, 22:33
Originally posted by 2COOL
doesn't work with multiple consecutive commands. :(
[b]Thanks! I've found that if you select mutliple commands then right click and use "copy as text" you can copy them. Then paste them here as "code".

2COOL
5th November 2004, 22:33
@blutach

According to Sajan's previous post, it's already cleared.
Originally posted by Sajan
5. Why I can't jump next PGC from this, only autojump at the playend of it:
----------------------------------------

VMGM , LU 1 (ru) , 3 (0:07) 0b. - Chapters: n/a, Programs: 1, Cells: 1

********** pre commands:
********** post commands:
[20 04 00 00 00 00 00 04] 1 LinkPGCN PGC 4
********** cell commands:
********** menu buttons commands:

Playback time: 00:00:07.25 (at 30 fps)
Playback mode: sequential
PUOs: 16007172 (0x00F44004)
- Title play (0x00000004)
- Menu call - Angle (0x00004000)
- Still off (0x00040000)
- Audio stream change (0x00100000)
- Subpicture stream change (0x00200000)
- Angle change (0x00400000)
- Karaoke audio mix change (0x00800000)
NextPGCN: 0
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0

2COOL
5th November 2004, 22:40
@jeanl

Originally posted by 2COOL
With the above said, the first video display you should see is the studio splash. I got mine to display, burnt on DVDR or not, and I'm beginning to believe it really is your players. The troubleshooting system I use is that if it works on your software player and not your standalone, you'll have to look at your burning method, media, and standalone properties/settings.I agree with you on Northwind testing his disc on other players. Nothing like going down to Best Buy, CompUSA, Circuit City, etc. and doing a little browsing and testing. ;)

blutach
5th November 2004, 22:41
Excuse my ignorance, but wouldn't the Title Play PUO mess him up?

Anyways, back to episode guide testing ;)

2COOL
5th November 2004, 22:46
Originally posted by blutach
I've found that if you select mutliple commands then right click and use "copy as text" you can copy them. Then paste them here as "code". I still can't get it to work even off the info dump window or on a thread post. There's no keyboard commands either for "copy as text". You must be referring to copying in the Command table.

blutach
5th November 2004, 23:00
I was and I can see that you can't do it. However, there's a way.

Copy as text
Open MS word and paste
Go to where you want and hold down Alt key
This will select text "by columns"

See below:

http://img130.exs.cx/img130/1535/untitled4.gif

2COOL
5th November 2004, 23:00
Originally posted by blutach
Excuse my ignorance, but wouldn't the Title Play PUO mess him up? No. Just did a quick test to confirm. Checking NextPG Search PUO would be the one to stop the remote's Next Chapter button from working.

2COOL
5th November 2004, 23:43
@Sajan

Originally posted by Sajan
5. Why I can't jump next PGC from this, only autojump at the playend of it:
----------------------------------------
VMGM , LU 1 (ru) , 3 (0:07) 0b. - Chapters: n/a, Programs: 1, Cells: 1

********** pre commands:
********** post commands:
[20 04 00 00 00 00 00 04] 1 LinkPGCN PGC 4
********** cell commands:
********** menu buttons commands:If you don't want your PGC's video content to play, just do a Kill Playback on this PGC.


After:

VMGM , LU 1 (ru) , 3 (0:07) 0b. - Chapters: n/a, Programs: 1, Cells: 1

********** pre commands:
[00 00 00 00 00 00 00 00] 1 NOP
[20 04 00 00 00 00 00 04] 2 LinkPGCN PGC 4
********** post commands:
[20 04 00 00 00 00 00 04] 1 LinkPGCN PGC 4

r0lZ
6th November 2004, 01:03
Originally posted by 2COOL
doesn't work with multiple consecutive commands. :( I have just changed the code: In v0.3.8, you will be able to paste commands in full text format (copied with 'Copy as Text') directly in the main listbox. :)

Note that the *** pre/post/cell labels are not pasted: you may therefore paste the pre, post and cell commands in one operation, but all commands will be pasted in the same section.

@2COOL
Do you still want the option to remove the [hex codes] from the Info dumps? Seems useful to keep them now, no?

jeanl
6th November 2004, 01:10
Originally posted by r0lZ
I have just changed the code: In v0.3.8, you will be able to paste commands in full text format (copied with 'Copy as Text') directly in the main listbox. :)

Note that the *** pre/post/cell labels are not pasted: you may therefore paste the pre, post and cell commands in one operation, but all commands will be pasted in the same section.

Do you still want the option to remove the [hex codes] from the Info dumps?
sweeeeeet! :)
It'll make guides easier to follow...

Jeanl

2COOL
6th November 2004, 01:12
Originally posted by r0lZ
@2COOL
Do you still want the option to remove the [hex codes] from the Info dumps? Seems useful to keep them now, no? If it's no problem for you to implement it then yes. :)

Sajan
6th November 2004, 07:18
@blutach
Try removing all your PUOps. That's what is stopping you from using your "next" button.
Usually, when there is PUO on NextPG, Next button in soft player is disabled at all. In this case Next button is enabled, but doesn't do anything, just continue to play.

@2COOL
If you don't want your PGC's video content to play, just do a Kill Playback on this PGC.
Thanks, but I really don't want to kill, just to enable skipping by the wish.

Sajan
6th November 2004, 07:40
I've just moved whole DVD through PGCedit's "enable all operations". It's hopeless. Seems, it's something else.

By the way, I've noticed, that next PGC (with fully functional NextPG) have 2 cells with attributes 2 and 8. But this PGC (shown above) have only one cell with attributes 2. Can it be something here?

blutach
6th November 2004, 13:42
@sajan

Admit to being stumped here.... My only thought - I do trust there is actually a PGC4 in that menu?

Dimad
6th November 2004, 14:30
Originally posted by Sajan
I've just moved whole DVD through PGCedit's "enable all operations". It's hopeless. Seems, it's something else.


There are PUOPs in vobs as well. Don't think PGCEdit changes these. This may be the reason.

You may try IfoEdit to strip them all in vobs, or DvdReMake Pro to set the ones you need (or just strip them all)

Sajan
6th November 2004, 19:36
Originally posted by blutach
Admit to being stumped here.... My only thought - I do trust there is actually a PGC4 in that menu?
Ok. There is more info.
So, NextPG doesn't work at PGC3->PGC4 transition, but works at PGC4->PGC6 transition.

VMGM , LU 1 (ru) , 3 (0:07) 0b. - Chapters: n/a, Programs: 1, Cells: 1

********** pre commands:
[71 00 00 01 00 00 00 00] 1 Set gprm(1) =(mov) 0
[71 00 00 02 00 00 00 00] 2 Set gprm(2) =(mov) 0
[71 00 00 03 00 02 00 00] 3 Set gprm(3) =(mov) 2
[71 00 00 04 00 00 00 00] 4 Set gprm(4) =(mov) 0
[71 00 00 05 00 00 00 00] 5 Set gprm(5) =(mov) 0
[71 00 00 06 00 00 00 00] 6 Set gprm(6) =(mov) 0
********** post commands:
[20 04 00 00 00 00 00 04] 1 LinkPGCN PGC 4
********** cell commands:

********** menu buttons commands:


Playback time: 00:00:07.25 (at 30 fps)
Playback mode: sequential
PUOs: 16007172 (0x00F44004)
- Title play (0x00000004)
- Menu call - Angle (0x00004000)
- Still off (0x00040000)
- Audio stream change (0x00100000)
- Subpicture stream change (0x00200000)
- Angle change (0x00400000)
- Karaoke audio mix change (0x00800000)
NextPGCN: 4
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0

But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:07.25 00:00:07.25 0 0 60 60 1 1


VMGM , LU 1 (ru) , 4 (0:10) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
********** post commands:
[20 04 00 00 00 00 00 06] 1 LinkPGCN PGC 6
********** cell commands:

********** menu buttons commands:


Playback time: 00:00:10.11 (at 30 fps)
Playback mode: sequential
PUOs: 16007172 (0x00F44004)
- Title play (0x00000004)
- Menu call - Angle (0x00004000)
- Still off (0x00040000)
- Audio stream change (0x00100000)
- Subpicture stream change (0x00200000)
- Angle change (0x00400000)
- Karaoke audio mix change (0x00800000)
NextPGCN: 6
PrevPGCN: 3
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)

But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:10.00 00:00:10.00 61 0 3744 3762 3 1
0 2 2 8 no no 0 0 00:00:00.11 00:00:10.11 3763 0 3763 3792 3 2

Sorry for such unreadable info about cells, just copy-pasted from PGCedit;)

Sajan
6th November 2004, 19:56
Originally posted by Dimad
There are PUOPs in vobs as well. Don't think PGCEdit changes these. This may be the reason.

You may try IfoEdit to strip them all in vobs, or DvdReMake Pro to set the ones you need (or just strip them all)
Humm... When I tried to export Test DVD with DvdReMake Pro 2.2.0, I found that all PGC commands were killed...

Anyway, I don't think it's because of PUOPs at all.
May be something else... But I'm working with DVD just a little time, I don't know much about it...

2COOL
6th November 2004, 23:10
@Sajan

Though I'm not a technical expert on this matter, I have disturbing feeling about your VOBUs (Video OBject Unit) being equal with a playback time of 00:00:07.25 /30 fps. Maybe mpucoder or someone else could comment whether or not it's ok. Don't know if VOBUs and and your NextPG button have anything to do with each other.

This is regards to your VMGM , LU 1 (ru) , 3

But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:07.25 00:00:07.25 0 0 60 60 1 1
Just putting in another 2¢.

2COOL
7th November 2004, 03:16
@r0lZ

I just had my "low disk space" alert going off on my computer. I did a size search for files that I can delete and found this.

http://img104.exs.cx/img104/6784/Image_001.png

Let me quote a line from "The Princess Bride"..."Hello, my name is Inigo Montoya. You killed my father. Prepare to die!". No...not that one :p, ummmm...this one

INCONCEIVABLE!!! :eek: :eek:

Anyways, this file was found in my C:\Documents and Settings\username\Local Settings\Temp

I feel it's still growing each day.:( What's feeding it and also what's the consequences if I delete it?

[EDIT]
Originally posted by r0lZ
You will need to delete the files manually.
- Delete the PgcEdit's install directory (with PgcEdit.exe and a bin subdirectory).
- Delete the shortcuts pointing to PgcEdit if you created some (in the startup menu, the QuickLaunch menu, the desktop...)
- Delete the configuration directory C:\Documents and settings\<YOUR_USER_NAME>\Application Data\PgcEdit
That's all. In regards to your comments on manually uninstalling, does it target this file too in auto-uninstalling?

Sajan
7th November 2004, 06:03
@2COOL
1. Where I can get valid VOBU start, end (according to this video)?

2. Can you examine PGC4 info? It seems, there is wrong too...

3. Can I use this tables?

[00000000] End byte of VMGM_VOBU_ADMAP 235 [000000eb]
[00000004] VOBU_1: start sector 0 [00000000]
[00000008] VOBU_2: start sector 46 [0000002e]
[0000000c] VOBU_3: start sector 47 [0000002f]
[00000010] VOBU_4: start sector 48 [00000030]
[00000014] VOBU_5: start sector 49 [00000031]
[00000018] VOBU_6: start sector 50 [00000032]
[0000001c] VOBU_7: start sector 51 [00000033]
[00000020] VOBU_8: start sector 52 [00000034]
[00000024] VOBU_9: start sector 53 [00000035]
[00000028] VOBU_10: start sector 54 [00000036]
[0000002c] VOBU_11: start sector 55 [00000037]
[00000030] VOBU_12: start sector 56 [00000038]
[00000034] VOBU_13: start sector 57 [00000039]
[00000038] VOBU_14: start sector 58 [0000003a]
[0000003c] VOBU_15: start sector 59 [0000003b]
[00000040] VOBU_16: start sector 60 [0000003c]
[00000044] VOBU_17: start sector 61 [0000003d]
[00000048] VOBU_18: start sector 74 [0000004a]
[0000004c] VOBU_19: start sector 192 [000000c0]
[00000050] VOBU_20: start sector 341 [00000155]
[00000054] VOBU_21: start sector 532 [00000214]
[00000058] VOBU_22: start sector 846 [0000034e]
[0000005c] VOBU_23: start sector 1035 [0000040b]
[00000060] VOBU_24: start sector 1224 [000004c8]
[00000064] VOBU_25: start sector 1406 [0000057e]
[00000068] VOBU_26: start sector 1584 [00000630]
[0000006c] VOBU_27: start sector 1763 [000006e3]
[00000070] VOBU_28: start sector 1942 [00000796]
[00000074] VOBU_29: start sector 2121 [00000849]
[00000078] VOBU_30: start sector 2299 [000008fb]
[0000007c] VOBU_31: start sector 2480 [000009b0]
[00000080] VOBU_32: start sector 2659 [00000a63]
[00000084] VOBU_33: start sector 2840 [00000b18]
[00000088] VOBU_34: start sector 3019 [00000bcb]
[0000008c] VOBU_35: start sector 3201 [00000c81]
[00000090] VOBU_36: start sector 3382 [00000d36]
[00000094] VOBU_37: start sector 3561 [00000de9]
[00000098] VOBU_38: start sector 3700 [00000e74]
[0000009c] VOBU_39: start sector 3744 [00000ea0]
[000000a0] VOBU_40: start sector 3763 [00000eb3]
[000000a4] VOBU_41: start sector 3793 [00000ed1]
[000000a8] VOBU_42: start sector 3806 [00000ede]
[000000ac] VOBU_43: start sector 3837 [00000efd]
[000000b0] VOBU_44: start sector 3982 [00000f8e]
[000000b4] VOBU_45: start sector 4143 [0000102f]
[000000b8] VOBU_46: start sector 4280 [000010b8]
[000000bc] VOBU_47: start sector 4420 [00001144]
[000000c0] VOBU_48: start sector 4555 [000011cb]
[000000c4] VOBU_49: start sector 4694 [00001256]
[000000c8] VOBU_50: start sector 4843 [000012eb]
[000000cc] VOBU_51: start sector 5017 [00001399]
[000000d0] VOBU_52: start sector 5210 [0000145a]
[000000d4] VOBU_53: start sector 5406 [0000151e]
[000000d8] VOBU_54: start sector 5618 [000015f2]
[000000dc] VOBU_55: start sector 5813 [000016b5]
[000000e0] VOBU_56: start sector 6024 [00001788]
[000000e4] VOBU_57: start sector 6211 [00001843]
[000000e8] VOBU_58: start sector 6250 [0000186a]


[00000000] Number of VOBs (VOB ID's) in VMGM_VOBS 4 [0004]
[00000004] End byte of VMGM_C_ADT table 79 [0000004f]
[00000008] 1. Cell: VOB ID 2 [0002]
[0000000a] 1. Cell: Cell ID 1 [01]
[0000000c] 1. Cell: Start sector 0 [00000000]
[00000010] 1. Cell: End sector 0 [00000000]
[00000014] 2. Cell: VOB ID 1 [0001]
[00000016] 2. Cell: Cell ID 1 [01]
[00000018] 2. Cell: Start sector 0 [00000000]
[0000001c] 2. Cell: End sector 60 [0000003c]
[00000020] 3. Cell: VOB ID 3 [0003]
[00000022] 3. Cell: Cell ID 1 [01]
[00000024] 3. Cell: Start sector 61 [0000003d]
[00000028] 3. Cell: End sector 3762 [00000eb2]
[0000002c] 4. Cell: VOB ID 3 [0003]
[0000002e] 4. Cell: Cell ID 2 [02]
[00000030] 4. Cell: Start sector 3763 [00000eb3]
[00000034] 4. Cell: End sector 3792 [00000ed0]
[00000038] 5. Cell: VOB ID 4 [0004]
[0000003a] 5. Cell: Cell ID 1 [01]
[0000003c] 5. Cell: Start sector 3793 [00000ed1]
[00000040] 5. Cell: End sector 6249 [00001869]
[00000044] 6. Cell: VOB ID 4 [0004]
[00000046] 6. Cell: Cell ID 2 [02]
[00000048] 6. Cell: Start sector 6250 [0000186a]
[0000004c] 6. Cell: End sector 6288 [00001890]

blutach
7th November 2004, 06:18
Originally posted by 2COOL
@r0lZ

I just had my "low disk space" alert going off on my computer. I did a size search for files that I can delete and found this.

http://img104.exs.cx/img104/6784/Image_001.png

Let me quote a line from "The Princess Bride"..."Hello, my name is Inigo Montoya. You killed my father. Prepare to die!". No...not that one :p, ummmm...this one

INCONCEIVABLE!!! :eek: :eek:

Anyways, this file was found in my C:\Documents and Settings\username\Local Settings\Temp

I feel it's still growing each day.:( What's feeding it and also what's the consequences if I delete it?

[EDIT]
In regards to your comments on manually uninstalling, does it target this file too in auto-uninstalling? A short term fix for this might be to use your "cache cleaner" software (I use Zone Alarm) every day or so to kill temp files (and temp internet files).

Looks like a bloody big file though!!

Sajan
7th November 2004, 08:17
@2COOL
Also see at this

VMGM , LU 1 (ru) , 3
But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:07.25 00:00:07.25 0 0 60 60 1 1
VMGM , LU 1 (ru) , 4
But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:10.00 00:00:10.00 61 0 3744 3762 3 1
0 2 2 8 no no 0 0 00:00:00.11 00:00:10.11 3763 0 3763 3792 3 2

So, maybe if last VOBU is very small, it's start & end can be in the same sector?

2COOL
7th November 2004, 08:39
@Sajan

How about doing a mock strip (http://forum.doom9.org/showthread.php?s=&threadid=84097) on your VIDEO_TS files? Use the mock stripping menus procedure. Maybe it'll correct something.

r0lZ
7th November 2004, 09:08
@sajan
Sorry for such unreadable info about cells, just copy-pasted from PGCedit For a correctly formatted output, you have to print this info with fixed-width fonts. In the forum, just enclose the dump output in [ code ] [ /code ] marks (without the spaces).

Sajan
7th November 2004, 09:13
It's funny;)
When I open VIDEO_TS in IFOedit, VOBextras button is disabled.
It's enabled only on opening VTSx IFOs.

r0lZ
7th November 2004, 09:18
Originally posted by 2COOL
@r0lZ

I just had my "low disk space" alert going off on my computer. I did a size search for files that I can delete and found this.

http://img104.exs.cx/img104/6784/Image_001.png

Let me quote a line from "The Princess Bride"..."Hello, my name is Inigo Montoya. You killed my father. Prepare to die!". No...not that one :p, ummmm...this one

INCONCEIVABLE!!! :eek: :eek:

Anyways, this file was found in my C:\Documents and Settings\username\Local Settings\Temp

I feel it's still growing each day.:( What's feeding it and also what's the consequences if I delete it?

[EDIT]
In regards to your comments on manually uninstalling, does it target this file too in auto-uninstalling? The size of this file is incredibly high. Maybe your DVD has many cells with many buttons, but I can't understand why it's so high. Normally, this file is overwrited each time you load a DVD in PgcEdit, and therefore must not grow. In a previous version, the file was deleted after being created and parsed, but I changed that to be able to examine the contents of the file in case of problems. I will revert to the old behavior...

And, no, the file is not automatically deleted when you uninstall PgcEdit. But the TEMP directory is theorically cleaned by Windows regularly. Of course, you may delete it manually. Sorry for the inconvenience...

r0lZ
7th November 2004, 09:19
Originally posted by Sajan
It's funny;)
When I open VIDEO_TS in IFOedit, VOBextras button is disabled.
It's enabled only on opening VTSx IFOs. This is normal: VOB Extras is used to work on the Title's VOBs, and you cannot have titles in the VMG.

2COOL
7th November 2004, 09:27
Originally posted by r0lZ
Normally, this file is overwrited each time you load a DVD in PgcEdit, and therefore must not grow.Just to test this out, I renamed the file. I assume PgcEdit would create another if I open up another DVD. It didn't. I checked while my PgcEdit session was still open and after closing it. :(

But I haven't seen any errors popping up without it yet. Ami I going to have a problem if that file which needs to be overwritten is not there?

Sajan
7th November 2004, 09:33
Originally posted by r0lZ
This is normal: VOB Extras is used to work on the Title's VOBs, and you cannot have titles in the VMG.
So, as I understand, I can't do a mock strip of VIDEO_TS at all?

@2COOL
Another problem has appeared (in the same PGC);)
It doesn't allow to make a time search.
I cann't find in IFOedit where else it could be.
Standard IDO PUOPs are cleared. How to edit VOB PUOPs?

2COOL
7th November 2004, 09:40
Originally posted by Sajan
So, as I understand, I can't do a mock strip of VIDEO_TS at all?Yes, you can! Just like the "mock stripping menus" says in my previous link, open up VIDEO_TS.IFO with IfoEdit and press MenuExtras button.


@2COOL
Another problem has appeared (in the same PGC);)
It doesn't allow to make a time search.
I cann't find in IFOedit where else it could be.
Standard IDO PUOPs are cleared. How to edit VOB PUOPs? You would have to hexedit your VOBs since they are on your HD, which is a pain to tell you how to do it. The best way is to rip again with current DVD Decrypter and set your File Mode settings with PUOS for IFOs and VOBs checked.

Sajan
7th November 2004, 09:41
Anyway, I've just process whole DVD by VOBblanker with active "Remove PUOPs in VOBs" & "Remove PUOPs in IFOs" - it's useless...

2COOL
7th November 2004, 09:47
Originally posted by Sajan
Anyway, I've just process whole DVD by VOBblanker with active "Remove PUOPs in VOBs" & "Remove PUOPs in IFOs" - it's useless... What do you mean useless? You still have no changes in your situation? Then probably, you didn't have PUOS in your VOB. To really confirm if you do have them, open up your VIDEO_TS.VOB with VobEdit. In left window (LBA), select a [Navigation Pack]. You'll see data appear in right window. Scroll down to Byte 0035. If you don't have a zero value for Probihited U-OP, then you have PUOs existing. Randomly check other [Navigation Packs] in this VOB to confirm.

r0lZ
7th November 2004, 09:50
Originally posted by 2COOL
Just to test this out, I renamed the file. I assume PgcEdit would create another if I open up another DVD. It didn't. I checked while my PgcEdit session was still open and after closing it. :(

But I haven't seen any errors popping up without it yet. Ami I going to have a problem if that file which needs to be overwritten is not there?
How it works: when you open (or reopen) a DVD, the standalone executable button_dump.exe is used to search all menu VOBs of the DVD for buttons. The output of the exe is redirected to a temporary file in TEMP. Therefore, for each titleset, a file is created in the TEMP dir: pgcedit_temp_button_0.tcl for the VMGM, pgcedit_temp_button_1.tcl for VTSM1, ...
Then, the files are sourced by PgcEdit to retrieve the menu buttons commands, positions, etc...
In the current version, the file is then deleted (I forgot I have changed this again).
If pgcedit_temp_button_3.tcl is still there, it must be because the new DVD you opened doesn't have a VTS 3. However, I don't understand why it is so big. I have just tested this with some DVD, and the size is never greather that approx 100 Kb.
Don't worry: you may safely delete it!

Sajan
7th November 2004, 10:00
Originally posted by 2COOL
What do you mean useless? You still have no changes in your situation? Then probably, you didn't have PUOS in your VOB.
Yes, you're right. There is no any PUOPs in VOBs. Also there is no according PUOPs in IFOs. Where else I can look for?

By the way, I have working right NextPG after changing PGC pointers to this (but it's strange...):

VMGM , LU 1 (ru) , 3
NextPGCN: 3
PrevPGCN: 3
GoUpPGCN: 3
VMGM , LU 1 (ru) , 4
NextPGCN: 4
PrevPGCN: 4
GoUpPGCN: 4

But I still can't do a time search of this PGCs...

2COOL
7th November 2004, 10:40
Ok, we got the PUOs factor out of the picture. Did you mock strip your VIDEO_TS?

2COOL
7th November 2004, 10:54
@r0lZ

Originally posted by r0lZ
How it works: when you open (or reopen) a DVD, the standalone executable button_dump.exe is used to search all menu VOBs of the DVD for buttons. The output of the exe is redirected to a temporary file in TEMP. Therefore, for each titleset, a file is created in the TEMP dir: pgcedit_temp_button_0.tcl for the VMGM, pgcedit_temp_button_1.tcl for VTSM1, ...OK, if what you say is true, then I should have another tcl file created since I just deleted mine minutes ago. I have since opened up several DVDs and I still don't see one. :confused:

r0lZ
7th November 2004, 11:20
Originally posted by 2COOL
@r0lZ

OK, if what you say is true, then I should have another tcl file created since I just deleted mine minutes ago. I have since opened up several DVDs and I still don't see one. :confused: as I said, "the file is then deleted (I forgot I have changed this again)", so you will probably not see the new files: they are deleted almost immediately after the creation.

2COOL
7th November 2004, 11:44
I understand now.;)

Request: Can we have a feature to select command(s), right-click, and select an option to send it to the scratchbook for appending? This would be useful for creative users. ;) Oh, to also include button commands too.

r0lZ
7th November 2004, 11:49
Originally posted by 2COOL
I understand now.;)

Request: Can we have a feature to select command(s), right-click, and select an option to send it to the scratchbook for appending? This would be useful for creative users. ;) Oh, to also include button commands too.
Yes. It's easy.

What do you mean with "also include button commands too"? Do you want an option in the menu buttons viewer to send the current button command to the scratchbook?

2COOL
7th November 2004, 11:53
Originally posted by r0lZ
Yes. It's easy.

What do you mean with "also include button commands too"? Do you want an option in the menu buttons viewer to send the current button command to the scratchbook? Yes

blutach
7th November 2004, 12:43
Originally posted by Sajan
Yes, you're right. There is no any PUOPs in VOBs. Also there is no according PUOPs in IFOs. Where else I can look for?

By the way, I have working right NextPG after changing PGC pointers to this (but it's strange...):

VMGM , LU 1 (ru) , 3
NextPGCN: 3
PrevPGCN: 3
GoUpPGCN: 3
VMGM , LU 1 (ru) , 4
NextPGCN: 4
PrevPGCN: 4
GoUpPGCN: 4

But I still can't do a time search of this PGCs... I may be wrong, but given that your PrevPGCN and NextPGCN are pointing to the same cell that referenced them in the first place (PGC3 are all pointing to PGC3 and same with PGC4) won't it be that every time you press next chapter or previous chapter it will just take you into the same chapter? The only way out is to play the video and wait for the post command to execute.

What does 2COOL and rolz think?

Regards

blutach
7th November 2004, 12:47
@rolz

Are you planning on PgcEdit being able to actually view the various menus (like Menuedit registered version enables you to do)?

No big deal if not, it wouold just be very nice.

Regards

2COOL
7th November 2004, 12:50
@blutach
Originally posted by blutach
I may be wrong, but given that your PrevPGCN and NextPGCN are pointing to the same cell that reference them in the first place (PGC3 are all pointing to PGC3 and same with PGC4) won't it be that every time you press next chapter or previous chapter it will just take you into the same chapter? The only way out is to play the video and wait for the post command to execute.

What does 2COOL and rolz think? If the the NextPGCN is pointing to it's own PGC #, then at the last chapter, you will jump immediately to the post commands. So in VMGM PGC 3, Sajan will jump to it's own Post commands. Therefore, executing his LinkPGN 4 command.

PrevPGCN will jump to Pre commands.

@Sajan

What DVD and region code are you working on here?

r0lZ
7th November 2004, 13:48
Originally posted by blutach
@rolz

Are you planning on PgcEdit being able to actually view the various menus (like Menuedit registered version enables you to do)?

No big deal if not, it wouold just be very nice.

Regards Of course, it would be nice. But unfortunately I doesn't have the required DirectX knowledge to program this kind of stuff. I am still looking for a solution. Maybe I will find somewhere an open source player that I can adapt to use it as a preview for PgcEdit.

If a programmer is able to help me on this matter, please let me know...

Sajan
7th November 2004, 16:25
Originally posted by 2COOL
What DVD and region code are you working on here?
Najica Blitz Tactics (episodes 1-12) (2 DVD-9, about 6,5G each), region 5.
I'm trying to reauthorize it to 3 DVD-5 without recompressing of video.

Sajan
7th November 2004, 16:59
Originally posted by 2COOL
Ok, we got the PUOs factor out of the picture. Did you mock strip your VIDEO_TS?
Yes, I've done mock strip - it's nothing, all the same.
Can time seraching be disabled, because this PGC is belong to VMGM menu, not a VTSM title?

mpucoder
7th November 2004, 17:59
Originally posted by Sajan
Can time seraching be disabled, because this PGC is belong to VMGM menu, not a VTSM title?

Absolutely. btw, I think you mean a VTS title. VTSM is the title menu domain, and you can not time search in there either. Only title PGCs have time maps, in VTS_TMAPTI.

Sajan
7th November 2004, 18:13
@mpucoder
It explains smth. Thanks:))

@doom9, especially 2COOL,r0lZ,blutach
Thank for your help. I'd know much more about DVD structure and reathoring for a one week. I'm glad to have some lessons from you.

2COOL
7th November 2004, 19:13
Originally posted by Sajan
Najica Blitz Tactics (episodes 1-12) (2 DVD-9, about 6,5G each), region 5.
I'm trying to reauthorize it to 3 DVD-5 without recompressing of video. I thought we were working on a freshly ripped DVD. I didn't know you had re-authored it. So, how did you do it to 3 discs? Note: Just woke up. :)

blutach
7th November 2004, 21:19
@rolz

Is vav's posting (http://forum.doom9.org/showthread.php?s=&postid=566962#post566962) something you need to look out for too?

Regards

r0lZ
7th November 2004, 21:25
Originally posted by blutach
@rolz

Is vav's posting (http://forum.doom9.org/showthread.php?s=&postid=566962#post566962) something you need to look out for too?

Regards From the ISO639 Language Codes help output: iw Hebrew :)

lamster
7th November 2004, 21:40
First, let me start out by saying thanks for a great application. I finally got around to trying it, and I'm impressed. I can see where this will save me a lot of time over just using IfoEdit.

Now, on to the requests...

First, I'd like the ability to configure where the backup goes - including the ability to specify a relative path. (This way, I don't have to remember to delete the backup directory when burning the VIDEO_TS directory.)

Second, preview capability. I know I'm not the first to ask for this. It seems to me that this could be added by way of the Tools menu. First, PgcEdit would have to add a few extra '%' parameters that would plug in information related to the currently selected PGC (VIDEO_TS or VTS_nn; menu PGC or title PGC; and the actual numbers). Then, a simple external program that's a wrapper around calls to one of the display libraries. While not quite as integrated as IfoEdit's preview, it would solve the problem of trying to call the DirectX libraries from Tcl.

jeanl
7th November 2004, 21:49
the problem is writing the wrapper app around directX. I'm wondering where we could get some help for that. It's not as simple as it seems, like playing an mpeg stream (that's easy), here we need to play bits and pieces according to the navigation, and short of using direct X's DVD support (which only allows you to "play" a DVD), I'm not sure how to go about doing it simply (from looking at the Direct-X doc).
Maybe r0lZ could coordinate with jsoto on that one, since vobblanker had a nice, functioning preview...
Jeanl

lamster
7th November 2004, 22:16
VobBlanker has source available; it includes modified DVD2AVIdg source. So, that's one way to go.

The MSDN article Writing a DVD Playback Application in DirectShow (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwmt/html/writingadvdplaybackapplicationindirectshow.asp) lists some likely-looking commands in Table 1.

r0lZ
8th November 2004, 00:23
Originally posted by lamster
VobBlanker has source available; it includes modified DVD2AVIdg source. So, that's one way to go.

The MSDN article Writing a DVD Playback Application in DirectShow (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwmt/html/writingadvdplaybackapplicationindirectshow.asp) lists some likely-looking commands in Table 1. Thanks for the infos.

The modified DVD2AVI used by VobBlanker is driven by Windows messages send by the main app. Unfortunately, being a multi-platform language, Tcl doesn't have support to send such Windows messages (although it supports DDE messages via an additional module.)

And building a DirectX app is not really easy. I have never done that kind of programmation, and DirectX programming is well known to be a real black nightmare. Furthermore, I think DirectX has no provision for playing some specific cells out of a VOB.

Anyway, I want to complete some important improvments in PgcEdit (the Trace function and the ability to edit the menu button commands) before going to that tedious work. But it's on my TODO list...

blutach
8th November 2004, 01:16
Originally posted by lamster
First, I'd like the ability to configure where the backup goes - including the ability to specify a relative path. (This way, I don't have to remember to delete the backup directory when burning the VIDEO_TS directory.) Don't know what burner you are using, but when I burn using Nero v6.6 selecting DVD-Video mode, dragging the files in (even after a "Ctrl-A select all") does not drag in the sub-folders like PgcEdit backup.

Regards

blutach
8th November 2004, 01:20
Originally posted by 2COOL
@blutach
If the the NextPGCN is pointing to it's own PGC #, then at the last chapter, you will jump immediately to the post commands. So in VMGM PGC 3, Sajan will jump to it's own Post commands. Therefore, executing his LinkPGN 4 command.

PrevPGCN will jump to Pre commands. As usual, thanks 2COOL, I learn somethng new every day from you.

PS. Guide looks good - you decided to leave step 29 in?

@rolz
I know you are trying to complete the trace function, and this is something we have all been eagerly awaiting, but 2COOL's guide on chapter skipping would be a real winner as the next PgcEdit macro, don't you think?

lamster
8th November 2004, 05:48
Hello r0lZ,

The info about the DirectShow capabilities was really in response to the comment about only being able to "play" a DVD. I wouldn't really want to have to write a DirectX application just to do the preview.

As for DVD2AVI being driven by a message loop, that's where my idea of having a program from the Tools menu handle the preview comes into play. I was hoping to find some sample C / C++ source code that I could easily wrap to create a "glue" application that would act as the interface.

Unfortunately, I don't know Tcl, so I couldn't tell from looking at exec_tool how hard it would be to add a pluggable parameter to indicate the currently selected menu or PGC number.

lamster
8th November 2004, 05:56
Originally posted by blutach
Don't know what burner you are using, but when I burn using Nero v6.6 selecting DVD-Video mode, dragging the files in (even after a "Ctrl-A select all") does not drag in the sub-folders like PgcEdit backup.

I'm using Nero 5.5. I've always used UDF/ISO mode, and in that mode it does copy the subdirectories.

jeanl
8th November 2004, 05:58
Originally posted by lamster
Hello r0lZ,
The info about the DirectShow capabilities was really in response to the comment about only being able to "play" a DVD. I wouldn't really want to have to write a DirectX application just to do the preview.
what I meant by that was that that direct-X DVD support does not let you have access to individual cells/programs, not even to PGCs!!!! It gives you pretty much the same controls a user has with his/her remote! I'll take a look at the way jsoto did it for vobblanker though...

Jeanl

Sajan
8th November 2004, 06:27
Originally posted by 2COOL
I thought we were working on a freshly ripped DVD. I didn't know you had re-authored it. So, how did you do it to 3 discs? Note: Just woke up. :)
Najica Blitz Tactics (episodes 1-12) (2 DVD-9, about 6,5G each), region 5.
I'm trying to reauthorize it to 3 DVD-5 without recompressing of video.
Mmm... 2*6,5 = 3*4,5:)
I had to split episodes for 4 per DVD. Also threw away some addons (not enough DVD space) with hiding according buttons. Of course, removing PUOPs and making region-free. Correcting PrevPG,NextPG. In 2nd DVD-5 I had to merge some menus from both original DVD-9 (chapters and addons) with correcting links.
Note: For now it's time when I just woke up. :))

lamster
8th November 2004, 06:36
Originally posted by jeanl
what I meant by that was that that direct-X DVD support does not let you have access to individual cells/programs, not even to PGCs!!!! It gives you pretty much the same controls a user has with his/her remote! I'll take a look at the way jsoto did it for vobblanker though...
The stuff in the MSDN article sounded pretty good, but now that I've dug down a bit, I see what you mean. The IDvdControl2::ShowMenu() method only lets you specify the title, root, subpicture, audio, angle and chapter menus, not an arbitrary menu by PGC ID.

I tried getting the Media Player Classic source from SourceForge, but that uses the DirectShow stuff, so that's no good for this.

jeanl
8th November 2004, 07:13
The stuff in the MSDN article sounded pretty good, but now that I've dug down a bit, I see what you mean. The IDvdControl2::ShowMenu() method only lets you specify the title, root, subpicture, audio, angle and chapter menus, not an arbitrary menu by PGC ID.

yes, exactly! It's very very very limited. There's bound to be a way to do it (vobblanker has it), but I'm sure it's more intricate that I was hoping it would be. Best would be to adapt the code that vobblanker uses because it seems to work just fine. The question remains of how to communicate between tck/tk and windows. If you can call a C++ program from tcl/tk, then we could replicate jsoto's windows messages solution by having a small program forward calls from tcl/tk to windows... Pretty ugly but hey, as long as it does the job...
Jeanl

blutach
8th November 2004, 07:44
Originally posted by lamster
I'm using Nero 5.5. I've always used UDF/ISO mode, and in that mode it does copy the subdirectories. Any reason why you use UDF mode instead of DVD-Video mode (which works very well?

r0lZ
8th November 2004, 08:39
Originally posted by lamster
I'm using Nero 5.5. I've always used UDF/ISO mode, and in that mode it does copy the subdirectories. I made the backup the way it is, because it is easy to automate the backup creation when opening the DVD for the first time: if the backup directory doesn't already exists, then I can safely assume that I must create it.
If you use an arbitrary location, I cannot assume anymore that the directory used is related to the current DVD, and therefore I will need to remove the automatic creation, and the restore backup option.
Anyway, I think that selecting only the files before dragging them to Nero is not so difficult!

r0lZ
8th November 2004, 08:43
Originally posted by jeanl
yes, exactly! It's very very very limited. There's bound to be a way to do it (vobblanker has it), but I'm sure it's more intricate that I was hoping it would be. Best would be to adapt the code that vobblanker uses because it seems to work just fine. The question remains of how to communicate between tck/tk and windows. If you can call a C++ program from tcl/tk, then we could replicate jsoto's windows messages solution by having a small program forward calls from tcl/tk to windows... Pretty ugly but hey, as long as it does the job...
Jeanl Interesting idea. Tcl support DDE messages, as you can see here (http://tcltk.free.fr/man/TclCmd/dde.php3). Maybe it's the solution...

r0lZ
8th November 2004, 12:33
PgcEdit 0.3.8 released

New Edit -> Append to Scratchbook function to add the selected commands directly to the scratchbook. This option is also available in the menu buttons viewer (with the clipboard functions.)
PGC Editor: added the ability to edit the PG Playback Mode (sequential, random or shuffle mode.)
It is now possible to paste commands in full text format (copied with 'Copy as Text') directly in the main listbox. Note that the *** labels are not pasted: you may therefore paste the pre, post and cell commands in one operation, but all commands will be pasted in the same section.
New option "Include [hex codes] in Info / commands dumps ?".
Help -> ISO639 Language Codes now lists also the decimal and hex values.
Since CSetCLnk, CSetLnk and SetCLnk must have an IF condition, the IF checkbox has been removed from the GUI.
Now, the "New 'Play All' Title" utility display the new TTN number in the PGC selector.
Undo now mark the DVD as modified.

Also, thanks to Baldrick, there is now a new mirror of the PgcEdit's homepage at www.videohelp.com.

lamster
8th November 2004, 15:55
Originally posted by blutach
Any reason why you use UDF mode instead of DVD-Video mode (which works very well?
That's how one of the guides I read (on Doom9) said to do it, so that's how I did it for my first backup, and I've been doing it that way ever since.

From a post by coona:
Standalone players are able to read data in UDF mode. But computers need to use ISO. So that is why UDF/IFO is recommended -> to obtain best compatibility for standalones and computers.

Difference between DVD-VIDEO and UDF/ISO mode in Nero is version of UDF. In DVD-VIDEO mode was used version 1.05 but oficial standard for standalones is 1.02. This is the reason for problem with compatibility of DVDs burned with Nero. Some old players were unable to read newer version (1.05) UDF.
See also this thread (http://forum.doom9.org/showthread.php?s=&threadid=49247)
Anyway, this is getting off of the topic at hand...

lamster
8th November 2004, 16:58
Originally posted by r0lZ
I made the backup the way it is, because it is easy to automate the backup creation when opening the DVD for the first time: if the backup directory doesn't already exists, then I can safely assume that I must create it.
Actually, that raises another point - it might be nice if there were an option to backup the IFO files when the first change is made. The reason for this is that I often examine the IFO files of the original rip while DVD-Rebuilder is running, so I can understand the changes that need to be made, but don't actually make any changes until after Rebuilder completes, at which point I open the IFO files in my "Rebuilt" directory, and those are the ones that I modify. So, I'd like to keep the ability to automatically back up the IFO's I'm editing, but I don't want to bother doing it for the ones I'm not.

If you use an arbitrary location, I cannot assume anymore that the directory used is related to the current DVD, and therefore I will need to remove the automatic creation, and the restore backup option.

I did say "including the ability to specify a relative path". I'd be happy if there was just a checkbox that said to create it in the parent directory of the VIDEO_TS directory.

Anyway, I think that selecting only the files before dragging them to Nero is not so difficult!
This is certainly not a show-stopper, or even particularly high priority; I'm just throwing it out as something that I'd like to see. (I think it would be "cleaner" that way.) If you don't think it's worth doing, I can live with that.

jeanl
8th November 2004, 17:20
Originally posted by r0lZ


It is now possible to paste commands in full text format (copied with 'Copy as Text') directly in the main listbox. Note that the *** labels are not pasted: you may therefore paste the pre, post and cell commands in one operation, but all commands will be pasted in the same section.

Now that's very coool!!!!
Thanks for all these updates and improvements r0lZ!!!
Jeanl

jeanl
8th November 2004, 18:06
Originally posted by r0lZ
Interesting idea. Tcl support DDE messages, as you can see here (http://tcltk.free.fr/man/TclCmd/dde.php3). Maybe it's the solution...
Interesting. Indeed, DDE provides a simple pipe to talk between Tcl and C++/windows programs. I wonder if that's what jsoto used to control DVD2AVI, although I think I remember he used Windows SendMessage...
Jeanl

2COOL
8th November 2004, 19:21
@r0lZ

I have a Scooby Doo 2(R1) that has it LUs not showing a menu language.

http://img95.exs.cx/img95/2788/Image_002.png

Is there anywhere in PgcEdit to edit this? I can do it in the VMGM_PGCI_UT or VTSM_PGCI_UT using IfoEdit.

2 requests:

1) PGC Program Map editing
2) PTT_SRPTI editing

r0lZ
8th November 2004, 20:38
No, you cannot edit the LU language with PgcEdit (for now.) Anyway, if the language is unset, you probably have only one LU. Editing it is therefore useless: it will be played anyway, regardless of the current player configuration.

And yes, the Program map and chapter table edition is on my todo list. It's an important feature to add. Please remind me later, when I will have some time...

jsoto
8th November 2004, 21:48
I wonder if that's what jsoto used to control DVD2AVI, although I think I remember he used Windows SendMessage...
Yes, I'm using SendMessage.
. If you can call a C++ program from tcl/tk, then we could replicate jsoto's windows messages solution by having a small program forward calls from tcl/tk to windows... Pretty ugly but hey, as long as it does the job... Yes, it can be done easily. Just an exe with the parameters to be used in SendMessage. And, also yes, pretty ugly...

jsoto

lamster
8th November 2004, 22:00
Originally posted by jsoto
Yes, I'm using SendMessage.
Yes, it can be done easily. Just an exe with the parameters to be used in SendMessage. And, also yes, pretty ugly...

Since there's supposedly a DLL-caller extension (http://tcltk.free.fr/tcltkfaq.php3?idxquery=229) (although the link it points at appears dead), might it be less ugly if you just loaded USER32.dll and called SendMessage directly? (Sorry if this is a dumb question; as I said, I'm not familiar with Tcl.)

jeanl
8th November 2004, 22:12
If that works, that's a very good suggestion! One fewer intermediate steps. PgcEdit could use the same modified DVD2AVI that jsoto came up with and talk to it via windows messages, the same way vobblanker talks to it...
Suddenly PgdEdit preview does not seem so out of reach ;)

EDIT: I also saw an extension of tcl called "CWind" that allows sending windows messages from tcl...
http://www.interq.or.jp/japan/s-imai/tcltk/cwind.html
Jeanl

2COOL
8th November 2004, 22:20
Originally posted by jeanl
If that works, that's a very good suggestion! One fewer intermediate steps. PgcEdit could use the same modified DVD2AVI that jsoto came up with and talk to it via windows messages, the same way vobblanker talks to it...
Suddenly PgdEdit preview does not seem so out of reach ;)

Jeanl "Without vision, we are blind to opportunity." ;)

r0lZ
9th November 2004, 00:35
Thanks to everybody here helping to implement a preview in PgcEdit. Great!
For your information, as this is not a programming thread, we are currently exchanging PMs and mails on this matter. I will keep you informed of the progress of the Preview...

DMagic1
9th November 2004, 02:08
Great work.

2COOL
9th November 2004, 03:29
@r0lZ

When we choose to "Jump to Target" in our menu buttons viewer, we can see the jump on the main window in the background. Can you have it so we do click on this button, the viewer would automatically close too? When I want to jump to the target, I "want" to jump to the target.

blutach
9th November 2004, 03:36
Fabulous, as usual, rolz. Just fantastic.

All the best

r0lZ
9th November 2004, 11:18
Originally posted by 2COOL
@r0lZ

When we choose to "Jump to Target" in our menu buttons viewer, we can see the jump on the main window in the background. Can you have it so we do click on this button, the viewer would automatically close too? When I want to jump to the target, I "want" to jump to the target. OK. Done.
Note that the viewer is not closed if the target is not found, or if the target is within the same PGC (for example, when the command is a LinkCN). In this latter case, the right cell is automatically selected and shown in the viewer.

r0lZ
9th November 2004, 11:20
@DMagic, blutach and everybody
Thanks for your kind words. :)

2COOL
9th November 2004, 18:30
Originally posted by r0lZ
OK. Done.
Note that the viewer is not closed if the target is not found, or if the target is within the same PGC (for example, when the command is a LinkCN). In this latter case, the right cell is automatically selected and shown in the viewer. CC

2COOL
9th November 2004, 23:43
@r0lZ

Enhancement request

When using the SetSTN command in Command Editor, I'm envisioning the languages next to the stream number in slidebar. Beats having to check the stream attributes on the side to figure out which to pick. No ()'s will work too.

http://img79.exs.cx/img79/892/Image_003.png

Also, I'm sure you can get the total number of streams,in question, in PGC to set/match the number of streams in slide bar too. So, if I only had 3 audios, my slide bar would only go up to 3.

This would make life easier, don't you think?

r0lZ
10th November 2004, 00:42
Originally posted by 2COOL
@r0lZ

Enhancement request

When using the SetSTN command in Command Editor, I'm envisioning the languages next to the stream number in slidebar. Beats having to check the stream attributes on the side to figure out which to pick. No ()'s will work too.

http://img79.exs.cx/img79/892/Image_003.png

Also, I'm sure you can get the total number of streams,in question, in PGC to set/match the number of streams in slide bar too. So, if I only had 3 audios, my slide bar would only go up to 3.

This would make life easier, don't you think? IMHO, you are taking things in the wrong order. The streams assignments you make in the PGC Selector (called stream status in IfoEdit) are directly referencing the streams in the VOB. There is no way for me to know what language there are supposed to be. Then, the domain stream attributes are referencing those assignments, and give them the language attributes.

2COOL
10th November 2004, 00:54
Originally posted by r0lZ
Then, the domain stream attributes are referencing those assignments, and give them the language attributes. I'm a little confused. You can't use code snippets of the language attributes dialog to set the slide bars? The dialog can get the languages so why can't the command editor. I'm sure you can up with some variables to store this.

Edit: We are already know what PGC we are in since it's still selected in the PGC Selector.

r0lZ
10th November 2004, 01:14
It's not a programming problem. It just doesn't make sense.
I'll try to explain again:

In your VOB, say you have 4 subpic streams:
0: English, widescreen
1: English, letterbox
2: French, widescreen
3: French, letterbox

In the PGC, you will probably have something like that:
Subpic 0: use VOB streams 0, 1, 1, 0
Subpic 1: use VOB streams 2, 3, 3, 2

In the domain stream attribs, you FINALLY have the description of the streams assignments made in the PGC:
Subpic 0: en
Subpic 1: fr

So, when you change the assignments in the PGC editor, you cannot say what are the languages of the physical streams in the VOB by looking at the domain stream attribs. And it's also impossible to say how many physical streams are in the VOB.

jeanl
10th November 2004, 06:18
This post is in reference to the problem northwind reported around here
http://forum.doom9.org/showthread.php?s=&threadid=79853&perpage=20&pagenumber=17

This is slightly off topic, but the problem emerged when northwind started using PgcEdit.

northwind was able to prepare a small version of the problem DVD, which I was able to download for testing. I'm stumped! Here's what I'm seeing:
- The *original* DVD as made by northwind plays find in PowerDVD.
- But if I burn it on a DVD-RW, and try to play it from PowerDVD, PowerDVD reports an error and stops!

* I've tried 3 different discs, same result.
* I've tried to load it in IFOEdit and do a Get VTS Sector. Same result!

I'm puzzled. There's something wrong with the DVD to begin with, but I'm not sure what it is.
Does anybody have an idea what's going on here?
Jeanl

EDIT: Even more weird! The same DVD-RW that PowerDVD can't play will play on my sampo settop DVD player! :)

2COOL
10th November 2004, 07:05
Originally posted by r0lZ
It's not a programming problem. It just doesn't make sense.
I'll try to explain again:

In your VOB, say you have 4 subpic streams:
0: English, widescreen
1: English, letterbox
2: French, widescreen
3: French, letterbox

In the PGC, you will probably have something like that:
Subpic 0: use VOB streams 0, 1, 1, 0
Subpic 1: use VOB streams 2, 3, 3, 2

In the domain stream attribs, you FINALLY have the description of the streams assignments made in the PGC:
Subpic 0: en
Subpic 1: fr

So, when you change the assignments in the PGC editor, you cannot say what are the languages of the physical streams in the VOB by looking at the domain stream attribs.OK, little fuzzy but it'll come to me eventually.
And it's also impossible to say how many physical streams are in the VOB. I won't say it's impossible. You can parse the VOB streams using vStrip using a CLI command like this.

C:\vstrip\vStrip.exe c:\dvd_video\video_ts\VTS_01_1.VOB

Of course, it won't tell you any languages.

Oh BTW, I've read that the default setting for gprm(1) is 16, not 15. It's in my Ralph LaBarge book.

r0lZ
10th November 2004, 09:08
I won't say it's impossible. You can parse the VOB streams using vStrip using a CLI command like this. Of course, you can analyse the VOB. What I mean is that it's not possible to know how many subpic streams are in the VOBs only by looking in the domain stream attributes section (in VMGM_MAT/VTSI_MAT).

Oh BTW, I've read that the default setting for gprm(1) is 16, not 15. It's in my Ralph LaBarge book. Seems strange, since the value for 'not set' is 15. Anyway, I'll test that on my player immediately...

[EDIT:] The default for gprm(1) is 15, not 16. Ralph LaBarge is wrong. Confirmed with soft players, Sony and KISS.

2COOL
10th November 2004, 18:49
Originally posted by r0lZ
The default for gprm(1) is 15, not 16. Ralph LaBarge is wrong. Confirmed with soft players, Sony and KISS. :(

M!ro
10th November 2004, 22:01
there is a minor bug in pgcedit. in command editor menu, when the "value" option is selected, if the box is empty (no number entered), when you click the "B" button you get
application error: can't use empty string as operand of "/"
i think you first have to test if textbox isn't empty and then divde with 1024 ;)

r0lZ
11th November 2004, 00:09
Thanks M!ro. Indeed, it's easy to fix!

blutach
11th November 2004, 03:06
Originally posted by r0lZ
[EDIT:] The default for gprm(1) is 15, not 16. Ralph LaBarge is wrong. Confirmed with soft players, Sony and KISS. KISS, the rock group? Didn't know they were into DVDs. Music DVDs, I suppose. :D :D :D

jeanl
11th November 2004, 04:04
Originally posted by blutach
KISS, the rock group? Didn't know they were into DVDs. Music DVDs, I suppose. :D :D :D
geee blutach, that was lame! ;)
Jeanl

blutach
11th November 2004, 06:25
Sorry, Jean.

But someone might have got a laugh (or just a smile perhaps)?

Take care

blutach
11th November 2004, 06:38
@rolz

A question re PgcEdit and IfoEdit's Get VTS Sectors

After I have saved a disk in PgcEdit and load up an IFO in IfoEdit (usually by using the shortcut in the Tools menu), I do a GET VTS Sectors to load up the remaining IFOs on the disk.

Now, I have found that when there is no VIDEO_TS.VOB present (e.g it is all unreferenced material and has been eliminated), IFOEdit corrects the sectors.

But, I had already done a save in PgcEdit.

Is this a bug? If so, who's bug?

BTW: There is no problem if VIDEO_TS.VOB is present - even as a 10k blank. Only when it is 0k.

Hope you can help.

Regards

jeanl
11th November 2004, 06:55
About this GetVTS Sectors...

Can someone explain to me exactly what that does?
I have an intuitive understanding that it has something to do with the way a player accesses various places on the disc, based on sectors (instead of using the windows file system when playing out of a folder). Is that what's happening?

What's the consequence of having out of sync VTS sectors?
Does the DVD still play on, say PowerDVD in file mode (out of a VIDEO_TS folder)?
Does the DVD play on PowerDVD in ISO mode (from a mounted ISO image?)

Jeanl

jsoto
11th November 2004, 07:58
Now, I have found that when there is no VIDEO_TS.VOB present (e.g it is all unreferenced material and has been eliminated), IFOEdit corrects the sectors.
I didn't try, but seems to be a bug in pgcEdit.

Sector adjustment procedure:
See http://dvd.sourceforge.net/dvdinfo/ifo.html
Look to the green tables in the middle. The pointers are located in:
0x1C: Pointer to End of IFO
0xC0: Pointer to Start of menu VOB
0x0C: Pointer to End of VTS/VMG set of files (points to last sector of BUP
0xC4: Pointer to First sector of titles.

Pointers are relative to start of VTS/VMG set of files
Summarizing, being
- nIFOSectors the size (in sectors) of IFO
- nMenuSectors the size (in sectors) of Menu
- nVOBSectors the size (in sectors) of all title VTSs

0x1C= nIFOSectors-1;
0xC0= nIFOSectors;
0x0C= nIFOSectors*2+nMenuSectors+nVOBSectors-1;
0xC4= nIFOSectors+nMenuSectors;

But, you have to take into account the "special" cases:
If there is NO Menu file
0xC0=0;
If there is a 0 bytes menu file
0xC0= nIFOSectors*2+nVOBSectors-1; in VTSs
0xC0= nIFOSectors*2-1; in VMGs

So, in the case of a 0 bytes menu, when you delete it (to burn the files with Nero), you need to adjust (reset to zero) the 0xC0 pointer

And, in TT_SRPT (titles table) of VIDEO_TS.IFO there are absolute pointers (one per title) to the start of the VTS where the title is included.

The consecuence of having unadjusted VTS sectors is clear:
- DVD will not play in a settop.

I'm not absolutely sure but I believe powerDVD is still able to play the DVD, because it can access to the files based on file system, not in sectors.

jsoto

jeanl
11th November 2004, 08:07
jsoto,
Thanks for this very thorough explanation! GREAT! Thanks a bunch for spending the time to explain in great detail!
Jeanl

jsoto
11th November 2004, 09:10
Err.., just to complete the description, another point:

The values I've written in the post below are in the case of consecutive allocation of the files.

But there are some DVDs which have unused sectors between the different files. In this case the sector values are different from the formulas I've written. (Obviously, in these DVDs, if you do a "Get VTS sectors", IFOEdit will try to correct the sectors).

One reason for having this unused sectors in the middle is to have physical distance between the IFO and the BUP files, to guarantee the integrity of the BUP in the case of IFO corruption due physical damage of the DVD.

BTW, I do not know if Nero is able to burn the DVD with these "unused sectors" in the middle.

jsoto

jeanl
11th November 2004, 09:25
Originally posted by jsoto

BTW, I do not know if Nero is able to burn the DVD with these "unused sectors" in the middle.

jsoto
Funny you should mention that! I have a very weird phenomenon happening with a DVD (provided to me by Northwind), whereby discs burned with DVDDecrypter play fine everywhere (PC and settop) but discs burned with nero (from folder) do not!.

If I can't get to the bottom of that I will post a message...
Jeanl

blutach
11th November 2004, 10:12
Gents,

Thanks for the explanation. In fact, on the IfoEdit site, there is a nice easy little explanation about Get VTS sectors and how to calculate it manually, if you want (see http://ifoedit.wh.fr0zen.com/calcsec.html).

However, do we know who needs to do the bugfix - Derrow or Rolz?

Regards

r0lZ
11th November 2004, 10:51
Originally posted by blutach
KISS, the rock group? Didn't know they were into DVDs. Music DVDs, I suppose. :D :D :D No! ;) KISS is a settop player designed to play both DVDs and MPEG4/XviD/DivX AVIs. In fact, it is a little computer running Linux Embedded, in a settop box. I don't recommand it for DVD playback, though!

r0lZ
11th November 2004, 10:54
Originally posted by blutach
@rolz

A question re PgcEdit and IfoEdit's Get VTS Sectors

After I have saved a disk in PgcEdit and load up an IFO in IfoEdit (usually by using the shortcut in the Tools menu), I do a GET VTS Sectors to load up the remaining IFOs on the disk.

Now, I have found that when there is no VIDEO_TS.VOB present (e.g it is all unreferenced material and has been eliminated), IFOEdit corrects the sectors.

But, I had already done a save in PgcEdit.

Is this a bug? If so, who's bug?

BTW: There is no problem if VIDEO_TS.VOB is present - even as a 10k blank. Only when it is 0k.

Hope you can help.

Regards I will have a look at that problem...

r0lZ
11th November 2004, 11:10
Originally posted by jeanl
About this GetVTS Sectors...

Can someone explain to me exactly what that does?
I have an intuitive understanding that it has something to do with the way a player accesses various places on the disc, based on sectors (instead of using the windows file system when playing out of a folder). Is that what's happening?

What's the consequence of having out of sync VTS sectors?
Does the DVD still play on, say PowerDVD in file mode (out of a VIDEO_TS folder)?
Does the DVD play on PowerDVD in ISO mode (from a mounted ISO image?)

Jeanl Soft players are (normally) using the ISO mode. In this mode, the physical start point of the data on disk is referenced in the directory, just like on an HDD.
Settop players are using the UDF mode, which has no directory. The only starting point known by the player is the beginning of VIDEO_TS.IFO. So, to be able to find the other files, there must be pointers in the IFOs, pointing to the start of the various IFOs and VOBs, and to the various tables inside the IFOs. Those pointers are in the VMGM_MAT, at offsets 0xC0 to 0xDC, and in the VTS_*.IFO in VTSI_MAT, at 0xC0 to 0xE4.

If the pointers are not correct, the DVD will probably play correctly on a soft player, but will not play on a standalone.

I don't know the method PowerDVD uses to access the files in ISO mode, but I suppose it can still access the files with the directory.

[EDIT:] Sorry, jsoto. I answered before I saw your cleaver answer, above! Well done.

r0lZ
11th November 2004, 11:17
Originally posted by blutach
However, do we know who needs to do the bugfix - Derrow or Rolz? I'll check it immediately!

r0lZ
11th November 2004, 11:20
Originally posted by jeanl
Funny you should mention that! I have a very weird phenomenon happening with a DVD (provided to me by Northwind), whereby discs burned with DVDDecrypter play fine everywhere (PC and settop) but discs burned with nero (from folder) do not!.

If I can't get to the bottom of that I will post a message...
Jeanl Maybe you could try to see if there are differences in the VTS sectors after the disk has been burned with Nero and DVD Decrypter...

r0lZ
11th November 2004, 11:33
@blutach

I can't see any problem.

IfoEdit don't correct anything when launched after a VMGM blanking with the option "Completely remove the menu VOB file".

So, I suppose you have used another method to remove the VOB.
Did you deleted it manually?
Did you deleted it AFTER the Save in PgcEdit?

@everybody
PgcEdit will correct the VTS sectors each time it saves the DVD. But it will use the VOBs that are currently in the directory to calculate the pointers. So, if you change anything manually, you should always reopen the DVD in PgcEdit, and save it again (or Get VTS Sectors with IfoEdit, which may be faster).

blutach
11th November 2004, 12:13
@rolz

I used VobBlanker to process the menus, not IfoEdit. As you know, it doesn't keep unreferenced material.

This is the scenario. I Kill PGC Playback with PgcEdit AND remove the programs - in this case all PGCs in VMGM. I then might need to do some processing with VobBlanker. After processing, VIDEO_TS.VOB is a 0 byte file (since all the cells are now unreferenced).

Next step is I copy the processed IFOs (including the zero byte VIDEO_TS.VOB) to my working directory, restart PgcEdit and save. PgcEdit tells me that VTS Sectors are saved OK.

Then, without doing any other processing, I start IFOEdit as described earlier and do a Get VTS Sectors (to load up all the IFOs) and it readjusts sectors!! This happens quite often.

So, someone's GET VTS Sectors is not quite right.

I trust you can repeat it and discover what might be happening.

Thanks and regards

mpucoder
11th November 2004, 12:49
Originally posted by r0lZ
Settop players are using the UDF mode, which has no directory..

Not true. Both iso 9660 and UDF are file systems, with directories (folders to Windows peeps). ISO9660 is the same as that used on CDs, and is optional. UDF is required, and used by both settop players and PCs in the absence of iso9660.

Settop players locate the video zone by way of the UDF file system. After finding /VIDEO_TS/VIDEO_TS.IFO they then use the pointers within it and the other ifo files (pointed to by VIDEO_TS.IFO) to navigate the disk.
Software players, on the other hand, use the file system to locate all the files, removing the need for lower level access to the disk.

As noted, there can be gaps on a DVD. The most noteable ones are those used to ensure that no ECC block contain any portion of an ifo file and its associated bup file. Since ECC blocks are 16 sectors long, the easiest way to accomplish this is the ensure that there are 16 sectors between the end of the ifo and the start of the bup. With VIDEO_TS.VOB or VTS_xx_0.VOB files less that 32K (or absent) this means using a gap.

There can be gaps in other places, and this ability is exploited by DVD recorders (not VR mode, but video mode, aka video-rm) to pre-allocate space for ifo, bup, and menu data. Video-rm also can create up to 3 titlesets (for different resolutions) but use the same data for all three vob file sets. The pointer system allows this file sharing technique.

Burning programs handle this in one of three ways, two of which are correct.
1) They can honor the authoring programs layout and place the data on the disk according to the pointers in the ifo files.
2) They can make their own layout decisions and alter the pointesr accordingly.
3) They (notably Nero) pack the data as closely as possible and ignore the pointers.

r0lZ
11th November 2004, 13:04
3) They (notably Nero) pack the data as closely as possible and ignore the pointers. So, Nero should be avoided to burn DVDs?

r0lZ
11th November 2004, 14:21
@blutach
I then might need to do some processing with VobBlanker. After processing, there is no VIDEO_TS.VOB (since all the cells are now unreferenced). I think you're wrong on this point. VobBlanker will create a 0 byte VOB file.

I have followed your scenario and copied only the IFO and BUP files processed by VobBlanker. Not the empty VOB. All is working perfectly: IfoEdit doesn't change anything.

However, If I copy the empty VOB also, then IfoEdit will correct the Start Sector of VMGM_VOBS: [old: 0] [new: 10](VIDEO_TS.VOB)

So, you are right: in the case of an empty VOB file, the sector pointer is not adjusted correctly by PgcEdit. For now, the way to avoid this problem is to remove the 0 byte VOB files before saving the DVD with PgcEdit.

Could you confirm that you kept the empty VOB?

[EDIT:] Bug fixed now. The new v0.4.0 release will be available in a couple of days...

jeanl
11th November 2004, 17:01
Originally posted by mpucoder
Not true. Both iso 9660 and UDF are file systems, with directories (folders to Windows peeps). ISO9660 is the same as that used on CDs, and is optional. UDF is required, and used by both settop players and PCs in the absence of iso9660.

Settop players locate the video zone by way of the UDF file system. After finding /VIDEO_TS/VIDEO_TS.IFO they then use the pointers within it and the other ifo files (pointed to by VIDEO_TS.IFO) to navigate the disk.
Software players, on the other hand, use the file system to locate all the files, removing the need for lower level access to the disk.

As noted, there can be gaps on a DVD. The most noteable ones are those used to ensure that no ECC block contain any portion of an ifo file and its associated bup file. Since ECC blocks are 16 sectors long, the easiest way to accomplish this is the ensure that there are 16 sectors between the end of the ifo and the start of the bup. With VIDEO_TS.VOB or VTS_xx_0.VOB files less that 32K (or absent) this means using a gap.

There can be gaps in other places, and this ability is exploited by DVD recorders (not VR mode, but video mode, aka video-rm) to pre-allocate space for ifo, bup, and menu data. Video-rm also can create up to 3 titlesets (for different resolutions) but use the same data for all three vob file sets. The pointer system allows this file sharing technique.

Burning programs handle this in one of three ways, two of which are correct.
1) They can honor the authoring programs layout and place the data on the disk according to the pointers in the ifo files.
2) They can make their own layout decisions and alter the pointesr accordingly.
3) They (notably Nero) pack the data as closely as possible and ignore the pointers.

mpucoder! Thanks for taking the time to post this very informative answer! really cool! Now the whole thing makes much much more sense to me. I will check tonight whether my nero burn shows different VTS sectors than my DVDDecrypter burn. But what you mention about the three ways burning programs handle it could easily explain the problems northwind was having!

Jeanl

jeanl
11th November 2004, 17:02
Originally posted by r0lZ
So, Nero should be avoided to burn DVDs?
well it definitely sounds that way to me, at least when you have less-than-32K files in your DVD... I'll double check that tonight...

Jeanl

2COOL
11th November 2004, 17:43
Originally posted by jeanl
About this GetVTS Sectors...

Can someone explain to me exactly what that does?
http://ifoedit.wh.fr0zen.com/calcsec.html

jsoto
11th November 2004, 18:41
@mpucoder,
The last doubt I have is about the 0 bytes menu files. Nero doesn't like them but I've seen many original DVDs with them. Do you have any reference on this?.

jsoto

2COOL
11th November 2004, 18:51
Originally posted by jsoto
The last doubt I have is about the 0 bytes menu files. Nero doesn't like them but I've seen many original DVDs with them. Do you have any reference on this?.IMHO, it was Nero's decision to implement the "less than 2KB" feature. There were alot of complaints about this matter and recommendations to have them leave it as a option to keep or not keep. But alas, even up to now, they still deny us that. :( It's just a show of power. I don't think the original DVDs were burnt with Nero.

r0lZ
11th November 2004, 19:30
I don't like the empty VOBs, so I prefer to delete them. But since this seems legal, PgcEdit is now able to deal with them without problems. The user may decide te leave or remove them: the VTS Sectors are now working as described by jsoto, above.

2COOL
11th November 2004, 20:19
@r0lZ

In our Sub-Picture Stream setup, is 15 the highest stream we can go up to?

Speaking of setups...I mentioned earlier about putting the languages into the SetSTN slide bar but how about doing it to the audio and sub-picture set slide bars instead? They should be referencing the *_MAT tables right? You could probably put tool tips on the buttons in PGC Editor Main window to tell us what Language the streams are. Well, at least for Audio.

BTW, what's your status on this (http://forum.doom9.org/showthread.php?s=&postid=560844#post560844)?

blutach
11th November 2004, 20:44
Originally posted by r0lZ
@blutach
I think you're wrong on this point. VobBlanker will create a 0 byte VOB file.

Could you confirm that you kept the empty VOB?

[EDIT:] Bug fixed now. The new v0.4.0 release will be available in a couple of days... Yes, that's what I did rolz...sorry for the confusion. I wrote the post late last night from memory. But yes, I do a move all files from the VobBlanker destination folder back to my original project working folder. (I will edit my earlier post).

Glad to see you have re-created the situation. Until 4.0 released (including the trace?), I will simply delete 0 byte files as you recommend.

(It seems DVD Shrink deletes these too, because after transcoding, they are not included and I never have problems with sectors, even though I burn with Nero - see mpucoder's earlier post).

Thanks and regards

mpucoder
11th November 2004, 20:48
Originally posted by 2COOL
I don't think the original DVDs were burnt with Nero.
:)
Of course not, and neither are mine. Which is why I don't know firsthand the current status of that problem.

jeanl
11th November 2004, 20:57
Originally posted by mpucoder
:)
Of course not, and neither are mine. Which is why I don't know firsthand the current status of that problem.
I'll give it a shot tonight on the DVD that I have a problem with, then post my results.
If there's something specific you want me to try, post it!
Jeanl

blutach
11th November 2004, 21:23
@mpucoder

Are you saying that a better method is to burn an ISO file with DVD Decrypter?

Regards

mpucoder
11th November 2004, 23:13
This is getting OT (we have another forum altogether for "burning issues")

AFAIK ISO images work fine, even in Nero. The whole idea of images is not to examine the data or layout, just burn it. I do have Nero (came with my new burner) just haven't played with it in file mode yet.

jsoto
11th November 2004, 23:22
Also, this thread is becoming too long...
r0lZ, I suggest to start a new one with 0.4.0

jsoto

jeanl
11th November 2004, 23:25
Originally posted by jsoto
Also, this thread is becoming too long...
r0lZ, I suggest to start a new one with 0.4.0

jsoto
Good idea!
Jeanl
jsoto, what are you doing up at this time! ;)

r0lZ
12th November 2004, 03:00
Originally posted by 2COOL
@r0lZ

In our Sub-Picture Stream setup, is 15 the highest stream we can go up to? :o You're right. Should be 32.


Speaking of setups...I mentioned earlier about putting the languages into the SetSTN slide bar but how about doing it to the audio and sub-picture set slide bars instead? They should be referencing the *_MAT tables right? You could probably put tool tips on the buttons in PGC Editor Main window to tell us what Language the streams are. Well, at least for Audio. Yes. That's feasible.


BTW, what's your status on this (http://forum.doom9.org/showthread.php?s=&postid=560844#post560844)? Not yet done, as you can see. Maybe later. For now, it is already possible to blank the cells you want, although it requires some manual work...

r0lZ
12th November 2004, 03:03
Originally posted by jsoto
Also, this thread is becoming too long...
r0lZ, I suggest to start a new one with 0.4.0

jsoto It's my intention.

@blutach and everybody
Yes, v0.4 will have the Trace (still in a somewhat beta state, though.) I will probably release it sunday.

jeanl
12th November 2004, 05:45
Originally posted by jeanl
I'll give it a shot tonight on the DVD that I have a problem with, then post my results.
If there's something specific you want me to try, post it!
Jeanl

Well I did some tests and posted the results here:
http://forum.doom9.org/showthread.php?s=&threadid=85267

I still don't understand what's going on...
Jeanl

blutach
12th November 2004, 13:06
@jean

See my reply in your DVD Burning thread.

2COOL
12th November 2004, 23:00
@r0lz

Bug?

I have a PGC with one program and holding a VOB/ Cell ID of 2/1.

VTST 1 , 1 TTN 1 (9:02) - Chapters: 1, Programs: 1, Cells: 1

********** pre commands:
********** post commands:
********** cell commands:


Playback time: 00:09:02.04 (at 30 fps)
PG Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 3
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)
Audio stream 2 status: 0x00008100 (stream=1)
Subpic stream 1 status: 0x80000000 (streams for 4:3=0, wide=0, letterbox=0, pan&scan=0)

Chap. Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
(PTT) Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

1 1 1 2 no no 0 0 00:09:02.04 00:09:02.04 29855 0 212886 213093 2 1

When I select to change this to 1/1 in PGC Editor dialog, my number of Programs has increased. I should still have a single program here.
VTST 1 , 1 TTN 1 (1:18) - Chapters: 1, Programs: 2, Cells: 1

********** pre commands:
********** post commands:
********** cell commands:


Playback time: 00:01:18.07 (at 30 fps)
PG Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 3
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)
Audio stream 2 status: 0x00008100 (stream=1)
Subpic stream 1 status: 0x80000000 (streams for 4:3=0, wide=0, letterbox=0, pan&scan=0)

Chap. Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
(PTT) Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

1 1 1 2 no no 0 0 00:01:18.07 00:01:18.07 0 0 29705 29854 1 1

Also, you have a typo in your PGC dump

"Still Time1" should be "Still Time"

2COOL
13th November 2004, 04:10
I did a IfoEdit split and it seems there is difference in parsing the IFO between IfoEdit and PgcEdit. Here's what I have for disc Title 1.

In Ifoedit, I have Chapter 1 with Program 1.

VTS overview:

PGC_1 (program chain): [Title(TTN): 1] [00:50:22.07 / 30 fps] (Programs: 12) (Cells: 12) (uses VOB-IDs: 1)
[Ch 01] [Pg 01] [Cell 01] [V/C Id: 1/17]
[Ch 18] [Pg 02] [Cell 02] [V/C Id: 1/18]
[Ch 19] [Pg 03] [Cell 03] [V/C Id: 1/19]
[Ch 20] [Pg 04] [Cell 04] [V/C Id: 1/20]
[Ch 21] [Pg 05] [Cell 05] [V/C Id: 1/21]
[Ch 22] [Pg 06] [Cell 06] [V/C Id: 1/22]
[Ch 23] [Pg 07] [Cell 07] [V/C Id: 1/23]
[Ch 24] [Pg 08] [Cell 08] [V/C Id: 1/24]
[Ch 25] [Pg 09] [Cell 09] [V/C Id: 1/25]
[Ch 26] [Pg 10] [Cell 10] [V/C Id: 1/26]
[Ch 27] [Pg 11] [Cell 11] [V/C Id: 1/27]
[Ch 28] [Pg 12] [Cell 12] [V/C Id: 1/28]

Parsing the same IFO with PgcEdit, I have Chapter 17 with Program 1.

VTST 1 , 1 TTN 1 (50:22) Title 1 - Chapters: 28, Programs: 12, Cells: 12

Chap. Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
(PTT) Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

17 1 1 2 yes no 0 0 00:10:03.07 00:10:03.07 0 0 166344 166504 1 17
18 2 2 8 no no 0 0 00:05:21.04 00:15:24.11 166505 0 254288 254471 1 18
19 3 3 8 no no 0 0 00:02:38.18 00:18:02.29 254472 0 300865 301083 1 19
20 4 4 8 no no 0 0 00:07:25.05 00:25:28.04 301084 0 464608 464816 1 20
21 5 5 8 no no 0 0 00:02:36.26 00:28:05.00 464817 0 519347 519574 1 21
22 6 6 8 no no 0 0 00:02:09.21 00:30:14.21 519575 0 567889 568152 1 22
23 7 7 8 no no 0 0 00:04:49.10 00:35:04.01 568153 0 669977 670158 1 23
24 8 8 8 no no 0 0 00:01:00.29 00:36:05.00 670159 0 697578 697820 1 24
25 9 9 8 no no 0 0 00:03:36.09 00:39:41.09 697821 0 785766 786199 1 25
26 10 10 8 no no 0 0 00:03:52.25 00:43:34.04 786200 0 873243 873537 1 26
27 11 11 8 no no 0 0 00:01:39.03 00:45:13.07 873538 0 910117 910263 1 27
28 12 12 8 no no 0 0 00:05:09.00 00:50:22.07 910264 0 1027423 1027490 1 28

I did 3 playback tests.

IfoEdit: Shows Chapter 1 for my first chapter, 18 for my second
PowerDVD: Same as IfoEdit
Sony standalone: Same as IfoEdit

What's going on with PgcEdit? :confused:

lamster
13th November 2004, 05:06
Suggestion:

If the currently-selected command is other than a Jump or Link command, and Ctrl+J is pressed, move the selection to the next following Jump or Link command.

This will let you step through simple navigation sequences just by repeatedly pressing Ctrl+J.

r0lZ
13th November 2004, 06:40
Originally posted by 2COOL
@r0lz

Bug?

I have a PGC with one program and holding a VOB/ Cell ID of 2/1.

VTST 1 , 1 TTN 1 (9:02) - Chapters: 1, Programs: 1, Cells: 1

********** pre commands:
********** post commands:
********** cell commands:


Playback time: 00:09:02.04 (at 30 fps)
PG Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 3
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)
Audio stream 2 status: 0x00008100 (stream=1)
Subpic stream 1 status: 0x80000000 (streams for 4:3=0, wide=0, letterbox=0, pan&scan=0)

Chap. Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
(PTT) Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

1 1 1 2 no no 0 0 00:09:02.04 00:09:02.04 29855 0 212886 213093 2 1

When I select to change this to 1/1 in PGC Editor dialog, my number of Programs has increased. I should still have a single program here.
VTST 1 , 1 TTN 1 (1:18) - Chapters: 1, Programs: 2, Cells: 1

********** pre commands:
********** post commands:
********** cell commands:


Playback time: 00:01:18.07 (at 30 fps)
PG Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 3
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)
Audio stream 2 status: 0x00008100 (stream=1)
Subpic stream 1 status: 0x80000000 (streams for 4:3=0, wide=0, letterbox=0, pan&scan=0)

Chap. Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
(PTT) Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

1 1 1 2 no no 0 0 00:01:18.07 00:01:18.07 0 0 29705 29854 1 1 This is a bug, but it is ONLY in the 0.4.0 beta release you tested for me. It is fixed now.


Also, you have a typo in your PGC dump

"Still Time1" should be "Still Time" Fixed.

r0lZ
13th November 2004, 06:53
Originally posted by 2COOL
I did a IfoEdit split and it seems there is difference in parsing the IFO between IfoEdit and PgcEdit. Here's what I have for disc Title 1.

In Ifoedit, I have Chapter 1 with Program 1.
Parsing the same IFO with PgcEdit, I have Chapter 17 with Program 1.

VTST 1 , 1 TTN 1 (50:22) Title 1 - Chapters: 28, Programs: 12, Cells: 12

Chap. Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
(PTT) Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

17 1 1 2 yes no 0 0 00:10:03.07 00:10:03.07 0 0 166344 166504 1 17


I did 3 playback tests.

IfoEdit: Shows Chapter 1 for my first chapter, 18 for my second
PowerDVD: Same as IfoEdit
Sony standalone: Same as IfoEdit

What's going on with PgcEdit? :confused: In fact, both are right. After your IfoEdit split, in disk 2, the chapters 1 upto 17 are assigned to the same cell (the first one). So, the correct display should be:
1->17 1 1 2 yes no 0 0 00:10:03.07 00:10:03.07 0 0 166344 166504 1 17
Of course, I don't have enough place in the GUI to list all chapters. So, I display only the last one. IfoEdit displays the first one. Both are right.

[EDIT:] Since most standalone players will probably display the first chapter, I've changed this. PgcEdit now displays the first chapter assigned to the cell.

r0lZ
13th November 2004, 06:58
Originally posted by lamster
Suggestion:

If the currently-selected command is other than a Jump or Link command, and Ctrl+J is pressed, move the selection to the next following Jump or Link command.

This will let you step through simple navigation sequences just by repeatedly pressing Ctrl+J. Hummm. This is not a bad idea, but I think it may be somewhat strange to see the selection jump to another place without a real reason.
And, as v 0.4 will have a Trace function that will allow to follow the flow verry easily, I don't think I will implement your idea. Sorry.
Stay tuned right here: v0.4.0 is ready, and will be released today or maybe tomorrow...

r0lZ
13th November 2004, 16:58
PgcEdit 0.4.0 released!

Please post everything related to v0.4 in this thread (http://forum.doom9.org/showthread.php?s=&threadid=85329).

lamster
14th November 2004, 14:54
Originally posted by r0lZ
Hummm. This is not a bad idea, but I think it may be somewhat strange to see the selection jump to another place without a real reason.
Well, the "real reason" is pressing Ctrl+J when something that's not a Jump is selected.

My initial thought was to automatically select the first line whenever a PGC was opened, and to automatically select the first jump or link if you entered by following another jump or link, but I thought that might be too strange for those not trying to trace.

And, as v 0.4 will have a Trace function that will allow to follow the flow verry easily
OK, I'll take a look at that.

Thanks.