CSJ2K.j2k.codestream.HeaderInfo.COD.ToString C# (CSharp) Method

ToString() public method

Display information found in this COD marker segment
public ToString ( ) : System.String
return System.String
            public override System.String ToString()
            {
                System.String str = "\n --- COD (" + lcod + " bytes) ---\n";
                str += " Coding style   : ";
                if (scod == 0)
                {
                    str += "Default";
                }
                else
                {
                    if ((scod & CSJ2K.j2k.codestream.Markers.SCOX_PRECINCT_PARTITION) != 0)
                        str += "Precints ";
                    if ((scod & CSJ2K.j2k.codestream.Markers.SCOX_USE_SOP) != 0)
                        str += "SOP ";
                    if ((scod & CSJ2K.j2k.codestream.Markers.SCOX_USE_EPH) != 0)
                        str += "EPH ";
                    int cb0x = ((scod & CSJ2K.j2k.codestream.Markers.SCOX_HOR_CB_PART) != 0)?1:0;
                    int cb0y = ((scod & CSJ2K.j2k.codestream.Markers.SCOX_VER_CB_PART) != 0)?1:0;
                    if (cb0x != 0 || cb0y != 0)
                    {
                        str += "Code-blocks offset";
                        str += ("\n Cblk partition : " + cb0x + "," + cb0y);
                    }
                }
                str += "\n";
                str += " Cblk style     : ";
                if (spcod_cs == 0)
                {
                    str += "Default";
                }
                else
                {
                    if ((spcod_cs & 0x1) != 0)
                        str += "Bypass ";
                    if ((spcod_cs & 0x2) != 0)
                        str += "Reset ";
                    if ((spcod_cs & 0x4) != 0)
                        str += "Terminate ";
                    if ((spcod_cs & 0x8) != 0)
                        str += "Vert_causal ";
                    if ((spcod_cs & 0x10) != 0)
                        str += "Predict ";
                    if ((spcod_cs & 0x20) != 0)
                        str += "Seg_symb ";
                }
                str += "\n";
                str += (" Num. of levels : " + spcod_ndl + "\n");
                switch (sgcod_po)
                {

                    case CSJ2K.j2k.codestream.ProgressionType.LY_RES_COMP_POS_PROG:
                        str += " Progress. type : LY_RES_COMP_POS_PROG\n";
                        break;

                    case CSJ2K.j2k.codestream.ProgressionType.RES_LY_COMP_POS_PROG:
                        str += " Progress. type : RES_LY_COMP_POS_PROG\n";
                        break;

                    case CSJ2K.j2k.codestream.ProgressionType.RES_POS_COMP_LY_PROG:
                        str += " Progress. type : RES_POS_COMP_LY_PROG\n";
                        break;

                    case CSJ2K.j2k.codestream.ProgressionType.POS_COMP_RES_LY_PROG:
                        str += " Progress. type : POS_COMP_RES_LY_PROG\n";
                        break;

                    case CSJ2K.j2k.codestream.ProgressionType.COMP_POS_RES_LY_PROG:
                        str += " Progress. type : COMP_POS_RES_LY_PROG\n";
                        break;
                    }
                str += (" Num. of layers : " + sgcod_nl + "\n");
                str += (" Cblk dimension : " + (1 << (spcod_cw + 2)) + "x" + (1 << (spcod_ch + 2)) + "\n");
                switch (spcod_t[0])
                {

                    case CSJ2K.j2k.wavelet.FilterTypes_Fields.W9X7:
                        str += " Filter         : 9-7 irreversible\n";
                        break;

                    case CSJ2K.j2k.wavelet.FilterTypes_Fields.W5X3:
                        str += " Filter         : 5-3 reversible\n";
                        break;
                    }
                str += (" Multi comp tr. : " + (sgcod_mct == 1) + "\n");
                if (spcod_ps != null)
                {
                    str += " Precincts      : ";
                    for (int i = 0; i < spcod_ps.Length; i++)
                    {
                        str += ((1 << (spcod_ps[i] & 0x000F)) + "x" + (1 << (((spcod_ps[i] & 0x00F0) >> 4))) + " ");
                    }
                }
                str += "\n";
                return str;
            }