Copyright 2011-01-06 Werner Randelshofer

ch.randelshofer.media.anim
Class ANIMFrame

java.lang.Object
  extended by ch.randelshofer.media.anim.ANIMFrame
Direct Known Subclasses:
ANIMDeltaFrame, ANIMKeyFrame

public abstract class ANIMFrame
extends java.lang.Object

Version:
2.2 2009-11-20 Added support for bidirectional frames.
2.1 2006-10-01 Removed "_" suffix from instance variable names.
2.0 2003-04-05 Sound data is now provided by ANIMAudioCommand objects.
1.0 1999-10-19
Author:
Werner Randelshofer, Hausmatt 10, CH-6405 Immensee, Switzerland

Field Summary
protected static int BadBitsOP_ByteVertical
           
protected static int BadBitsOP_GeneralDelta
           
protected static int BIT_LongData
           
protected static int BIT_LongInfoOffsets
           
protected static int BIT_OneInfoListForAllPlanes
           
protected static int BIT_RLC
           
protected static int BIT_Vertical
           
protected static int BIT_XOR
           
protected  java.awt.image.ColorModel colorModel
           
protected  byte[] data
           
 
Constructor Summary
ANIMFrame()
           
 
Method Summary
 void addAudioCommand(ANIMAudioCommand command)
          Adds an audio command to this anim frame.
 void cleanUpAudioCommands()
          Removes duplicate audio commands.
abstract  void decode(BitmapImage bitmap, ANIMMovieTrack track)
           
 ANIMAudioCommand[] getAudioCommands()
          Returns audio commands associated with this frame.
 int getBits()
           
 int getBottomBound(ANIMMovieTrack track)
           
 java.awt.image.ColorModel getColorModel()
           
 int getInterleave()
           
 int getLeftBound(ANIMMovieTrack track)
           
 int getOperation()
           
 long getRelTime()
           
 int getRightBound(ANIMMovieTrack track)
           
 int getTopBound(ANIMMovieTrack track)
           
 boolean isBidirectional()
          Returns true if the frame can be decoded over both the previous frame or the subsequent frame.
 void setAbsTime(long abstime)
           
 void setBits(int bits)
           
 void setColorModel(java.awt.image.ColorModel cm)
           
 void setData(byte[] data)
           
 void setHeight(int h)
           
 void setInterleave(int interleave)
           
 void setMask(int mask)
           
 void setOperation(int operation)
           
 void setRelTime(long reltime)
           
 void setWidth(int w)
           
 void setX(int x)
           
 void setY(int y)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

colorModel

protected java.awt.image.ColorModel colorModel

data

protected byte[] data

BadBitsOP_GeneralDelta

protected static final int BadBitsOP_GeneralDelta
See Also:
Constant Field Values

BIT_LongData

protected static final int BIT_LongData
See Also:
Constant Field Values

BIT_XOR

protected static final int BIT_XOR
See Also:
Constant Field Values

BIT_OneInfoListForAllPlanes

protected static final int BIT_OneInfoListForAllPlanes
See Also:
Constant Field Values

BIT_RLC

protected static final int BIT_RLC
See Also:
Constant Field Values

BIT_Vertical

protected static final int BIT_Vertical
See Also:
Constant Field Values

BIT_LongInfoOffsets

protected static final int BIT_LongInfoOffsets
See Also:
Constant Field Values

BadBitsOP_ByteVertical

protected static final int BadBitsOP_ByteVertical
See Also:
Constant Field Values
Constructor Detail

ANIMFrame

public ANIMFrame()
Method Detail

addAudioCommand

public void addAudioCommand(ANIMAudioCommand command)
Adds an audio command to this anim frame.


getAudioCommands

public ANIMAudioCommand[] getAudioCommands()
Returns audio commands associated with this frame. Returns null if there are no audio commands available for this frame.


cleanUpAudioCommands

public void cleanUpAudioCommands()
Removes duplicate audio commands.


setColorModel

public void setColorModel(java.awt.image.ColorModel cm)

getColorModel

public java.awt.image.ColorModel getColorModel()

setData

public void setData(byte[] data)

setOperation

public void setOperation(int operation)

setMask

public void setMask(int mask)

setWidth

public void setWidth(int w)

setHeight

public void setHeight(int h)

setX

public void setX(int x)

setY

public void setY(int y)

setAbsTime

public void setAbsTime(long abstime)

setRelTime

public void setRelTime(long reltime)

setInterleave

public void setInterleave(int interleave)

setBits

public void setBits(int bits)

getOperation

public int getOperation()

getBits

public int getBits()

getRelTime

public long getRelTime()

getInterleave

public int getInterleave()

decode

public abstract void decode(BitmapImage bitmap,
                            ANIMMovieTrack track)

getTopBound

public int getTopBound(ANIMMovieTrack track)

getBottomBound

public int getBottomBound(ANIMMovieTrack track)

getLeftBound

public int getLeftBound(ANIMMovieTrack track)

getRightBound

public int getRightBound(ANIMMovieTrack track)

isBidirectional

public boolean isBidirectional()
Returns true if the frame can be decoded over both the previous frame or the subsequent frame. Bidirectional frames can be used efficiently for forward and backward playing a movie.

All key frames are bidirectional. Delta frames which use an XOR OP-mode are bidirectional as well.


Copyright 2011-01-06 Werner Randelshofer