public void Read(BoxReader reader) { uint num = reader.ReadByte(); this.SampleDependsOn = (uint) ((num & 12) >> 2); this.SampleIsDependedOn = (uint) ((num & 0x30) >> 4); this.SampleHasRedundancy = (uint) ((num & 0xc0) >> 6); }
public void Read(BoxReader reader) { uint num = reader.ReadByte(); this.SampleDependsOn = (uint)((num & 12) >> 2); this.SampleIsDependedOn = (uint)((num & 0x30) >> 4); this.SampleHasRedundancy = (uint)((num & 0xc0) >> 6); }
public void Read(BoxReader reader, byte version, uint LengthSizeOfTrafNum, uint LengthSizeOfTrunNum, uint LengthSizeOfSampleNum) { if (version == 1) { ulong tmpTime = reader.ReadUInt64(); // if (tmpTime < LastTime) BaseTime = LastTime; this.Time = BaseTime + tmpTime; this.MoofOffset = reader.ReadUInt64(); LastTime = Time; } else { this.Time = reader.ReadUInt32(); this.MoofOffset = reader.ReadUInt32(); } switch (((LengthSizeOfTrafNum + 1) * 8)) { case 0x18: this.TrafNumber = reader.ReadUInt24(); break; case 0x20: this.TrafNumber = reader.ReadUInt32(); break; case 8: this.TrafNumber = reader.ReadByte(); break; case 0x10: this.TrafNumber = reader.ReadUInt16(); break; } switch (((LengthSizeOfTrunNum + 1) * 8)) { case 0x18: this.TrunNumber = reader.ReadUInt24(); break; case 0x20: this.TrunNumber = reader.ReadUInt32(); break; case 8: this.TrunNumber = reader.ReadByte(); break; case 0x10: this.TrunNumber = reader.ReadUInt16(); break; } switch (((LengthSizeOfSampleNum + 1) * 8)) { case 8: this.SampleNumber = reader.ReadByte(); return; case 0x10: this.SampleNumber = reader.ReadUInt16(); break; case 0x18: this.SampleNumber = reader.ReadUInt24(); return; case 0x20: this.SampleNumber = reader.ReadUInt32(); return; } }
public override void Read(BoxReader reader) { base.Read(reader); this.version = reader.ReadByte(); this.flags = (uint) (((reader.ReadByte() << 0x10) | (reader.ReadByte() << 8)) | reader.ReadByte()); }
public override void Read(BoxReader reader) { base.Read(reader); this.version = reader.ReadByte(); this.flags = (uint)(((reader.ReadByte() << 0x10) | (reader.ReadByte() << 8)) | reader.ReadByte()); }
public void Read(BoxReader reader, byte version, uint LengthSizeOfTrafNum, uint LengthSizeOfTrunNum, uint LengthSizeOfSampleNum) { if (version == 1) { ulong tmpTime = reader.ReadUInt64(); // if (tmpTime < LastTime) BaseTime = LastTime; this.Time = BaseTime + tmpTime; this.MoofOffset = reader.ReadUInt64(); LastTime = Time; } else { this.Time = reader.ReadUInt32(); this.MoofOffset = reader.ReadUInt32(); } switch (((LengthSizeOfTrafNum + 1) * 8)) { case 0x18: this.TrafNumber = reader.ReadUInt24(); break; case 0x20: this.TrafNumber = reader.ReadUInt32(); break; case 8: this.TrafNumber = reader.ReadByte(); break; case 0x10: this.TrafNumber = reader.ReadUInt16(); break; } switch (((LengthSizeOfTrunNum + 1) * 8)) { case 0x18: this.TrunNumber = reader.ReadUInt24(); break; case 0x20: this.TrunNumber = reader.ReadUInt32(); break; case 8: this.TrunNumber = reader.ReadByte(); break; case 0x10: this.TrunNumber = reader.ReadUInt16(); break; } switch (((LengthSizeOfSampleNum + 1) * 8)) { case 8: this.SampleNumber = reader.ReadByte(); return; case 0x10: this.SampleNumber = reader.ReadUInt16(); break; case 0x18: this.SampleNumber = reader.ReadUInt24(); return; case 0x20: this.SampleNumber = reader.ReadUInt32(); return; } }
public override void Read(BoxReader reader) { using (new SizeChecker(this, reader)) { base.Read(reader); predefined1 = reader.ReadByte(); // must be 01, configurationVersion profileIDC = reader.ReadByte(); // AVCProfileIndication constraintFlags = reader.ReadByte(); // profile_compatibility levelIDC = reader.ReadByte(); // AVCLevelIndication nalUnitLengthSizeByte = reader.ReadByte(); // first 6 bits are reserved and set to 1 nalUnitLengthSize = (byte)((nalUnitLengthSizeByte & 0x3) + 1); // lengthSizeMinusOne seqParamCountByte = reader.ReadByte(); // first 3 bits are reserved and set to 1 seqParamCount = (byte)(seqParamCountByte & 0x1F); // numOfSequenceParameterSets SPS = new SequenceParameterSet[seqParamCount]; for (int i = 0; i < seqParamCount; i++) { seqParamLength = reader.ReadUInt16(); seqParamSetData = new byte[seqParamLength]; reader.Read(seqParamSetData, 0, seqParamSetData.Length); SPS[i] = ParseSPS(seqParamSetData); } picParamCount = reader.ReadByte(); PPS = new PictureParameterSet[picParamCount]; for (int i = 0; i < picParamCount; i++) { picParamLength = reader.ReadUInt16(); picParamSetData = new byte[picParamLength]; reader.Read(picParamSetData, 0, picParamSetData.Length); PPS[i] = ParsePPS(picParamSetData); } } }