CSJ2K.j2k.codestream.reader.HeaderDecoder.readFoundMainMarkSeg C# (CSharp) Method

readFoundMainMarkSeg() private method

Retrieves and reads all marker segments found in the main header during the first pass.
private readFoundMainMarkSeg ( ) : void
return void
        private void readFoundMainMarkSeg()
        {
            //UPGRADE_TODO: Class 'java.io.DataInputStream' was converted to 'System.IO.BinaryReader' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javaioDataInputStream'"
            //System.IO.BinaryReader dis;
            System.IO.MemoryStream bais;

            // SIZ marker segment
            if ((nfMarkSeg & SIZ_FOUND) != 0)
            {
                bais = new System.IO.MemoryStream((byte[])ht["SIZ"]);
                readSIZ(new CSJ2K.Util.EndianBinaryReader(bais, true));
            }

            // COM marker segments
            if ((nfMarkSeg & COM_FOUND) != 0)
            {
                for (int i = 0; i < nCOMMarkSeg; i++)
                {
                    bais = new System.IO.MemoryStream((byte[])ht["COM" + i]);
                    readCOM(new CSJ2K.Util.EndianBinaryReader(bais, true), true, 0, i);
                }
            }

            // CRG marker segment
            if ((nfMarkSeg & CRG_FOUND) != 0)
            {
                bais = new System.IO.MemoryStream((byte[])ht["CRG"]);
                readCRG(new CSJ2K.Util.EndianBinaryReader(bais, true));
            }

            // COD marker segment
            if ((nfMarkSeg & COD_FOUND) != 0)
            {
                bais = new System.IO.MemoryStream((byte[])ht["COD"]);
                readCOD(new CSJ2K.Util.EndianBinaryReader(bais, true), true, 0, 0);
            }

            // COC marker segments
            if ((nfMarkSeg & COC_FOUND) != 0)
            {
                for (int i = 0; i < nCOCMarkSeg; i++)
                {
                    bais = new System.IO.MemoryStream((byte[])ht["COC" + i]);
                    readCOC(new CSJ2K.Util.EndianBinaryReader(bais, true), true, 0, 0);
                }
            }

            // RGN marker segment
            if ((nfMarkSeg & RGN_FOUND) != 0)
            {
                for (int i = 0; i < nRGNMarkSeg; i++)
                {
                    bais = new System.IO.MemoryStream((byte[])ht["RGN" + i]);
                    readRGN(new CSJ2K.Util.EndianBinaryReader(bais, true), true, 0, 0);
                }
            }

            // QCD marker segment
            if ((nfMarkSeg & QCD_FOUND) != 0)
            {
                bais = new System.IO.MemoryStream((byte[])ht["QCD"]);
                readQCD(new CSJ2K.Util.EndianBinaryReader(bais, true), true, 0, 0);
            }

            // QCC marker segments
            if ((nfMarkSeg & QCC_FOUND) != 0)
            {
                for (int i = 0; i < nQCCMarkSeg; i++)
                {
                    bais = new System.IO.MemoryStream((byte[])ht["QCC" + i]);
                    readQCC(new CSJ2K.Util.EndianBinaryReader(bais, true), true, 0, 0);
                }
            }

            // POC marker segment
            if ((nfMarkSeg & POC_FOUND) != 0)
            {
                bais = new System.IO.MemoryStream((byte[])ht["POC"]);
                readPOC(new CSJ2K.Util.EndianBinaryReader(bais, true), true, 0, 0);
            }

            // PPM marker segments
            if ((nfMarkSeg & PPM_FOUND) != 0)
            {
                for (int i = 0; i < nPPMMarkSeg; i++)
                {
                    bais = new System.IO.MemoryStream((byte[])ht["PPM" + i]);
                    readPPM(new CSJ2K.Util.EndianBinaryReader(bais));
                }
            }

            // Reset the hashtable
            ht = null;
        }