Class WebPImageReader
- java.lang.Object
-
- javax.imageio.ImageReader
-
- com.twelvemonkeys.imageio.ImageReaderBase
-
- com.twelvemonkeys.imageio.plugins.webp.WebPImageReader
-
final class WebPImageReader extends ImageReaderBase
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 com.twelvemonkeys.imageio.ImageReaderBase
imageInput
-
-
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 returnsnull
.java.util.Iterator<javax.imageio.ImageTypeSpecifier>
getImageTypes(int imageIndex)
int
getNumImages(boolean allowSearch)
Default implementation that always returns1
.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)
OverridessetInput
, to allow easy access to the input, in case it is anImageInputStream
.-
Methods inherited from class com.twelvemonkeys.imageio.ImageReaderBase
assertInput, checkBounds, dispose, fakeAOI, fakeSubsampling, getDestination, getStreamMetadata, hasExplicitDestination, main, reset, showIt
-
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
-
-
-
-
Field Detail
-
DEBUG
static final boolean DEBUG
-
lsbBitReader
private LSBBitReader lsbBitReader
-
fileSize
private long fileSize
-
header
private VP8xChunk header
-
containedICCP
private java.awt.color.ICC_Profile containedICCP
-
iccProfile
private java.awt.color.ICC_Profile iccProfile
-
frames
private final java.util.List<AnimationFrame> frames
-
-
Method Detail
-
resetMembers
protected void resetMembers()
Description copied from class:ImageReaderBase
Resets all member variables. This method is by default invoked from:- Specified by:
resetMembers
in classImageReaderBase
-
setInput
public void setInput(java.lang.Object input, boolean seekForwardOnly, boolean ignoreMetadata)
Description copied from class:ImageReaderBase
OverridessetInput
, to allow easy access to the input, in case it is anImageInputStream
.- Overrides:
setInput
in classImageReaderBase
- Parameters:
input
- theImageInputStream
or otherObject
to use for future decoding.seekForwardOnly
- iftrue
, images and metadata may only be read in ascending order from this input source.ignoreMetadata
- iftrue
, 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 returns1
.- Overrides:
getNumImages
in classImageReaderBase
- 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 classjavax.imageio.ImageReader
- Throws:
java.io.IOException
-
getHeight
public int getHeight(int imageIndex) throws java.io.IOException
- Specified by:
getHeight
in classjavax.imageio.ImageReader
- Throws:
java.io.IOException
-
getRawImageType
public javax.imageio.ImageTypeSpecifier getRawImageType(int imageIndex) throws java.io.IOException
- Overrides:
getRawImageType
in classjavax.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 classjavax.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 classjavax.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 returnsnull
.- Overrides:
getImageMetadata
in classImageReaderBase
- 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
-
-