Example #1
0
 public void TestBitStreamDataReaderGetVlc()
 {
     using (BitStreamDataReader dataReader = new BitStreamDataReader(new MockDataReader(new byte[] { 0x40 }, _inputFile)))
     {
         Assert.AreEqual(3, dataReader.GetVlc(_mockTable), "BitStreamDataReader.GetVlc()");
     }
 }
Example #2
0
        private uint GetExpGolombCoded(params byte[] bitstream)
        {
            IDataReader    dataReader          = new MockDataReader(bitstream);
            var            bitStreamDataReader = new BitStreamDataReader(dataReader);
            INalUnitReader reader = new NalUnitReader(null, bitStreamDataReader, _state);

            reader.Result = _resultState;
            return(reader.GetExpGolombCoded());
        }
        public Mpeg2SystemReader(BitStreamDataReader dataReader, IMpeg2SystemState state, IReaderState readerState)
        {
            _dataReader  = dataReader;
            _state       = state;
            _readerState = readerState;

            _maxZeroByteStuffingLength    = (uint)Mpeg2SystemDetector.Configurable[Mpeg2SystemDetector.ConfigurationKey.MaxZeroByteStuffingLength];
            _stuffingBytesResultFormatter = new StuffingBytesResultFormatter();
        }
Example #4
0
 public void TestBitStreamDataReaderGetVlcIncrementsPosition()
 {
     using (BitStreamDataReader dataReader = new BitStreamDataReader(new MockDataReader(new byte[] { 0x40 }, _inputFile)))
     {
         Pair<byte,long> bitPosition = dataReader.BitPosition;
         Assert.AreEqual(3, dataReader.GetVlc(_mockTable), "BitStreamDataReader.GetVlc()");
         Assert.That(dataReader.BitPosition, Is.Not.EqualTo(bitPosition));
     }
 }
Example #5
0
        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];
        }
Example #6
0
        public Mpeg2VideoReader(BitStreamDataReader dataReader, IMpeg2VideoState state, IReaderState readerState)
        {
            _dataReader  = dataReader;
            _state       = state;
            _readerState = readerState;

            _maxZeroByteStuffingLength = (uint)Mpeg2VideoDetector.Configurable[Mpeg2VideoDetector.ConfigurationKey.ParserMaxZeroByteStuffingLength];

            ReferenceHeaders = NoDefaultHeaders;
        }
        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];
        }
Example #9
0
 public Mpeg4Reader(BitStreamDataReader dataReader)
 {
     _dataReader = dataReader;
     _reader     = new Reader(_dataReader);
 }
Example #10
0
        public IDataBlock DetectData(IDataReader dataReader, IDataBlockBuilder dataBlockBuilder, IScanContext context)
        {
            var bitStreamDataReader = new BitStreamDataReader(dataReader);

            return(_createCarver(bitStreamDataReader, dataBlockBuilder, context).Carve(dataReader.Length));
        }
Example #11
0
 public Mpeg4Parser(BitStreamDataReader dataReader)
     : base(dataReader)
 {
     ReferenceHeaders = new Dictionary <IDataPacket, VideoObjectLayer>();
 }