Esempio n. 1
0
        static void Main(string[] args)
        {
            byte[] data = { 0xff, 0xfe, 0xfd, 4, 5, 6, 7, 8, 9, 10 };
            CbitStream cbs = new CbitStream(data);
            int bit;

            for (int i = 0; (bit = cbs.getBit()) != -1; i++)
            {
                Console.Write(bit);
                if (i % 8 == 7)
                {
                    Console.WriteLine();
                }
            }

            cbs.setSeek(0);

            Console.WriteLine(cbs.getBits(10));
            Console.WriteLine(cbs.getBits(10));
            Console.WriteLine(cbs.getBits(10));
            Console.WriteLine(cbs.getBits(10));
            Console.WriteLine(cbs.getBits(10));
            Console.WriteLine(cbs.getBits(10));
            Console.WriteLine(cbs.getBits(10));
            Console.WriteLine(cbs.getBits(10));
            Console.WriteLine(cbs.getBits(10));
            Console.WriteLine(cbs.getBits(10));
            Console.WriteLine(cbs.getBits(10));
            Console.WriteLine(cbs.getBits(10));
        }
Esempio n. 2
0
        public CbitStream(CbitStream prev)
        {
            data_length = prev.data_length;
            bit_seek = prev.bit_seek;

            data = new byte[prev.data.Length];
            prev.data.CopyTo(data, 0);
        }
Esempio n. 3
0
        public SOS(SOS prev)
        {
            if (prev.id != null)
            {
                id = new byte[prev.id.Length];
                prev.id.CopyTo(id, 0);
            }
            head_length = prev.head_length;

            cbs = new CbitStream(prev.cbs);
        }
Esempio n. 4
0
 public override void ReadMarker(ref BinaryReader br_in)
 {
     try
     {
         read_headsize(ref br_in);
         br_in.ReadBytes(this.head_length - 2);
         cbs = new CbitStream(br_in.ReadBytes((int)(br_in.BaseStream.Length - br_in.BaseStream.Position - 2)));
     }
     catch
     {
         Console.WriteLine("sos.read error");
     }
 }