2023-09-04 00:12:49 -04:00
|
|
|
namespace SabreTools.Models.DVD
|
2023-09-04 00:11:04 -04:00
|
|
|
{
|
|
|
|
|
/// <see href="https://dvd.sourceforge.net/dvdinfo/ifo_vmg.html"/>
|
|
|
|
|
public sealed class LanguageUnitTable
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Number of Language Units
|
|
|
|
|
/// </summary>
|
2023-09-10 21:24:10 -04:00
|
|
|
public ushort NumberOfLanguageUnits { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Reserved
|
|
|
|
|
/// </summary>
|
2023-09-04 21:14:41 -04:00
|
|
|
#if NET48
|
2023-09-10 21:24:10 -04:00
|
|
|
public byte[] Reserved { get; set; }
|
2023-09-04 21:14:41 -04:00
|
|
|
#else
|
2023-09-10 21:24:10 -04:00
|
|
|
public byte[]? Reserved { get; set; }
|
2023-09-04 21:14:41 -04:00
|
|
|
#endif
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// End address (last byte of last PGC in last LU)
|
|
|
|
|
/// relative to VMGM_PGCI_UT
|
|
|
|
|
/// </summary>
|
2023-09-10 21:24:10 -04:00
|
|
|
public uint EndAddress { get; set; }
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Language Units
|
|
|
|
|
/// </summary>
|
2023-09-04 21:14:41 -04:00
|
|
|
#if NET48
|
2023-09-10 21:24:10 -04:00
|
|
|
public LanguageUnitTableEntry[] Entries { get; set; }
|
2023-09-04 21:14:41 -04:00
|
|
|
#else
|
2023-09-10 21:24:10 -04:00
|
|
|
public LanguageUnitTableEntry?[]? Entries { get; set; }
|
2023-09-04 21:14:41 -04:00
|
|
|
#endif
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Program Chains
|
|
|
|
|
/// </summary>
|
2023-09-04 21:14:41 -04:00
|
|
|
#if NET48
|
2023-09-10 21:24:10 -04:00
|
|
|
public ProgramChainTable[] ProgramChains { get; set; }
|
2023-09-04 21:14:41 -04:00
|
|
|
#else
|
2023-09-10 21:24:10 -04:00
|
|
|
public ProgramChainTable?[]? ProgramChains { get; set; }
|
2023-09-04 21:14:41 -04:00
|
|
|
#endif
|
2023-09-04 00:11:04 -04:00
|
|
|
}
|
|
|
|
|
}
|