Copyright 2013-01-06 Werner Randelshofer

org.monte.media.seq
Class SEQFrame

java.lang.Object
  extended by org.monte.media.seq.SEQFrame
Direct Known Subclasses:
SEQDeltaFrame

public abstract class SEQFrame
extends java.lang.Object

Represents a frame in a movie track.

Version:
1.0 2010-12-25 Created.
Author:
Werner Randelshofer, Hausmatt 10, CH-6405 Goldau, 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
SEQFrame()
           
 
Method Summary
 void addAudioCommand(SEQAudioCommand command)
          Adds an audio command to this anim frame.
 void cleanUpAudioCommands()
          Removes duplicate audio commands.
abstract  void decode(BitmapImage bitmap, SEQMovieTrack track)
           
 SEQAudioCommand[] getAudioCommands()
          Returns audio commands associated with this frame.
 int getBits()
           
 int getBottomBound(SEQMovieTrack track)
           
 java.awt.image.ColorModel getColorModel()
           
 int getInterleave()
           
 int getLeftBound(SEQMovieTrack track)
           
 int getOperation()
           
 long getRelTime()
           
 int getRightBound(SEQMovieTrack track)
           
 int getStorageMethod()
           
 int getTopBound(SEQMovieTrack 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 setOperation(int operation)
           
 void setRelTime(long reltime)
           
 void setStorageMethod(int storageMethod)
           
 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

SEQFrame

public SEQFrame()
Method Detail

addAudioCommand

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


getAudioCommands

public SEQAudioCommand[] 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)

setStorageMethod

public void setStorageMethod(int storageMethod)

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()

getStorageMethod

public int getStorageMethod()

getBits

public int getBits()

getRelTime

public long getRelTime()

getInterleave

public int getInterleave()

decode

public abstract void decode(BitmapImage bitmap,
                            SEQMovieTrack track)

getTopBound

public int getTopBound(SEQMovieTrack track)

getBottomBound

public int getBottomBound(SEQMovieTrack track)

getLeftBound

public int getLeftBound(SEQMovieTrack track)

getRightBound

public int getRightBound(SEQMovieTrack 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 2013-01-06 Werner Randelshofer