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

readFilter() private method

Reads a wavelet filter from the codestream and returns the filter object that implements it.
private readFilter ( System ehs, int filtIdx ) : CSJ2K.j2k.wavelet.synthesis.SynWTFilter
ehs System The encoded header stream from where to read the info /// ///
filtIdx int Int array of one element to return the type of the /// wavelet filter. /// ///
return CSJ2K.j2k.wavelet.synthesis.SynWTFilter
        private SynWTFilter readFilter(System.IO.BinaryReader ehs, int[] filtIdx)
        {
            int kid; // the filter id

            kid = filtIdx[0] = ehs.ReadByte();
            if (kid >= (1 << 7))
            {
                throw new NotImplementedException("Custom filters not supported");
            }
            // Return filter based on ID
            switch (kid)
            {

                case CSJ2K.j2k.wavelet.FilterTypes_Fields.W9X7:
                    return new SynWTFilterFloatLift9x7();

                case CSJ2K.j2k.wavelet.FilterTypes_Fields.W5X3:
                    return new SynWTFilterIntLift5x3();

                default:
                    throw new CorruptedCodestreamException("Specified wavelet filter " + "not" + " JPEG 2000 part I " + "compliant");

            }
        }