Class HorizontalDeDifferencingFloatingPointStream

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    final class HorizontalDeDifferencingFloatingPointStream
    extends java.io.InputStream
    A decoder for data converted using "floating point horizontal differencing predictor".
    Version:
    $Id: HorizontalDeDifferencingStream.java,v 1.0 11.03.13 14:20 haraldk Exp$
    • Constructor Summary

      Constructors 
      Constructor Description
      HorizontalDeDifferencingFloatingPointStream​(java.io.InputStream stream, int columns, int samplesPerPixel, int bitsPerSample, java.nio.ByteOrder byteOrder)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()  
      private void decodeDeltaBytes​(byte[] bytes, int columns, int samplesPerPixel)  
      private void decodeFloatingPointDelta​(byte[] input, byte[] output, int columns, int channels, int bytesPerSample, java.nio.ByteOrder order)  
      private void decodeRow()  
      private boolean fetch()  
      private static boolean isValidBPS​(int bitsPerSample)  
      int read()  
      int read​(byte[] b, int off, int len)  
      long skip​(long n)  
      • Methods inherited from class java.io.InputStream

        available, mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, transferTo
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • columns

        private final int columns
      • samplesPerPixel

        private final int samplesPerPixel
      • bytesPerSample

        private final int bytesPerSample
      • channel

        private final java.nio.channels.ReadableByteChannel channel
      • buffer

        private final java.nio.ByteBuffer buffer
      • fpRow

        private final byte[] fpRow
    • Constructor Detail

      • HorizontalDeDifferencingFloatingPointStream

        public HorizontalDeDifferencingFloatingPointStream​(java.io.InputStream stream,
                                                           int columns,
                                                           int samplesPerPixel,
                                                           int bitsPerSample,
                                                           java.nio.ByteOrder byteOrder)
    • Method Detail

      • isValidBPS

        private static boolean isValidBPS​(int bitsPerSample)
      • fetch

        private boolean fetch()
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • decodeDeltaBytes

        private void decodeDeltaBytes​(byte[] bytes,
                                      int columns,
                                      int samplesPerPixel)
      • decodeFloatingPointDelta

        private void decodeFloatingPointDelta​(byte[] input,
                                              byte[] output,
                                              int columns,
                                              int channels,
                                              int bytesPerSample,
                                              java.nio.ByteOrder order)
      • decodeRow

        private void decodeRow()
      • read

        public int read()
                 throws java.io.IOException
        Specified by:
        read in class java.io.InputStream
        Throws:
        java.io.IOException
      • read

        public int read​(byte[] b,
                        int off,
                        int len)
                 throws java.io.IOException
        Overrides:
        read in class java.io.InputStream
        Throws:
        java.io.IOException
      • skip

        public long skip​(long n)
                  throws java.io.IOException
        Overrides:
        skip in class java.io.InputStream
        Throws:
        java.io.IOException
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class java.io.InputStream
        Throws:
        java.io.IOException