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

readFoundTilePartMarkSeg() public method

Retrieves and reads all marker segments previously found in the tile-part header.
public readFoundTilePartMarkSeg ( int tileIdx, int tpIdx ) : void
tileIdx int The index of the current tile /// ///
tpIdx int Index of the current tile-part /// ///
return void
        public virtual void readFoundTilePartMarkSeg(int tileIdx, int tpIdx)
        {
            //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'"
            //CSJ2K.EndianBinaryReader dis;
            System.IO.MemoryStream bais;

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

            // 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), false, tileIdx, tpIdx);
                }
            }

            // 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), false, tileIdx, tpIdx);
                }
            }

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

            // 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), false, tileIdx, tpIdx);
                }
            }

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

            // 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), false, tileIdx, i);
                }
            }

            // PPT marker segments
            if ((nfMarkSeg & PPT_FOUND) != 0)
            {
                for (int i = 0; i < nPPTMarkSeg[tileIdx][tpIdx]; i++)
                {
                    bais = new System.IO.MemoryStream((byte[])ht["PPT" + i]);
                    readPPT(new CSJ2K.Util.EndianBinaryReader(bais, true), tileIdx, tpIdx);
                }
            }

            // Reset ht
            ht = null;
        }