namespace BinaryObjectScanner.Models.DVD
{
///
public sealed class VideoTitleSetIFO
{
///
/// "DVDVIDEO-VTS"
///
public string Signature;
///
/// Last sector of title set (last sector of BUP)
///
public uint LastTitleSetSector;
///
/// Last sector of IFO
///
public uint LastIFOSector;
///
/// Version number
/// - Byte 0 - Reserved, should be 0
/// - Byte 1, Bits 7-4 - Major version number
/// - Byte 1, Bits 3-0 - Minor version number
///
public ushort VersionNumber;
///
/// VTS category
///
/// 0=unspecified, 1=Karaoke
public uint VMGCategory;
///
/// Number of volumes
///
public ushort NumberOfVolumes;
///
/// Volume number
///
public ushort VolumeNumber;
///
/// Side ID
///
public byte SideID;
///
/// Number of title sets
///
public ushort NumberOfTitleSets;
///
/// Provider ID
///
public byte[] ProviderID;
///
/// VMG POS
///
public ulong VMGPOS;
///
/// End byte address of VTS_MAT
///
public uint InformationManagementTableEndByteAddress;
///
/// Start address of FP_PGC (First Play program chain)
///
public uint FirstPlayProgramChainStartAddress;
///
/// Start sector of Menu VOB
///
public uint MenuVOBStartSector;
///
/// Start sector of Title VOB
///
public uint TitleVOBStartSector;
///
/// Sector pointer to VTS_PTT_SRPT (table of Titles and Chapters)
///
public uint TableOfTitlesAndChaptersSectorPointer;
///
/// Sector pointer to VTS_PGCI (Title Program Chain table)
///
public uint TitleProgramChainTableSectorPointer;
///
/// Sector pointer to VTSM_PGCI_UT (Menu Program Chain table)
///
public uint MenuProgramChainTableSectorPointer;
///
/// Sector pointer to VTS_TMAPTI (time map)
///
public uint TimeMapSectorPointer;
///
/// Sector pointer to VTSM_C_ADT (menu cell address table)
///
public uint MenuCellAddressTableSectorPointer;
///
/// Sector pointer to VTSM_VOBU_ADMAP (menu VOBU address map)
///
public uint MenuVOBUAddressMapSectorPointer;
///
/// Sector pointer to VTS_C_ADT (title set cell address table)
///
public uint TitleSetCellAddressTableSectorPointer;
///
/// Sector pointer to VTS_VOBU_ADMAP (title set VOBU address map)
///
public uint TitleSetVOBUAddressMapSectorPointer;
///
/// Video attributes of VTSM_VOBS
///
public byte[] VideoAttributes;
///
/// Number of audio streams in VTSM_VOBS
///
public ushort NumberOfAudioStreams;
///
/// Audio attributes of VTSM_VOBS
///
public byte[][] AudioAttributes;
///
/// Unknown
///
public byte[] Unknown;
///
/// Number of subpicture streams in VTSM_VOBS (0 or 1)
///
public ushort NumberOfSubpictureStreams;
///
/// Subpicture attributes of VTSM_VOBS
///
public byte[] SubpictureAttributes;
///
/// Reserved
///
public byte[] Reserved;
}
}