Matching HD DVD chapter information to EVO file - Doom9's Forum

Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.


Reload this Page Matching HD DVD chapter information to EVO file

(追記) (追記ここまで)
Old 8th December 2007, 17:22 #1 | Link
Registered User

Join Date: Sep 2006
Posts: 110
Matching HD DVD chapter information to EVO file

I'm working on an app that plays seperate chapters of an HD DVD, but I've run into a wall. So time to pick some info on the subject from your minds.

I figured these 4 files are needed to accomplish the task;
- the .xpl file where the chapter name and timestamp are located
- the .map file corresponding to the EVO
- the .vti file
- and the EVO file itself containing video

Atm I've got the following already done; made an xpl parser, so the chapter names are no problem. I'm also able to scan/view the EVO file to see which packets are there (stream ID's and payload length).
Where I'm stuck is parsing the map and vti files. A bit of reverse engineering gave insight in how the files are build up. Doesn't give a 100% picture, but I've found some tables with for example offsets to other tables containing basic info about the EVO files. This is mostly in the vti file where I've found a datablock block for each evo file.

Here's how far I've gotton. The offsets are mainly from the Bourne Identity disc, but I've compared the results with some other discs aswell:
Code:
0x0000	ADVANCED-VTS
		...
0x001F	0D 00 10 00 00 00 02			// ?
		...
0x0080	00 00 03 FF				// ?
		...
0x00BB	01 00 00 00 06				// ?
		...
// start of offset table?
0x0800	00 08 00 00 				// start of table (current + offset)?
	00 00 20 27 				// ? 8*0x400 = 0x2000 -> 0x27 remaining
0x0808	00 00 00 28 				// start of 0x400 blocks (0x0800 + offset)?
	...
	00 00 1C 28
0x0828	00 00 6B 10 C0....01 1C 00 D4		// 0 (start of 0x400 blocks)
...
0x0C28	05 00 6B 10 C0 00 60 10 50.... 		// after prev 0x400
	00 00 00 00 00 00
	06 					// no of repeats
	1C 00 D4 00 
	...
	1C 00 D4 00
0x0CE9	01 					// no of repeats
	1C C4 00
0x0D0D	20 					// no of repeats
	80 20 00 00 00
	80 xx 00 00 00				// xx increases 1 each time
	80 3F 00 00 00
* cut entries *
0x1C28	00 00 20 00 50....01 1C 00 C4		// after prev 0x400, last one
		...
0x2428	10 00 6B 10 C0....01 1C 00 C4		// where does this one come from?
		...
// start of EVO table?
0x3002	00 30 					// no of EVO's
	00 00 					// reserved?
	3C C7 					// end address (last byte), including padding?
// total blocksize is 36*16 byte (starting at 0x3000 + offset?)
0x3008	00 00 00 C8 				// start of first EVO (value + current offset)
	...
	00 00 3B 88				// offset to last EVO
// start of EVO data
0x3208	20 00
	<filename> followed by 00...
0x3310	00 05 00 00 0D 4C 00 28 D5 69 00 00 7B B5 00 02		// 16 bytes (not EVO size) last byte is evo number
	00 00 00 00 00 00					// 6 bytes
	FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF		// 16 bytes
	00...							// 18 bytes
* skipped bunch of entries *
// zero bytes signals end of EVO table?
0x6CC8	00...							// 320 bytes (name)
	00... to the end					// 18 bytes
The map file is the biggest mystery though. Here's what I've got so far:
Code:
0x0000	HDDVD_TMAP00
0x000F	0F 				// no of chapters?
	00 00 00 10 20
	00....00
// VTI table?
0x0038	01 				// no of VTIs?
	FF FF FF FF 
	FF FF FF FF
	00....00
0x0072	HVA00001.VTI			// size 0x110 bytes (/16=17)
	00....00
0x0182	01 A0 				// offset of start of table
0x0184	00 13 				// file no in VTI
0x0186	1D CA				// no of 4-byte pieces
0x0188	00....00			// reserved?
// size 0x7728 / 4 = 0x1DCA
0x01A0	00 C4 00 52
	00 C4 60 63
	00 C4 60 93
	00 C4 60 99
	etc...
0x78C8	00....00
So is there anyone who can fill in the gaps? I'm guessing some of the values I haven't figured out yet are used to pinpoint the start of each chapter. But how does it all come together? Is there a link between the values in the above files and balues in the PES header? If so, what's the link?

In short: what information is needed to find a chapter and where is that information stored? Any help on this would be appreciated.

edit:
hmmmz, is this the right subforum for these kind of questions?

Last edited by Zotty; 8th December 2007 at 20:31.
Zotty is offline Reply With Quote
Old 23rd December 2007, 13:08 #2 | Link
Registered User

Join Date: Nov 2001
Posts: 9,770
moved to hddvd/bluray forum, as i think this fits better there
__________________
Between the weak and the strong one it is the freedom which oppresses and the law that liberates (Jean Jacques Rousseau)
I know, that I know nothing (Socrates)

MPEG-4 ASP FAQ | AVC/H.264 FAQ | AAC FAQ | MP4 FAQ | MP4Menu stores DVD Menus in MP4 (guide)
Ogg Theora | Ogg Vorbis
use WM9 today and get Micro$oft controlling the A/V market tomorrow for free
bond is offline Reply With Quote

Thread Tools Search this Thread
Show Printable Version Show Printable Version
Email this Page Email this Page
Search this Thread:

Advanced Search
Display Modes
Linear Mode Linear Mode

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 09:55.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.

(追記) (追記ここまで)

AltStyle によって変換されたページ (->オリジナル) /