Class JpegDecoder

    • Field Detail

      • scaledQuantizationTables

        private final float[][] scaledQuantizationTables
      • image

        private java.awt.image.BufferedImage image
      • ioException

        private java.io.IOException ioException
      • zz

        private final int[] zz
      • blockInt

        private final int[] blockInt
      • block

        private final float[] block
    • Constructor Detail

      • JpegDecoder

        public JpegDecoder()
    • Method Detail

      • visitSOS

        public void visitSOS​(int marker,
                             byte[] markerBytes,
                             byte[] imageData)
        Specified by:
        visitSOS in interface JpegUtils.Visitor
      • rescaleMCU

        private void rescaleMCU​(Block[] dataUnits,
                                int hSize,
                                int vSize,
                                Block[] ret)
      • splitByRstMarkers

        static JpegInputStream[] splitByRstMarkers​(int[] scanPayload)
        Returns an array of JpegInputStream where each field contains the JpegInputStream for one interval.
        Parameters:
        scanPayload - array to read intervals from
        Returns:
        JpegInputStreams for all intervals, at least one stream is always provided
      • getIntervalStartPositions

        static java.util.List<java.lang.Integer> getIntervalStartPositions​(int[] scanPayload)
        Returns the positions of where each interval in the provided array starts. The number of start positions is also the count of intervals while the number of restart markers found is equal to the number of start positions minus one (because restart markers are between intervals).
        Parameters:
        scanPayload - array to examine
        Returns:
        the start positions
      • fastRound

        private static int fastRound​(float x)
      • extend

        private int extend​(int v,
                           int t)