// /*************************************************************************** // The Disc Image Chef // ---------------------------------------------------------------------------- // // Filename : PFI.cs // Version : 1.0 // Author(s) : Natalia Portillo // // Component : Component // // Revision : $Revision$ // Last change by : $Author$ // Date : $Date$ // // --[ Description ] ---------------------------------------------------------- // // Description // // --[ License ] -------------------------------------------------------------- // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // // ---------------------------------------------------------------------------- // Copyright (C) 2011-2015 Claunia.com // ****************************************************************************/ // //$Id$ using System; namespace DiscImageChef.Decoders.DVD { /// /// Information from the following standards: /// ANSI X3.304-1997 /// T10/1048-D revision 9.0 /// T10/1048-D revision 10a /// T10/1228-D revision 7.0c /// T10/1228-D revision 11a /// T10/1363-D revision 10g /// T10/1545-D revision 1d /// T10/1545-D revision 5 /// T10/1545-D revision 5a /// T10/1675-D revision 2c /// T10/1675-D revision 4 /// T10/1836-D revision 2g /// ECMA 267: 120 mm DVD - Read-Only Disk /// ECMA 268: 80 mm DVD - Read-Only Disk /// ECMA 272: 120 mm DVD Rewritable Disk (DVD-RAM) /// ECMA 274: Data Interchange on 120 mm Optical Disk using +RW Format - Capacity: 3,0 Gbytes and 6,0 Gbytes /// ECMA 279: 80 mm (1,23 Gbytes per side) and 120 mm (3,95 Gbytes per side) DVD-Recordable Disk (DVD-R) /// ECMA 330: 120 mm (4,7 Gbytes per side) and 80 mm (1,46 Gbytes per side) DVD Rewritable Disk (DVD-RAM) /// ECMA 337: Data Interchange on 120 mm and 80 mm Optical Disk using +RW Format - Capacity: 4,7 and 1,46 Gbytes per Side /// ECMA 338: 80 mm (1,46 Gbytes per side) and 120 mm (4,70 Gbytes per side) DVD Re-recordable Disk (DVD-RW) /// ECMA 349: Data Interchange on 120 mm and 80 mm Optical Disk using +R Format - Capacity: 4,7 and 1,46 Gbytes per Side /// ECMA 359: 80 mm (1,46 Gbytes per side) and 120 mm (4,70 Gbytes per side) DVD Recordable Disk (DVD-R) /// ECMA 364: Data Interchange on 120 mm and 80 mm Optical Disk using +R DL Format - Capacity 8,55 and 2,66 Gbytes per Side /// ECMA 365: Data Interchange on 60 mm Read-Only ODC - Capacity: 1,8 Gbytes (UMD™) /// ECMA 371: Data Interchange on 120 mm and 80 mm Optical Disk using +RW HS Format - Capacity 4,7 and 1,46 Gbytes per side /// ECMA 374: Data Interchange on 120 mm and 80 mm Optical Disk using +RW DL Format - Capacity 8,55 and 2,66 Gbytes per side /// ECMA 382: 120 mm (8,54 Gbytes per side) and 80 mm (2,66 Gbytes per side) DVD Recordable Disk for Dual Layer (DVD-R for DL) /// ECMA 384: 120 mm (8,54 Gbytes per side) and 80 mm (2,66 Gbytes per side) DVD Re-recordable Disk for Dual Layer (DVD-RW for DL) /// public static class PFI { public struct PhysicalFormatInformation { /// /// Bytes 0 to 1 /// Data length /// public UInt16 DataLength; /// /// Byte 2 /// Reserved /// public byte Reserved1; /// /// Byte 3 /// Reserved /// public byte Reserved2; #region PFI common to all /// /// Byte 4, bits 7 to 4 /// Disk category field /// public DVDCategory DiskCategory; /// /// Byte 4, bits 3 to 0 /// Media version /// public byte PartVersion; /// /// Byte 5, bits 7 to 4 /// 120mm if 0, 80mm if 1. If UMD (60mm) 0 also. Reserved rest of values /// public DVDSize DiscSize; /// /// Byte 5, bits 3 to 0 /// Maximum data rate /// public DVDMaxTransfer MaximumRate; /// /// Byte 6, bit 7 /// Reserved /// public bool Reserved3; /// /// Byte 6, bits 6 to 5 /// Number of layers /// public byte Layers; /// /// Byte 6, bit 4 /// Track path /// public bool TrackPath; /// /// Byte 6, bits 3 to 0 /// Layer type /// public DVDLayerTypes LayerType; /// /// Byte 7, bits 7 to 4 /// Linear density field /// public DVDLinearDensity LinearDensity; /// /// Byte 7, bits 3 to 0 /// Track density field /// public DVDTrackDensity TrackDensity; /// /// Bytes 8 to 11 /// PSN where Data Area starts /// public UInt32 DataAreaStartPSN; /// /// Bytes 12 to 15 /// PSN where Data Area ends /// public UInt32 DataAreaEndPSN; /// /// Bytes 16 to 19 /// PSN where Data Area ends in Layer 0 /// public UInt32 Layer0EndPSN; /// /// Byte 20, bit 7 /// True if BCA exists. GC/Wii discs do not have this bit set, but there is a BCA, making it unreadable in normal DVD drives /// public bool BCA; /// /// Byte 20, bits 6 to 0 /// Reserved /// public byte Reserved4; #endregion PFI common to all #region UMD PFI /// /// Bytes 21 to 22 /// UMD only, media attribute, application-defined, part of media specific in rest of discs /// public UInt16 MediaAttribute; #endregion UMD PFI #region DVD-RAM PFI /// /// Byte 36 /// Disc type, respecting case recordability /// public DVDRAMDiscType DiscType; #region DVD-RAM PFI #region DVD-RAM PFI, Version 0001b /// /// Byte 52 /// Byte 504 in Version 0110b /// Linear velocity, in tenths of m/s /// public byte Velocity; /// /// Byte 53 /// Byte 505 in Version 0110b /// Read power on disk surface, tenths of mW /// public byte ReadPower; /// /// Byte 54 /// Byte 507 in Version 0110b /// Peak power on disk surface for recording land tracks /// public byte PeakPower; /// /// Byte 55 /// Bias power on disk surface for recording land tracks /// public byte BiasPower; /// /// Byte 56 /// First pulse starting time for recording on land tracks, ns /// public byte FirstPulseStart; /// /// Byte 57 /// Byte 515 in Version 0110b /// First pulse ending time for recording on land tracks /// public byte FirstPulseEnd; /// /// Byte 58 /// Byte 518 in Version 0110b /// Multiple-pulse duration time for recording on land tracks /// public byte MultiplePulseDuration; /// /// Byte 59 /// Byte 519 in Version 0110b /// Last pulse starting time for recording on land tracks /// public byte LastPulseStart; /// /// Byte 60 /// Las pulse ending time for recording on land tracks /// public byte LastPulseEnd; /// /// Byte 61 /// Bias power duration for recording on land tracks /// public byte BiasPowerDuration; /// /// Byte 62 /// Byte 511 on Version 0110b /// Peak power for recording on groove tracks /// public byte PeakPowerGroove; /// /// Byte 63 /// Bias power for recording on groove tracks /// public byte BiasPowerGroove; /// /// Byte 64 /// First pulse starting time on groove tracks /// public byte FirstPulseStartGroove; /// /// Byte 65 /// First pulse ending time on groove tracks /// public byte FirstPulseEndGroove; /// /// Byte 66 /// Multiple-pulse duration time on groove tracks /// public byte MultiplePulseDurationGroove; /// /// Byte 67 /// Last pulse starting time on groove tracks /// public byte LastPulseStartGroove; /// /// Byte 68 /// Last pulse ending time on groove tracks /// public byte LastPulseEndGroove; /// /// Byte 69 /// Bias power duration for recording on groove tracks /// public byte BiasPowerDurationGroove; #endregion DVD-RAM PFI, Version 0001b #region DVD-R PFI, DVD-RW PFI /// /// Bytes 36 to 39 /// Sector number of the first sector of the current Border Out /// public UInt32 CurrentBorderOutSector; /// /// Bytes 40 to 43 /// Sector number of the first sector of the next Border In /// public UInt32 NextBorderInSector; #endregion DVD-R PFI, DVD-RW PFI #region DVD+RW PFI /// /// Byte 36 /// Linear velocities /// 0 = CLV from 4,90 m/s to 6,25 m/s /// 1 = CAV from 3,02 m/s to 7,35 m/s /// public UInt32 RecordingVelocity; /// /// Byte 37 /// Maximum read power in milliwatts at maximum velocity /// mW = 20 * (value - 1) /// public UInt32 ReadPowerMaxVelocity; /// /// Byte 38 /// Indicative value of Ptarget in mW at maximum velocity /// public UInt32 PIndMaxVelocity; /// /// Byte 39 /// Peak power multiplication factor at maximum velocity /// public UInt32 PMaxVelocity; /// /// Byte 40 /// Bias1/write power ration at maximum velocity /// public UInt32 E1MaxVelocity; /// /// Byte 41 /// Bias2/write power ration at maximum velocity /// public UInt32 E2MaxVelocity; /// /// Byte 42 /// Target value for γ, γtarget at the maximum velocity /// public UInt32 YTargetMaxVelocity; /// /// Byte 43 /// Maximum read power in milliwatts at reference velocity (4,90 m/s) /// mW = 20 * (value - 1) /// public UInt32 ReadPowerRefVelocity; /// /// Byte 44 /// Indicative value of Ptarget in mW at reference velocity (4,90 m/s) /// public UInt32 PIndRefVelocity; /// /// Byte 45 /// Peak power multiplication factor at reference velocity (4,90 m/s) /// public UInt32 PRefVelocity; /// /// Byte 46 /// Bias1/write power ration at reference velocity (4,90 m/s) /// public UInt32 E1RefVelocity; /// /// Byte 47 /// Bias2/write power ration at reference velocity (4,90 m/s) /// public UInt32 E2RefVelocity; /// /// Byte 48 /// Target value for γ, γtarget at the reference velocity (4,90 m/s) /// public UInt32 YTargetRefVelocity; /// /// Byte 49 /// Maximum read power in milliwatts at minimum velocity /// mW = 20 * (value - 1) /// public UInt32 ReadPowerMinVelocity; /// /// Byte 50 /// Indicative value of Ptarget in mW at minimum velocity /// public UInt32 PIndMinVelocity; /// /// Byte 51 /// Peak power multiplication factor at minimum velocity /// public UInt32 PMinVelocity; /// /// Byte 52 /// Bias1/write power ration at minimum velocity /// public UInt32 E1MinVelocity; /// /// Byte 53 /// Bias2/write power ration at minimum velocity /// public UInt32 E2MinVelocity; /// /// Byte 54 /// Target value for γ, γtarget at the minimum velocity /// public UInt32 YTargetMinVelocity; #endregion DVD+RW PFI #region DVD-RAM PFI, version 0110b /// /// Byte 506, bit 7 /// Mode of adaptative write pulse control /// public bool AdaptativeWritePulseControlFlag; /// /// Byte 508 /// Bias power 1 on disk surface for recording land tracks /// public byte BiasPower1; /// /// Byte 509 /// Bias power 2 on disk surface for recording land tracks /// public byte BiasPower2; /// /// Byte 510 /// Bias power 3 on disk surface for recording land tracks /// public byte BiasPower3; /// /// Byte 512 /// Bias power 1 on disk surface for recording groove tracks /// public byte BiasPower1Groove; /// /// Byte 513 /// Bias power 2 on disk surface for recording groove tracks /// public byte BiasPower2Groove; /// /// Byte 514 /// Bias power 3 on disk surface for recording groove tracks /// public byte BiasPower3Groove; /// /// Byte 516 /// First pulse duration /// public byte FirstPulseDuration; /// /// Byte 520 /// Bias power 2 duration on land tracks at Velocity 1 /// public byte BiasPower2Duration; /// /// Byte 521 /// First pulse start time, at Mark 3T and Leading Space 3T /// public byte FirstPulseStart3TSpace3T; /// /// Byte 522 /// First pulse start time, at Mark 4T and Leading Space 3T /// public byte FirstPulseStart4TSpace3T; /// /// Byte 523 /// First pulse start time, at Mark 5T and Leading Space 3T /// public byte FirstPulseStart5TSpace3T; /// /// Byte 524 /// First pulse start time, at Mark >5T and Leading Space 3T /// public byte FirstPulseStartSpace3T; /// /// Byte 525 /// First pulse start time, at Mark 3T and Leading Space 4T /// public byte FirstPulseStart3TSpace4T; /// /// Byte 526 /// First pulse start time, at Mark 4T and Leading Space 4T /// public byte FirstPulseStart4TSpace4T; /// /// Byte 527 /// First pulse start time, at Mark 5T and Leading Space 4T /// public byte FirstPulseStart5TSpace4T; /// /// Byte 528 /// First pulse start time, at Mark >5T and Leading Space 4T /// public byte FirstPulseStartSpace4T; /// /// Byte 529 /// First pulse start time, at Mark 3T and Leading Space 5T /// public byte FirstPulseStart3TSpace5T; /// /// Byte 530 /// First pulse start time, at Mark 4T and Leading Space 5T /// public byte FirstPulseStart4TSpace5T; /// /// Byte 531 /// First pulse start time, at Mark 5T and Leading Space 5T /// public byte FirstPulseStart5TSpace5T; /// /// Byte 532 /// First pulse start time, at Mark >5T and Leading Space 5T /// public byte FirstPulseStartSpace5T; /// /// Byte 533 /// First pulse start time, at Mark 3T and Leading Space >5T /// public byte FirstPulseStart3TSpace; /// /// Byte 534 /// First pulse start time, at Mark 4T and Leading Space >5T /// public byte FirstPulseStart4TSpace; /// /// Byte 535 /// First pulse start time, at Mark 5T and Leading Space >5T /// public byte FirstPulseStart5TSpace; /// /// Byte 536 /// First pulse start time, at Mark >5T and Leading Space >5T /// public byte FirstPulseStartSpace; /// /// Byte 537 /// First pulse start time, at Mark 3T and Trailing Space 3T /// public byte FirstPulse3TStartTSpace3T; /// /// Byte 538 /// First pulse start time, at Mark 4T and Trailing Space 3T /// public byte FirstPulse4TStartTSpace3T; /// /// Byte 539 /// First pulse start time, at Mark 5T and Trailing Space 3T /// public byte FirstPulse5TStartTSpace3T; /// /// Byte 540 /// First pulse start time, at Mark >5T and Trailing Space 3T /// public byte FirstPulseStartTSpace3T; /// /// Byte 541 /// First pulse start time, at Mark 3T and Trailing Space 4T /// public byte FirstPulse3TStartTSpace4T; /// /// Byte 542 /// First pulse start time, at Mark 4T and Trailing Space 4T /// public byte FirstPulse4TStartTSpace4T; /// /// Byte 543 /// First pulse start time, at Mark 5T and Trailing Space 4T /// public byte FirstPulse5TStartTSpace4T; /// /// Byte 544 /// First pulse start time, at Mark >5T and Trailing Space 4T /// public byte FirstPulseStartTSpace4T; /// /// Byte 545 /// First pulse start time, at Mark 3T and Trailing Space 5T /// public byte FirstPulse3TStartTSpace5T; /// /// Byte 546 /// First pulse start time, at Mark 4T and Trailing Space 5T /// public byte FirstPulse4TStartTSpace5T; /// /// Byte 547 /// First pulse start time, at Mark 5T and Trailing Space 5T /// public byte FirstPulse5TStartTSpace5T; /// /// Byte 548 /// First pulse start time, at Mark >5T and Trailing Space 5T /// public byte FirstPulseStartTSpace5T; /// /// Byte 549 /// First pulse start time, at Mark 3T and Trailing Space >5T /// public byte FirstPulse3TStartTSpace; /// /// Byte 550 /// First pulse start time, at Mark 4T and Trailing Space >5T /// public byte FirstPulse4TStartTSpace; /// /// Byte 551 /// First pulse start time, at Mark 5T and Trailing Space >5T /// public byte FirstPulse5TStartTSpace; /// /// Byte 552 /// First pulse start time, at Mark >5T and Trailing Space >5T /// public byte FirstPulseStartTSpace; /// /// Bytes 553 to 600 /// Disk manufacturer's name, space-padded /// public string DiskManufacturer; /// /// Bytes 601 to 616 /// Disk manufacturer's supplementary information /// public string DiskManufacturerSupplementary; /// /// Bytes 617 to 627 /// Write power control parameters /// public byte[] WritePowerControlParams; /// /// Byte 619 /// Ratio of peak power for land tracks to threshold peak power for land tracks /// public byte PowerRatioLandThreshold; /// /// Byte 620 /// Target asymmetry /// public byte TargetAsymmetry; /// /// Byte 621 /// Temporary peak power /// public byte TemporaryPeakPower; /// /// Byte 622 /// Temporary bias power 1 /// public byte TemporaryBiasPower1; /// /// Byte 623 /// Temporary bias power 2 /// public byte TemporaryBiasPower2; /// /// Byte 624 /// Temporary bias power 3 /// public byte TemporaryBiasPower3; /// /// Byte 625 /// Ratio of peak power for groove tracks to threshold peak power for groove tracks /// public byte PowerRatioGrooveThreshold; /// /// Byte 626 /// Ratio of peak power for land tracks to threshold 6T peak power for land tracks /// public byte PowerRatioLandThreshold6T; /// /// Byte 627 /// Ratio of peak power for groove tracks to threshold 6T peak power for groove tracks /// public byte PowerRatioGrooveThreshold6T; #endregion DVD-RAM PFI, version 0110b #region DVD+RW PFI and DVD+R PFI /// /// Byte 20, bit 6 /// If set indicates data zone contains extended information for VCPS /// public bool VCPS; /// /// Byte 21 /// Indicates restricted usage disk /// public byte ApplicationCode; /// /// Byte 22 /// Bitmap of extended information block presence /// public byte ExtendedInformation; /// /// Bytes 23 to 30 /// Disk manufacturer ID, null-padded /// public string DiskManufacturerID; /// /// Bytes 31 to 33 /// Media type ID, null-padded /// public string MediaTypeID; /// /// Byte 34 /// Product revision number /// public byte ProductRevision; /// /// Byte 35 /// Indicates how many bytes, up to 63, are used in ADIP's PFI /// public byte PFIUsedInADIP; #region DVD+RW PFI and DVD+R PFI #region DVD+RW PFI, version 0010b /// /// Byte 55 /// Ttop first pulse duration /// public byte FirstPulseDuration; /// /// Byte 56 /// Tmp multi pulse duration /// public byte MultiPulseDuration; /// /// Byte 57 /// dTtop first pulse lead time /// public byte FirstPulseLeadTime; /// /// Byte 58 /// dTera erase lead time at reference velocity /// public byte EraseLeadTimeRefVelocity; /// /// Byte 59 /// dTera erase lead time at upper velocity /// public byte EraseLeadTimeUppVelocity; #endregion DVD+RW PFI, version 0010b #region DVD+R PFI version 0001b and DVD+R DL PFI version 0001b /// /// Byte 36 /// Primary recording velocity for the basic write strategy /// public byte PrimaryVelocity; /// /// Byte 37 /// Upper recording velocity for the basic write strategy /// public byte UpperVelocity; /// /// Byte 38 /// Wavelength λIND /// public byte Wavelength; /// /// Byte 39 /// Normalized write power dependency on wavelength (dP/dλ)/(PIND/λIND) /// public byte NormalizedPowerDependency; /// /// Byte 40 /// Maximum read power at primary velocity /// public byte MaximumPowerAtPrimaryVelocity; /// /// Byte 41 /// Pind at primary velocity /// public byte PindAtPrimaryVelocity; /// /// Byte 42 /// βtarget at primary velocity /// public byte BtargetAtPrimaryVelocity; /// /// Byte 43 /// Maximum read power at upper velocity /// public byte MaximumPowerAtUpperVelocity; /// /// Byte 44 /// Pind at primary velocity /// public byte PindAtUpperVelocity; /// /// Byte 45 /// βtarget at upper velocity /// public byte BtargetAtUpperVelocity; /// /// Byte 46 /// Ttop (≥4T) first pulse duration for cm∗ ≥4T at Primary velocity /// public byte FirstPulseDuration4TPrimaryVelocity; /// /// Byte 47 /// Ttop (=3T) first pulse duration for cm∗ =3T at Primary velocity /// public byte FirstPulseDuration3TPrimaryVelocity; /// /// Byte 48 /// Tmp multi pulse duration at Primary velocity /// public byte MultiPulseDurationPrimaryVelocity; /// /// Byte 49 /// Tlp last pulse duration at Primary velocity /// public byte LastPulseDurationPrimaryVelocity; /// /// Byte 50 /// dTtop (≥4T) first pulse lead time for cm∗ ≥4T at Primary velocity /// public byte FirstPulseLeadTime4TPrimaryVelocity; /// /// Byte 51 /// dTtop (=3T) first pulse lead time for cm∗ =3T at Primary velocity /// public byte FirstPulseLeadTime3TPrimaryVelocity; /// /// Byte 52 /// dTle first pulse leading edge shift for ps∗ =3T at Primary velocity /// public byte FirstPulseLeadingEdgePrimaryVelocity; /// /// Byte 53 /// Ttop (≥4T) first pulse duration for cm∗ ≥4T at Upper velocity /// public byte FirstPulseDuration4TUpperVelocity; /// /// Byte 54 /// Ttop (=3T) first pulse duration for cm∗ =3T at Upper velocity /// public byte FirstPulseDuration3TUpperVelocity; /// /// Byte 55 /// Tmp multi pulse duration at Upper velocity /// public byte MultiPulseDurationUpperVelocity; /// /// Byte 56 /// Tlp last pulse duration at Upper velocity /// public byte LastPulseDurationUpperVelocity; /// /// Byte 57 /// dTtop (≥4T) first pulse lead time for cm∗ ≥4T at Upper velocity /// public byte FirstPulseLeadTime4TUpperVelocity; /// /// Byte 58 /// dTtop (=3T) first pulse lead time for cm∗ =3T at Upper velocity /// public byte FirstPulseLeadTime3TUpperVelocity; /// /// Byte 59 /// dTle first pulse leading edge shift for ps∗ =3T at Upper velocity /// public byte FirstPulseLeadingEdgeUpperVelocity; #endregion DVD+R PFI version 0001b and DVD+R DL PFI version 0001b #region DVD+R DL PFI version 0001b /// /// Byte 34, bits 7 to 6 /// public DVDLayerStructure LayerStructure; #endregion DVD+R DL PFI version 0001b #region DVD+RW DL PFI /// /// Byte 36 /// Primary recording velocity for the basic write strategy /// public byte PrimaryVelocity; /// /// Byte 37 /// Maximum read power at Primary velocity /// public byte MaxReadPowerPrimaryVelocity; /// /// Byte 38 /// PIND at Primary velocity /// public byte PindPrimaryVelocity; /// /// Byte 39 /// ρ at Primary velocity /// public byte PPrimaryVelocity; /// /// Byte 40 /// ε1 at Primary velocity /// public byte E1PrimaryVelocity; /// /// Byte 41 /// ε2 at Primary velocity /// public byte E2PrimaryVelocity; /// /// Byte 42 /// γtarget at Primary velocity /// public byte YtargetPrimaryVelocity; /// /// Byte 43 /// β optimum at Primary velocity /// public byte BOptimumPrimaryVelocity; /// /// Byte 46 /// Ttop first pulse duration /// public byte TFirstPulseDuration; /// /// Byte 47 /// Tmp multi pulse duration /// public byte TMultiPulseDuration; /// /// Byte 48 /// dTtop first pulse lead/lag time for any runlength ≥ 4T /// public byte FirstPulseLeadTimeAnyRun; /// /// Byte 49 /// dTtop,3 first pulse lead/lag time for runlengths = 3T /// public byte FirstPulseLeadTimeRun3T; /// /// Byte 50 /// dTlp last pulse lead/lag time for any runlength ≥ 5T /// public byte LastPulseLeadTimeAnyRun; /// /// Byte 51 /// dTlp,3 last pulse lead/lag time for runlengths = 3T /// public byte LastPulseLeadTime3T; /// /// Byte 52 /// dTlp,4 last pulse lead/lag time for runlengths = 4T /// public byte LastPulseLeadTime4T; /// /// Byte 53 /// dTera erase lead/lag time when preceding mark length ≥ 5T /// public byte ErasePulseLeadTimeAny; /// /// Byte 54 /// dTera,3 erase lead/lag time when preceding mark length = 3T /// public byte ErasePulseLeadTime3T; /// /// Byte 55 /// dTera,4 erase lead/lag time when preceding mark length = 4T /// public byte ErasePulseLeadTime4T; #endregion DVD+RW DL PFI #region DVD-R DL PFI and DVD-RW DL PFI /// /// Byte 21 /// Maximum recording speed /// public DVDRecordingSpeed MaxRecordingSpeed; /// /// Byte 22 /// Minimum recording speed /// public DVDRecordingSpeed MinRecordingSpeed; /// /// Byte 23 /// Another recording speed /// public DVDRecordingSpeed RecordingSpeed1; /// /// Byte 24 /// Another recording speed /// public DVDRecordingSpeed RecordingSpeed2; /// /// Byte 25 /// Another recording speed /// public DVDRecordingSpeed RecordingSpeed3; /// /// Byte 26 /// Another recording speed /// public DVDRecordingSpeed RecordingSpeed4; /// /// Byte 27 /// Another recording speed /// public DVDRecordingSpeed RecordingSpeed5; /// /// Byte 28 /// Another recording speed /// public DVDRecordingSpeed RecordingSpeed6; /// /// Byte 29 /// Another recording speed /// public DVDRecordingSpeed RecordingSpeed7; /// /// Byte 30 /// Class /// public byte Class; /// /// Byte 31 /// Extended version. 0x30 = ECMA-382, 0x20 = ECMA-384 /// public byte ExtendedVersion; /// /// Byte 36 /// Start sector number of current RMD in Extra Border Zone /// public UInt32 CurrentRMDExtraBorderPSN; /// /// Byte 40 /// Start sector number of Physical Format Information blocks in Extra Border Zone /// public UInt32 PFIExtraBorderPSN; /// /// Byte 44, bit 0 /// If NOT set, Control Data Zone is pre-recorded /// public bool PreRecordedControlDataInv; /// /// Byte 44 bit 1 /// Lead-in Zone is pre-recorded /// public bool PreRecordedLeadIn; /// /// Byte 44 bit 3 /// Lead-out Zone is pre-recorded /// public bool PreRecordedLeadOut; /// /// Byte 45 bits 0 to 3 /// AR characteristic of LPP on Layer 1 /// public byte ARCharLayer1; /// /// Byte 45 bits 4 to 7 /// Tracking polarity on Layer 1 /// public byte TrackPolarityLayer1; #endregion DVD-R DL PFI and DVD-RW DL PFI } } public enum DVDCategory { /// /// DVD-ROM. Version 1 is ECMA-267 and ECMA-268. /// DVDROM = 0, /// /// DVD-RAM. Version 1 is ECMA-272. Version 6 is ECMA-330. /// DVDRAM = 1, /// /// DVD-R. Version 1 is ECMA-279. Version 5 is ECMA-359. Version 6 is ECMA-832. /// DVDR = 2, /// /// DVD-RW. Version 2 is ECMA-338. Version 3 is ECMA-384. /// DVDRW = 3, /// /// UMD. Version 0 is ECMA-365. /// UMD = 8, /// /// DVD+RW. Version 1 is ECMA-274. Version 2 is ECMA-337. Version 3 is ECMA-371. /// DVDPRW = 9, /// /// DVD+R. Version 1 is ECMA-349. /// DVDPR = 10, /// /// DVD+RW DL. Version 1 is ECMA-374. /// DVDPRWDL = 13, /// /// DVD+R DL. Version 1 is ECMA-364. /// DVDPRDL = 14 } public enum DVDSize { /// /// 120 mm /// OneTwenty = 0, /// /// 80 mm /// Eighty = 1 } public enum DVDMaxTransfer { /// /// 2,52 Mbit/s /// Two = 0, /// /// 5,04 Mbit/s /// Five = 1, /// /// 10,08 Mbit/s /// Ten = 2, /// /// No maximum transfer rate /// Unspecified = 15 } public enum DVDLayerTypes { ReadOnly = 1, Recordable = 2, Rewritable = 4 } public enum DVDLinearDensity { /// /// 0,133 μm /// One33 = 0, /// /// 0,147 μm /// One47 = 1, /// /// 0,205 μm to 0,218 μm /// Twenty5 = 2, /// /// 0,140 μm to 0,148 μm /// One40 = 4, /// /// 0,176 μm /// One76 = 8 } public enum DVDTrackDensity { /// /// 0,74 μm /// Seven4 = 0, /// /// 0,80 μm /// Eighty = 1, /// /// 0,615 μm /// Six15 = 2, } public enum DVDRAMDiscType { /// /// Shall not be recorded without a case /// Cased = 0, /// /// May be recorded without a case or within one /// Uncased = 1 } public enum DVDLayerStructure { Unspecified = 0, InvertedStack = 1, TwoP = 2, Reserved = 3 } public enum DVDRecordingSpeed { None = 0 Two = 0, Four = 0x10, Six = 0x20, Eight = 0x30, Ten = 0x40, Twelve = 0x50 } }