public NalUnitStreamParser(INalUnitParser nalUnitParser, IH264State state) { _nalUnitParser = nalUnitParser; _state = state; _nalUnitStartByteLongLengthPrefix = new bool[256]; _nalUnitStartByteShortLengthPrefix = new bool[256]; for (int nalRefIdc = 0; nalRefIdc <= 3; nalRefIdc++) { int nonIdrPictureSliceIndex = (nalRefIdc << 5) | (int)NalUnitType.CodedSliceOfANonIdrPicture; _nalUnitStartByteLongLengthPrefix[nonIdrPictureSliceIndex] = true; } for (int nalRefIdc = 1; nalRefIdc <= 3; nalRefIdc++) { int nalRefIdcBits = (nalRefIdc << 5); _nalUnitStartByteLongLengthPrefix[nalRefIdcBits | (int)NalUnitType.CodedSliceOfAnIdrPicture] = true; _nalUnitStartByteShortLengthPrefix[nalRefIdcBits | (int)NalUnitType.SequenceParameterSet] = true; _nalUnitStartByteShortLengthPrefix[nalRefIdcBits | (int)NalUnitType.PictureParameterSet] = true; } Configurable <H264Detector.ConfigurationKey> configurable = H264Detector.Configurable; _minSliceNalUnitLength = (uint)configurable[H264Detector.ConfigurationKey.MinSliceNalUnitLength]; _maxSliceNalUnitLength = (uint)configurable[H264Detector.ConfigurationKey.MaxSliceNalUnitLength]; }
public NalUnitReader(IH264Reader reader, BitStreamDataReader dataReader, IH264State state) { _reader = reader; _dataReader = dataReader; _state = state; _maxTrailingZeroByteLength = (uint)H264Detector.Configurable[H264Detector.ConfigurationKey.MaxTrailingZeroByteLength]; _maxReferenceHeaderRetriesPerFragment = (uint)H264Detector.Configurable[H264Detector.ConfigurationKey.MaxReferenceHeaderRetriesPerFragment]; }
public H264ResultNodeCallback(IH264State state) { _state = state; _possibleChildHeaders = new Dictionary <string, List <string> >(); _possibleChildHeaders.Add(SequenceParameterSet.Name, new List <string> { PictureParameterSet.Name }); _possibleChildHeaders.Add(PictureParameterSet.Name, new List <string> { SupplementalEnhancementInformation.Name, IdrPictureSlice.Name, NonIdrPictureSlice.Name }); }
public H264Reader(BitStreamDataReader dataReader, IH264State state, IReaderState readerState) { _dataReader = dataReader; _state = state; _readerState = readerState; Configurable <H264Detector.ConfigurationKey> configurable = H264Detector.Configurable; uint maxGapBetweenPpsAndSlice = (uint)configurable[H264Detector.ConfigurationKey.MaxGapBetweenPpsAndSlice]; uint maxGapBetweenPpsAndSps = (uint)configurable[H264Detector.ConfigurationKey.MaxGapBetweenPpsAndSps]; uint maxGapBetweenNalUnits = (uint)configurable[H264Detector.ConfigurationKey.MaxGapBetweenNalUnits]; uint maxBytesBetweenNalUnits = Math.Max(maxGapBetweenNalUnits, Math.Max(maxGapBetweenPpsAndSps, maxGapBetweenPpsAndSlice)); _maxNalUnitDistance = maxBytesBetweenNalUnits + (uint)configurable[H264Detector.ConfigurationKey.MaxSliceNalUnitLength]; }
public H264ResultTreeBuilder(BitStreamDataReader dataReader, IH264Reader reader, IH264State state, IScanContext scanContext, NalUnitStreamParser nalUnitStreamParser, ByteStreamParser byteStreamParser) { _falseHitReduction = (bool)H264Detector.Configurable[H264Detector.ConfigurationKey.FalseHitReduction]; _dataReader = dataReader; _reader = reader; _state = state; _scanContext = scanContext; _nalUnitStreamParser = nalUnitStreamParser; _byteStreamParser = byteStreamParser; Configurable <H264Detector.ConfigurationKey> configurable = H264Detector.Configurable; _maxGapBetweenPpsAndSlice = (uint)configurable[H264Detector.ConfigurationKey.MaxGapBetweenPpsAndSlice]; _maxGapBetweenPpsAndSps = (uint)configurable[H264Detector.ConfigurationKey.MaxGapBetweenPpsAndSps]; _maxGapBetweenNalUnits = (uint)configurable[H264Detector.ConfigurationKey.MaxGapBetweenNalUnits]; }
public void CopyTo(IH264State state) { state.PictureStates[Id] = this; state.SequenceStates[SequenceState.Id] = SequenceState; }
public void SetUp() { _state = new H264State(new SequenceStates(), new PictureStates()); _resultState = MockRepository.GenerateStub <IResultNodeState>(); }