|
|
i've got several dvds where tmapti for main movie is either completely missing or empty resulting in inability to seek.
is there a good tool or way to safely and easily fix/recreate tmapti entries without modifying vobs and messing up original commands?
what i tried (both standalone and in combination, with a lot of fixing commands, etc):
1. ifoedit with creating new ifos (processes vobs) - main movie in vts7 but it always creates new ifos as vts1, i guess simply renaming it back to vts7 and copying over old vobs/ifos wont work
2. dvdremake (processes vobs) but i'd rather not use it because it changes original structure and always had various kinds of bugs, missing commands, playback errors
3. ifoupdate tmapti transfer (always complaining about different tmapti sizes etc, never worked 
4. jsotos navpack/tmapti commandline tools, never got it working, either complains about nupgc number mismatch or simply does nothing, although i think these tools would be best if it worked 
5. hexediting and trying manually inserting proper values/increasing tmapti space - been trying to see if vobblanker would fill it as it should (according to one post by jsoto) if theres space in tmapti, but i gave up quickly not knowing the structure of ifo 
Originally Posted by Grave...
2. dvdremake (processes vobs) but i'd rather not use it because it changes original structure and always had various kinds of bugs, missing commands, playback errors
And what version you are referring to?
i've got several dvds where tmapti for main movie is either completely missing or empty resulting in inability to seek.
By the spec a TMAPTI is only written if there is a one-sequential-pgc-title
Structure must be:Code:
VTS
|
Title1
|
PGC1
or
VTS / \
Title1 Title2 | |
PGC1 PGC1and not
VTS | Title1 / \
PGC1 PGC2
also if there are PrevPGC and NextPGC links set there must not be a TMAPTI
If IfoEdit creates the TMAPTI table correctly, you can use PgcEdit to import the fixed VTS in your DVD. Use File -gt; Import VTST Titles to append the VTS at the end of the current DVD, or select the VTS you want to replace, and use File -gt; Replace VTST Titles to overwrite the original VTS with the new one.
You have also to reimport the original menu (if any.)
If you want, I can write easily a little plugin for PgcEdit to create an empty VTS_TMAPTI table in the current VTS. You will have to fill it with meaningful values with VobBlanker.
@jsoto: What do you need exactly? Is it sufficient to fill in just a table with 0 TMAPs and an end byte of table of 7? You will have only one sector free.
It should be possible to extend the empty table to several sectors, if needed, but do you need a valid structure, with a time unit value for each time map? In this case, it's more difficult for me.
Originally Posted by bigotti5if there are PrevPGC and NextPGC links set there must not be a TMAPTI
Unless NextPGC points to the same PGC! And while only the entry PGC for a title can be one-sequential (and there can be only one PGC marked as the entry) it can have a PrevPGC link (an odd thing in itself - how can it be the first if something came before it?) and still be one-sequential!
And there is always a tmap for each PGC, but if the PGC is not one-sequential the map is empty.
So, mpucoder, an totally empty or missing TMAPTI table is an authoring error?
That is my understanding. The only optional tables in a vts are vtsm_c_adt and vtsm_vobu_admap, and only if there is no vts_xx_0.vob file.
And there is always a tmap for each PGC, but if the PGC is not one-sequential the map is empty.
If you use scenarist to create a title with two pgcs, open the ifo with ifoedit, scroll to VTS_TMAPTI section
quot;There is no VTS_TMAPTI tablequot;
Dont know this means there is no table or the table is empty.
That means that there is no table (the pointer to the table in VTSI_MAT is 0.)
An empty table should at least have the number of VTS_TMAPs set to 0, and the end byte of table to 7.
If, as mpucoder says, a PGC must have a time map and this table is empty, the number of VTS_TMAPs cannot be 0, but the quot;number of entries in time mapquot; for the PGC is 0. Seems its time unit is also 0 in this case.
Of course, since there is no way to specify the PGC number in this table, all PGCs of the domain must be listed sequentially. Perhaps, if there are no PGCs requiring a time map, it is allowed to remove completely the whole VTS_TMAPTI table?
Originally Posted by r0lZ
@jsoto: What do you need exactly? Is it sufficient to fill in just a table with 0 TMAPs and an end byte of table of 7? You will have only one sector free.
It should be possible to extend the empty table to several sectors, if needed, but do you need a valid structure, with a time unit value for each time map? In this case, it's more difficult for me.
This is something I have to improve..
Currently VobBlanker calculates the space available for each entry PGC, using the pointers to the PGC itself and the one to the next PGC (or the last byte in the table)
Based on the space available and the duration of the PGC, VB calculates the minimum time unit value, in order to fill as many as possible entries.
jsoto
Unless NextPGC points to the same PGC! And while only the entry PGC for a title can be one-sequential (and there can be only one PGC marked as the entry) it can have a PrevPGC link (an odd thing in itself - how can it be the first if something came before it?) and still be one-sequential!
Scenarist dont create a tmapt (or an empty one) even if NextPGC/PrevPGC points to the same PGC.
Scenarist is not god!
For similar reasons, PowerDVD (or is it WinDVD, I don't remember) disables the time seekbar when there is a Next or PrevPGCN link pointing to the same PGC. That's a bug!
DVD ERROR 5780 (ref. DVD-3 4.3.2-1)
Fields from the PGC_NV_CTL should be '0' in a One_Sequential_PGC_Title. This error is reported when:
• The Next_PGC_number does not equal ‘0’ in a One_Sequential_PGC_Title.
• The Previous_PGC_number does not equal ‘0’ in a One_Sequential_PGC_Title.
• The GoUp_PGC_number does not equal ‘0’ in a One_Sequential_PGC_Title.
To determine if a title is a One_Sequential_PGC_Title, the field TT_TY from the structure TT_PB_TY from the VMGI for the current Title should be ‘0’.
Source:
inc...ename=2498.pdf
Originally Posted by r0lZIf you want, I can write easily a little plugin for PgcEdit to create an empty VTS_TMAPTI table in the current VTS. You will have to fill it with meaningful values with VobBlanker.
i think its worth a try, would possibly solve some problems with tmapti tools and empty tmapti
(of course ideal solution being tmapti pgce plugin tools, one to scan navpacks and the others to create/adjust/remove/fill tmapti )
i could do it by hand in hexeditor too if i knew offsets/values for tmap table and its structure
OK, maybe I'll do it. But only when I'll have some spare time! |
|