PDA

View Full Version : Jackie Brown and VobBlanker+PowerDVD or how to resume...


jsoto
8th December 2004, 20:40
Hi all,

I was dealing with Jackie Brown, because a strange behavior when blanking, and I'd like to share the problem.

Well, this is the scenario:

Title 1 (main movie) and Title 2 (intro) are in the same VTS.

The DVD starts with the intro (Title 2) and goes to VTS01 root menu. Here you have a "play" button, which, after doing some checking about the current title (checks if sprm 4 == 1) does a resume (if sprm4==1) or a jump to title 1 (if not)

Title 2 has a postcommand to go to Root menu, which is converted into a precommand by VobBlanker.

Well, my conclusion after deep investigations, modifying the commands is: PowerDVD does not change sprm 4 to 2 because the title 2 does not really play,and keeps its initial value of 1. So when you press on "play" button, a resume is done, but no resume is possible!!. The effect I see is that : Title 2 (blanked) starts to play, ends and finally the DVD stops. In the original, because the title 2 plays at the beginning, this effect is not present, and PowerDVD plays fine.

PgcEdit in trace mode changes sprm 4 to 2 at the beginning of the precommands and the DVD plays fine

My two settops and WinDVD are also able to play well the dvd.

Conclusion: Is it a bug in powerDVD? (I'm using PowerDVD 5.0). This is the first time I know where a DVD is played in a settop and not in PowerDVD!

BTW, how the player knows the exact sector where go back in a resume? Title and chapter are in sprms but where is stored the current sector or time?

jsoto

jeanl
8th December 2004, 20:52
jsoto,
can you post IFO details (as obtained for example by PgcEdit)? That would be great...
Jeanl

jeanl
8th December 2004, 20:54
jsoto,
have you also tried IFOEdit's playDVD? You can check the values of the gprms oops, I don't think you can check the sprms, darn!
Jeanl

jsoto
8th December 2004, 21:05
Its really simple:
First Play PGC

********** pre commands:
[53 00 00 00 00 00 00 00] 1 (SetGPRMMD) Set gprm(0) in register mode =(mov) 0
[53 00 00 01 00 01 00 00] 2 (SetGPRMMD) Set gprm(1) in register mode =(mov) 1
[53 00 00 02 00 02 00 00] 3 (SetGPRMMD) Set gprm(2) in register mode =(mov) 2
[53 00 00 03 00 03 00 00] 4 (SetGPRMMD) Set gprm(3) in register mode =(mov) 3
[53 00 00 04 00 04 00 00] 5 (SetGPRMMD) Set gprm(4) in register mode =(mov) 4
[53 00 00 40 00 05 00 00] 6 (SetGPRMMD) Set gprm(5) in register mode =(mov) 64
[53 00 00 41 00 06 00 00] 7 (SetGPRMMD) Set gprm(6) in register mode =(mov) 65
[53 00 00 42 00 07 00 00] 8 (SetGPRMMD) Set gprm(7) in register mode =(mov) 66
[30 02 00 00 00 02 00 00] 9 (JumpTT) Jump to Title 2
********** post commands:
********** cell commands:


VTST 1,2 TTN 2 (Before blanking)

********** pre commands:
********** post commands:
[51 20 00 00 C0 00 02 81] 1 if ( gprm(2) == sprm(1:Audio stream number) ) then { (SetSTN) Set Sub-picture stream = 0, on }
[30 08 00 00 01 83 00 00] 2 (CallSS) Call the VTSM Root menu of the current VTS, resume cell 1
********** cell commands:
[20 06 00 00 00 00 00 02] 1 LinkPGN Program 2
[20 06 00 00 00 00 00 03] 2 LinkPGN Program 3
[20 06 00 00 00 00 00 04] 3 LinkPGN Program 4
[20 01 00 00 00 00 00 0D] 4 LinkTailPGC



VTST 1,2 TTN 2 (After blanking)

********** pre commands:
[51 20 00 00 C0 00 02 81] 1 if ( gprm(2) == sprm(1:Audio stream number) ) then { (SetSTN) Set Sub-picture stream = 0, on }
[30 08 00 00 01 83 00 00] 2 (CallSS) Call the VTSM Root menu of the current VTS, resume cell 1
********** post commands:
********** cell commands:
[20 06 00 00 00 00 00 02] 1 LinkPGN Program 2
[20 06 00 00 00 00 00 03] 2 LinkPGN Program 3
[20 06 00 00 00 00 00 04] 3 LinkPGN Program 4
[20 01 00 00 00 00 00 0D] 4 LinkTailPGC


ROOT menu of VTS01

********** pre commands:
[53 00 00 00 00 00 00 00] 1 (SetGPRMMD) Set gprm(0) in register mode =(mov) 0
[53 00 00 01 00 01 00 00] 2 (SetGPRMMD) Set gprm(1) in register mode =(mov) 1
[53 00 00 02 00 02 00 00] 3 (SetGPRMMD) Set gprm(2) in register mode =(mov) 2
[53 00 00 03 00 03 00 00] 4 (SetGPRMMD) Set gprm(3) in register mode =(mov) 3
[53 00 00 04 00 04 00 00] 5 (SetGPRMMD) Set gprm(4) in register mode =(mov) 4
[41 20 00 8B 8C 00 0A 01] 6 if ( gprm(10) == gprm(1) ) then { (SetSTN) Set Audio stream = gprm(11) ; Set Sub-picture stream = gprm(12) }
[53 00 00 00 00 0A 00 00] 7 (SetGPRMMD) Set gprm(10) in register mode =(mov) 0
********** post commands:
[00 31 00 0A 00 00 00 04] 1 if ( gprm(10) != gprm(0) ) then { Goto line 4 }
[20 21 00 01 00 84 00 10] 2 if ( gprm(1) == sprm(4:Title number in volume) ) then { RSM }
[30 03 00 00 00 01 00 00] 3 (JumpVTS_TT) Jump to TTN 1 in this VTS
[61 00 00 0B 00 81 00 00] 4 Set gprm(11) =(mov) sprm(1:Audio stream number)
[61 00 00 0C 00 82 00 00] 5 Set gprm(12) =(mov) sprm(2:Sub-picture stream number)
[30 06 00 00 00 42 00 00] 6 (JumpSS) Jump to VMGM Title menu
********** cell commands:


BTW, I've used an unused gprm to add a condition to make the DVD work fine even in powerDVD, but this is not the matter

EDIT:
Play button is a "LinkTailPGC" command. There are other buttons which change gprm10 before doing the LinkTailPGC, checked in the first postcommand


jsoto

jsoto
8th December 2004, 21:07
IFOedit plays OK.

Only powerDVD don't.

jsoto

sweetness
8th December 2004, 21:45
The NTSC version looks nothing like that. backed it up using vobblanker 1.4.0.1 a while ago and works fine. but still weird

Three minutes late.:D