Class VP8Frame

java.lang.Object
com.twelvemonkeys.imageio.plugins.webp.vp8.VP8Frame

public final class VP8Frame extends Object
  • Field Details

    • BLOCK_TYPES

      private static final int BLOCK_TYPES
      See Also:
    • COEF_BANDS

      private static final int COEF_BANDS
      See Also:
    • MAX_ENTROPY_TOKENS

      private static final int MAX_ENTROPY_TOKENS
      See Also:
    • MAX_MODE_LF_DELTAS

      private static final int MAX_MODE_LF_DELTAS
      See Also:
    • MAX_REF_LF_DELTAS

      private static final int MAX_REF_LF_DELTAS
      See Also:
    • PREV_COEF_CONTEXTS

      private static final int PREV_COEF_CONTEXTS
      See Also:
    • listener

      private IIOReadProgressListener listener
    • coefProbs

      private final int[][][][] coefProbs
    • filterLevel

      private int filterLevel
    • frame

      private final ImageInputStream frame
    • debug

      private final boolean debug
    • frameType

      private int frameType
    • height

      private int height
    • macroBlockCols

      private int macroBlockCols
    • macroBlockNoCoeffSkip

      private int macroBlockNoCoeffSkip
    • macroBlockRows

      private int macroBlockRows
    • macroBlocks

      private MacroBlock[][] macroBlocks
    • currentMacroBlockRow

      private MacroBlock[] currentMacroBlockRow
    • currentMacroBlockRowIndex

      private int currentMacroBlockRowIndex
    • filterLevels

      private int[][] filterLevels
    • lastNonBPredMacroBlockByColumn

      private MacroBlock[] lastNonBPredMacroBlockByColumn
    • segmentIds

      private int[][] segmentIds
    • skipCoeffs

      private int[][] skipCoeffs
    • uvModes

      private int[][] uvModes
    • ySubBlockModes

      private int[][][] ySubBlockModes
    • yModes

      private int[][] yModes
    • previousMacroBlockRow

      private MacroBlock[] previousMacroBlockRow
    • topMacroBlockRow

      private MacroBlock[] topMacroBlockRow
    • macroBlockSegementAbsoluteDelta

      private int macroBlockSegementAbsoluteDelta
    • macroBlockSegmentTreeProbs

      private int[] macroBlockSegmentTreeProbs
    • modeLoopFilterDeltas

      private final int[] modeLoopFilterDeltas
    • modeRefLoopFilterDeltaEnabled

      private int modeRefLoopFilterDeltaEnabled
    • modeRefLoopFilterDeltaUpdate

      private int modeRefLoopFilterDeltaUpdate
    • multiTokenPartition

      private int multiTokenPartition
    • offset

      private long offset
    • refLoopFilterDeltas

      private final int[] refLoopFilterDeltas
    • refreshEntropyProbs

      private int refreshEntropyProbs
    • refreshLastFrame

      private int refreshLastFrame
    • segmentationIsEnabled

      private int segmentationIsEnabled
    • segmentQuants

      private SegmentQuants segmentQuants
    • sharpnessLevel

      private int sharpnessLevel
    • simpleFilter

      private boolean simpleFilter
    • tokenBoolDecoder

      private BoolDecoder tokenBoolDecoder
    • tokenBoolDecoders

      private final List<BoolDecoder> tokenBoolDecoders
    • updateMacroBlockSegmentationMap

      private int updateMacroBlockSegmentationMap
    • updateMacroBlockSegmentatonData

      private int updateMacroBlockSegmentatonData
    • width

      private int width
    • yuv

      private final byte[] yuv
    • rgb

      private final byte[] rgb
  • Constructor Details

  • Method Details

    • setProgressListener

      public void setProgressListener(IIOReadProgressListener listener)
    • createMacroBlockMetadata

      private void createMacroBlockMetadata()
    • createMacroBlockRow

      private MacroBlock[] createMacroBlockRow(int mbRow)
    • populateMacroBlock

      private void populateMacroBlock(MacroBlock macroBlock, int mbRow, int mbCol)
    • initializeWindowedDecodeState

      private void initializeWindowedDecodeState()
    • ySubBlockModeIndex

      private static int ySubBlockModeIndex(int subX, int subY)
    • getYSubBlockMode

      private int getYSubBlockMode(int mbRow, int mbCol, int subX, int subY)
    • getAboveYSubBlockMode

      private int getAboveYSubBlockMode(int mbRow, int mbCol, int subX, int subY)
    • getLeftYSubBlockMode

      private int getLeftYSubBlockMode(int mbRow, int mbCol, int subX, int subY)
    • decode

      public boolean decode(WritableRaster raster, ImageReadParam param) throws IOException
      Throws:
      IOException
    • decodeMacroBlockRow

      private void decodeMacroBlockRow(int mbRow, WritableRaster raster, Rectangle region, int xSubsampling, int ySubsampling) throws IOException
      Throws:
      IOException
    • fireProgressUpdate

      private void fireProgressUpdate(int mbRow)
    • getAboveRightSubBlock

      SubBlock getAboveRightSubBlock(SubBlock sb, SubBlock.Plane plane)
    • getAboveSubBlock

      SubBlock getAboveSubBlock(SubBlock sb, SubBlock.Plane plane)
    • getBitAsInt

      private int getBitAsInt(int data, int bit)
    • getCoefProbs

      int[][][][] getCoefProbs()
    • getDebugImageDiff

      public BufferedImage getDebugImageDiff()
    • getDebugImagePredict

      public BufferedImage getDebugImagePredict()
    • getDebugImageUBuffer

      public BufferedImage getDebugImageUBuffer()
    • getDebugImageUDiffBuffer

      public BufferedImage getDebugImageUDiffBuffer()
    • getDebugImageUPredBuffer

      public BufferedImage getDebugImageUPredBuffer()
    • getDebugImageVBuffer

      public BufferedImage getDebugImageVBuffer()
    • getDebugImageVDiffBuffer

      public BufferedImage getDebugImageVDiffBuffer()
    • getDebugImageVPredBuffer

      public BufferedImage getDebugImageVPredBuffer()
    • getDebugImageYBuffer

      public BufferedImage getDebugImageYBuffer()
    • getDebugImageYDiffBuffer

      public BufferedImage getDebugImageYDiffBuffer()
    • getDebugImageYPredBuffer

      public BufferedImage getDebugImageYPredBuffer()
    • getFrameType

      public int getFrameType()
    • getWidth

      public int getWidth()
    • getHeight

      public int getHeight()
    • getLeftSubBlock

      SubBlock getLeftSubBlock(SubBlock sb, SubBlock.Plane plane)
    • getMacroBlock

      MacroBlock getMacroBlock(int mbCol, int mbRow)
    • getMacroBlockCols

      public int getMacroBlockCols()
    • getMacroBlockDebugString

      public String getMacroBlockDebugString(int mbx, int mby, int sbx, int sby)
    • getMacroBlockRows

      public int getMacroBlockRows()
    • getQIndex

      public int getQIndex()
    • getSegmentQuants

      public SegmentQuants getSegmentQuants()
    • getSharpnessLevel

      public int getSharpnessLevel()
    • getTokenBoolDecoder

      public BoolDecoder getTokenBoolDecoder() throws IOException
      Throws:
      IOException
    • readModes

      private void readModes(BoolDecoder bc) throws IOException
      Throws:
      IOException
    • readPartitionSize

      private int readPartitionSize(long l) throws IOException
      Throws:
      IOException
    • readSubBlockMode

      private int readSubBlockMode(BoolDecoder bc, int A, int L) throws IOException
      Throws:
      IOException
    • readUvMode

      private int readUvMode(BoolDecoder bc) throws IOException
      Throws:
      IOException
    • readYMode

      private int readYMode(BoolDecoder bc) throws IOException
      Throws:
      IOException
    • setupTokenDecoder

      private void setupTokenDecoder(BoolDecoder bc, int first_partition_length_in_bytes, long offset) throws IOException
      Throws:
      IOException
    • copyBlock

      private void copyBlock(MacroBlock macroBlock, WritableRaster byteRGBRaster, Rectangle region, int xSubsampling, int ySubsampling)