namespace SabreTools.Models.DVD { /// public sealed class VideoManagerIFO { /// /// "DVDVIDEO-VMG" /// public string? Signature { get; set; } /// /// Last sector of VMG set (last sector of BUP) /// public uint LastVMGSetSector { get; set; } /// /// Last sector of IFO /// public uint LastIFOSector { get; set; } /// /// 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 { get; set; } /// /// VMG category /// /// byte1=prohibited region mask public uint VMGCategory { get; set; } /// /// Number of volumes /// public ushort NumberOfVolumes { get; set; } /// /// Volume number /// public ushort VolumeNumber { get; set; } /// /// Side ID /// public byte SideID { get; set; } /// /// Number of title sets /// public ushort NumberOfTitleSets { get; set; } /// /// Provider ID /// public byte[]? ProviderID { get; set; } /// /// VMG POS /// public ulong VMGPOS { get; set; } /// /// End byte address of VMGI_MAT /// public uint InformationManagementTableEndByteAddress { get; set; } /// /// Start address of FP_PGC (First Play program chain) /// public uint FirstPlayProgramChainStartAddress { get; set; } /// /// Start sector of Menu VOB /// public uint MenuVOBStartSector { get; set; } /// /// Sector pointer to TT_SRPT (table of titles) /// public uint TableOfTitlesSectorPointer { get; set; } /// /// Sector pointer to VMGM_PGCI_UT (Menu Program Chain table) /// public uint MenuProgramChainTableSectorPointer { get; set; } /// /// Sector pointer to VMG_PTL_MAIT (Parental Management masks) /// public uint ParentalManagementMasksSectorPointer { get; set; } /// /// Sector pointer to VMG_VTS_ATRT (copies of VTS audio/sub-picture attributes) /// public uint AudioSubPictureAttributesSectorPointer { get; set; } /// /// Sector pointer to VMG_TXTDT_MG (text data) /// public uint TextDataSectorPointer { get; set; } /// /// Sector pointer to VMGM_C_ADT (menu cell address table) /// public uint MenuCellAddressTableSectorPointer { get; set; } /// /// Sector pointer to VMGM_VOBU_ADMAP (menu VOBU address map) /// public uint MenuVOBUAddressMapSectorPointer { get; set; } /// /// Video attributes of VMGM_VOBS /// public byte[]? VideoAttributes { get; set; } /// /// Number of audio streams in VMGM_VOBS /// public ushort NumberOfAudioStreams { get; set; } /// /// Audio attributes of VMGM_VOBS /// public byte[][]? AudioAttributes { get; set; } /// /// Unknown /// public byte[]? Unknown { get; set; } /// /// Number of subpicture streams in VMGM_VOBS (0 or 1) /// public ushort NumberOfSubpictureStreams { get; set; } /// /// Subpicture attributes of VMGM_VOBS /// public byte[]? SubpictureAttributes { get; set; } /// /// Reserved /// public byte[]? Reserved { get; set; } } }