/** * The CodecOptions parameter should have the following fields set: * {@link CodecOptions#interleaved interleaved} * {@link CodecOptions#littleEndian littleEndian} * * @see Codec#decompress(RandomAccessInputStream, CodecOptions) */ @Override public byte[] decompress(RandomAccessInputStream in, CodecOptions options) throws CodecException, IOException { if (in == null) { throw new IllegalArgumentException("No data to decompress."); } if (options == null || !(options instanceof JPEG2000CodecOptions)) { options = JPEG2000CodecOptions.getDefaultOptions(options); } byte[] buf = null; long fp = in.getFilePointer(); if (options.maxBytes == 0) { buf = new byte[(int) (in.length() - fp)]; } else { buf = new byte[(int) (options.maxBytes - fp)]; } in.read(buf); return decompress(buf, options); }