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");
}
}