Class JPEGLosslessDecoder


  • final class JPEGLosslessDecoder
    extends java.lang.Object
    • Field Detail

      • input

        private final javax.imageio.stream.ImageInputStream input
      • frame

        private final Frame frame
      • huffTables

        private final java.util.List<HuffmanTable> huffTables
      • scan

        private Scan scan
      • HuffTab

        private final int[][][] HuffTab
      • IDCT_Source

        private final int[] IDCT_Source
      • nBlock

        private final int[] nBlock
      • acTab

        private final int[][] acTab
      • dcTab

        private final int[][] dcTab
      • qTab

        private final int[][] qTab
      • restarting

        private boolean restarting
      • marker

        private int marker
      • markerIndex

        private int markerIndex
      • numComp

        private int numComp
      • restartInterval

        private int restartInterval
      • selection

        private int selection
      • xDim

        private int xDim
      • yDim

        private int yDim
      • xLoc

        private int xLoc
      • yLoc

        private int yLoc
      • mask

        private int mask
      • outputData

        private int[][] outputData
      • IDCT_P

        private static final int[] IDCT_P
    • Constructor Detail

      • JPEGLosslessDecoder

        JPEGLosslessDecoder​(java.util.List<Segment> segments,
                            javax.imageio.stream.ImageInputStream data,
                            JPEGImageReader listenerDelegate)
    • Method Detail

      • getDimX

        int getDimX()
      • getDimY

        int getDimY()
      • getAll

        private <T> java.util.List<T> getAll​(java.util.List<Segment> segments,
                                             java.lang.Class<T> type)
      • get

        private <T> T get​(java.util.List<Segment> segments,
                          java.lang.Class<T> type)
      • decode

        int[][] decode()
                throws java.io.IOException
        Throws:
        java.io.IOException
      • processWarningOccured

        private void processWarningOccured​(java.lang.String warning)
      • useACForDC

        private boolean useACForDC​(int dcTabSel)
      • isLossless

        private boolean isLossless()
      • readScan

        private Scan readScan()
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • decode

        private int decode​(int[] prev,
                           int[] temp,
                           int[] index)
                    throws java.io.IOException
        Throws:
        java.io.IOException
      • decodeSingle

        private int decodeSingle​(int[] prev,
                                 int[] temp,
                                 int[] index)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • decodeRGB

        private int decodeRGB​(int[] prev,
                              int[] temp,
                              int[] index)
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • decodeAny

        private int decodeAny​(int[] prev,
                              int[] temp,
                              int[] index)
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • decode0

        private int decode0​(int[] prev,
                            int[] temp,
                            int[] index)
                     throws java.io.IOException
        Throws:
        java.io.IOException
      • getHuffmanValue

        private int getHuffmanValue​(int[] table,
                                    int[] temp,
                                    int[] index)
                             throws java.io.IOException
        Throws:
        java.io.IOException
      • getn

        private int getn​(int[] pred,
                         int n,
                         int[] temp,
                         int[] index)
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • getPreviousX

        private int getPreviousX​(int[] data)
      • getPreviousXY

        private int getPreviousXY​(int[] data)
      • getPreviousY

        private int getPreviousY​(int[] data)
      • isLastPixel

        private boolean isLastPixel()
      • output

        private void output​(int[] pred)
      • outputSingle

        private void outputSingle​(int[] pred)
      • outputRGB

        private void outputRGB​(int[] pred)
      • outputAny

        private void outputAny​(int[] pred)
      • readNumber

        private int readNumber()
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • getNumComponents

        int getNumComponents()
      • getPrecision

        int getPrecision()