Class WebPImageReader

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.awt.color.ICC_Profile containedICCP  
      (package private) static boolean DEBUG  
      private long fileSize  
      private java.util.List<AnimationFrame> frames  
      private VP8xChunk header  
      private java.awt.color.ICC_Profile iccProfile  
      private LSBBitReader lsbBitReader  
      • Fields inherited from class javax.imageio.ImageReader

        availableLocales, ignoreMetadata, input, locale, minIndex, originatingProvider, progressListeners, seekForwardOnly, updateListeners, warningListeners, warningLocales
    • Constructor Summary

      Constructors 
      Constructor Description
      WebPImageReader​(javax.imageio.spi.ImageReaderSpi provider)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void alphaFilter​(java.awt.image.WritableRaster alphaRaster, int filtering)  
      private void applyICCProfileIfNeeded​(java.awt.image.BufferedImage destination)  
      (package private) static java.lang.String fourCC​(int value)  
      int getHeight​(int imageIndex)  
      javax.imageio.metadata.IIOMetadata getImageMetadata​(int imageIndex)
      Default implementation that always returns null.
      java.util.Iterator<javax.imageio.ImageTypeSpecifier> getImageTypes​(int imageIndex)  
      int getNumImages​(boolean allowSearch)
      Default implementation that always returns 1.
      private int getPredictorAlpha​(java.awt.image.WritableRaster alphaRaster, int filtering, int y, int x)  
      javax.imageio.ImageTypeSpecifier getRawImageType​(int imageIndex)  
      int getWidth​(int imageIndex)  
      private void opaqueAlpha​(java.awt.image.WritableRaster alphaRaster)  
      java.awt.image.BufferedImage read​(int imageIndex, javax.imageio.ImageReadParam param)  
      private void readAllFrames()  
      private void readAlpha​(java.awt.image.BufferedImage destination, javax.imageio.ImageReadParam param, int width, int height)  
      private void readFrame​(int frameIndex)  
      private void readHeader()  
      private void readHeader​(int imageIndex)  
      private void readMeta()  
      private void readUncompressedAlpha​(java.awt.image.WritableRaster alphaRaster)  
      private void readVP8​(java.awt.image.WritableRaster raster, javax.imageio.ImageReadParam param)  
      private void readVP8Extended​(java.awt.image.BufferedImage destination, javax.imageio.ImageReadParam param, long streamEnd)  
      private void readVP8Extended​(java.awt.image.BufferedImage destination, javax.imageio.ImageReadParam param, long streamEnd, int width, int height)  
      private void readVP8Lossless​(java.awt.image.WritableRaster raster, javax.imageio.ImageReadParam param)  
      private void readVP8Lossless​(java.awt.image.WritableRaster raster, javax.imageio.ImageReadParam param, int width, int height)  
      protected void resetMembers()
      Resets all member variables.
      void setInput​(java.lang.Object input, boolean seekForwardOnly, boolean ignoreMetadata)
      Overrides setInput, to allow easy access to the input, in case it is an ImageInputStream.
      • Methods inherited from class javax.imageio.ImageReader

        abort, abortRequested, addIIOReadProgressListener, addIIOReadUpdateListener, addIIOReadWarningListener, canReadRaster, checkReadParamBandSettings, clearAbortRequest, computeRegions, getAspectRatio, getAvailableLocales, getDefaultReadParam, getFormatName, getImageMetadata, getInput, getLocale, getMinIndex, getNumThumbnails, getOriginatingProvider, getSourceRegion, getStreamMetadata, getThumbnailHeight, getThumbnailWidth, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileWidth, hasThumbnails, isIgnoringMetadata, isImageTiled, isRandomAccessEasy, isSeekForwardOnly, processImageComplete, processImageProgress, processImageStarted, processImageUpdate, processPassComplete, processPassStarted, processReadAborted, processSequenceComplete, processSequenceStarted, processThumbnailComplete, processThumbnailPassComplete, processThumbnailPassStarted, processThumbnailProgress, processThumbnailStarted, processThumbnailUpdate, processWarningOccurred, processWarningOccurred, read, readAll, readAll, readAsRenderedImage, readerSupportsThumbnails, readRaster, readThumbnail, readTile, readTileRaster, removeAllIIOReadProgressListeners, removeAllIIOReadUpdateListeners, removeAllIIOReadWarningListeners, removeIIOReadProgressListener, removeIIOReadUpdateListener, removeIIOReadWarningListener, setInput, setInput, setLocale
      • Methods inherited from class java.lang.Object

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

      • DEBUG

        static final boolean DEBUG
      • fileSize

        private long fileSize
      • containedICCP

        private java.awt.color.ICC_Profile containedICCP
      • iccProfile

        private java.awt.color.ICC_Profile iccProfile
    • Constructor Detail

      • WebPImageReader

        WebPImageReader​(javax.imageio.spi.ImageReaderSpi provider)
    • Method Detail

      • setInput

        public void setInput​(java.lang.Object input,
                             boolean seekForwardOnly,
                             boolean ignoreMetadata)
        Description copied from class: ImageReaderBase
        Overrides setInput, to allow easy access to the input, in case it is an ImageInputStream.
        Overrides:
        setInput in class ImageReaderBase
        Parameters:
        input - the ImageInputStream or other Object to use for future decoding.
        seekForwardOnly - if true, images and metadata may only be read in ascending order from this input source.
        ignoreMetadata - if true, metadata may be ignored during reads.
        See Also:
        ImageInputStream
      • readHeader

        private void readHeader​(int imageIndex)
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • readFrame

        private void readFrame​(int frameIndex)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • readHeader

        private void readHeader()
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • fourCC

        static java.lang.String fourCC​(int value)
      • getNumImages

        public int getNumImages​(boolean allowSearch)
                         throws java.io.IOException
        Description copied from class: ImageReaderBase
        Default implementation that always returns 1.
        Overrides:
        getNumImages in class ImageReaderBase
        Parameters:
        allowSearch - ignored, unless overridden
        Returns:
        1, unless overridden
        Throws:
        java.io.IOException - never, unless overridden
      • readAllFrames

        private void readAllFrames()
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • getWidth

        public int getWidth​(int imageIndex)
                     throws java.io.IOException
        Specified by:
        getWidth in class javax.imageio.ImageReader
        Throws:
        java.io.IOException
      • getHeight

        public int getHeight​(int imageIndex)
                      throws java.io.IOException
        Specified by:
        getHeight in class javax.imageio.ImageReader
        Throws:
        java.io.IOException
      • getRawImageType

        public javax.imageio.ImageTypeSpecifier getRawImageType​(int imageIndex)
                                                         throws java.io.IOException
        Overrides:
        getRawImageType in class javax.imageio.ImageReader
        Throws:
        java.io.IOException
      • getImageTypes

        public java.util.Iterator<javax.imageio.ImageTypeSpecifier> getImageTypes​(int imageIndex)
                                                                           throws java.io.IOException
        Specified by:
        getImageTypes in class javax.imageio.ImageReader
        Throws:
        java.io.IOException
      • read

        public java.awt.image.BufferedImage read​(int imageIndex,
                                                 javax.imageio.ImageReadParam param)
                                          throws java.io.IOException
        Specified by:
        read in class javax.imageio.ImageReader
        Throws:
        java.io.IOException
      • readVP8Extended

        private void readVP8Extended​(java.awt.image.BufferedImage destination,
                                     javax.imageio.ImageReadParam param,
                                     long streamEnd)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • readVP8Extended

        private void readVP8Extended​(java.awt.image.BufferedImage destination,
                                     javax.imageio.ImageReadParam param,
                                     long streamEnd,
                                     int width,
                                     int height)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • readAlpha

        private void readAlpha​(java.awt.image.BufferedImage destination,
                               javax.imageio.ImageReadParam param,
                               int width,
                               int height)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • alphaFilter

        private void alphaFilter​(java.awt.image.WritableRaster alphaRaster,
                                 int filtering)
      • getPredictorAlpha

        private int getPredictorAlpha​(java.awt.image.WritableRaster alphaRaster,
                                      int filtering,
                                      int y,
                                      int x)
      • applyICCProfileIfNeeded

        private void applyICCProfileIfNeeded​(java.awt.image.BufferedImage destination)
      • opaqueAlpha

        private void opaqueAlpha​(java.awt.image.WritableRaster alphaRaster)
      • readUncompressedAlpha

        private void readUncompressedAlpha​(java.awt.image.WritableRaster alphaRaster)
                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • readVP8Lossless

        private void readVP8Lossless​(java.awt.image.WritableRaster raster,
                                     javax.imageio.ImageReadParam param)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • readVP8Lossless

        private void readVP8Lossless​(java.awt.image.WritableRaster raster,
                                     javax.imageio.ImageReadParam param,
                                     int width,
                                     int height)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • readVP8

        private void readVP8​(java.awt.image.WritableRaster raster,
                             javax.imageio.ImageReadParam param)
                      throws java.io.IOException
        Throws:
        java.io.IOException
      • getImageMetadata

        public javax.imageio.metadata.IIOMetadata getImageMetadata​(int imageIndex)
                                                            throws java.io.IOException
        Description copied from class: ImageReaderBase
        Default implementation that always returns null.
        Overrides:
        getImageMetadata in class ImageReaderBase
        Parameters:
        imageIndex - ignored, unless overridden
        Returns:
        null, unless overridden
        Throws:
        java.io.IOException - never, unless overridden.
      • readMeta

        private void readMeta()
                       throws java.io.IOException
        Throws:
        java.io.IOException