quicktime.std.image
Class CSequence

java.lang.Object
  |
  +--quicktime.QTObject
        |
        +--quicktime.std.image.CDSequence
              |
              +--quicktime.std.image.CSequence
All Implemented Interfaces:
quicktime.jdirect.InterfaceLib, quicktime.jdirect.PrimitivesLib, quicktime.jdirect.QuickTimeLib, quicktime.jdirect.SharedLibrary, com.apple.jdirect.SharedLibrary

public final class CSequence
extends CDSequence
implements quicktime.jdirect.QuickTimeLib

This class is used for compressing a sequence of images.

See Also:
CDSequence, DSequence

Fields inherited from interface quicktime.jdirect.QuickTimeLib
JDirect_MacOSX, libraryInstance, name
 
Constructor Summary
CSequence(QDGraphics src, QDRect srcRect, int cType, CodecComponent codec, int spatialQuality, int temporalQuality, int keyFrameRate, int flags)
          Creating an instance of this class signals the beginning of the process of compressing a sequence of frames.
CSequence(QDGraphics src, QDRect srcRect, int colorDepth, int cType, CodecComponent codec, int spatialQuality, int temporalQuality, int keyFrameRate, ColorTable clut, int flags)
          Creating an instance of this class signals the beginning of the process of compressing a sequence of frames.
 
Method Summary
 CompressedFrameInfo compressFrame(QDGraphics src, QDRect srcRect, int flags, ByteEncodedImage data)
          Your application calls this method to compress one of a sequence of frames.
 CompressedFrameInfo compressFrame(QDGraphics src, QDRect srcRect, int flags, EncodedImage data)
          Your application calls this method to compress one of a sequence of frames.
 CompressedFrameInfo compressFrame(QDGraphics src, QDRect srcRect, int flags, IntEncodedImage data)
          Your application calls this method to compress one of a sequence of frames.
 CompressedFrameInfo compressFrame(QDGraphics src, QDRect srcRect, int flags, RawEncodedImage data)
          Your application calls this method to compress one of a sequence of frames.
 DataRateParams getDataRateParams()
          This method obtains the data rate parameters previously set with the setCDataRateParams method.
 int getFrameNumber()
          This method returns the current frame number of this sequence.
 int getKeyFrameRate()
          This method lets you determine the current key frame rate of a sequence.
 int getMaxCompressionSize(QDGraphics src)
          This method allows your application to determine the maximum size an image will be after compression for a given compression sequence.
 QDGraphics prevBuffer()
          This method determines the location of the previous image buffer allocated by the compressor.
 void setDataRateParams(DataRateParams params)
          This method allows the application to set data rate parameters, which communicate information to compressors that can constrain compressed data in a particular sequence to a specific data rate.
 void setFrameNumber(int frameNumber)
          This method informs the compressor in use for this sequence that frames are being compressed out of order.
 void setKeyFrameRate(int keyFrameRate)
          This method allows you to adjust the key frame rate for the current sequence.
 void setPreferredPacketSize(int preferredPacketSize)
          Sets the preferred packet size for a sequence.
 void setPrev(QDGraphics prev, QDRect prevRect)
          This method allows the application to set the pixel map and boundary rectangle used by the previous frame in temporal compression.
 void setQuality(int spatialQuality, int temporalQuality)
          This method allows you to adjust the spatial or temporal quality for the current sequence.
 
Methods inherited from class quicktime.std.image.CDSequence
busy, equivalentImageDescription, getDescription, setTimeBase
 
Methods inherited from class quicktime.QTObject
disposeQTObject, equals, ID, toString
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CSequence

public CSequence(QDGraphics src,
                 QDRect srcRect,
                 int cType,
                 CodecComponent codec,
                 int spatialQuality,
                 int temporalQuality,
                 int keyFrameRate,
                 int flags)
          throws QTException
Creating an instance of this class signals the beginning of the process of compressing a sequence of frames. The ICM will choose the color depth and will allocate a previous image buffer.

QuickTime::CompressSequenceBegin

Parameters:
src - a QDGraphics object containing the PixMap which is the source data to be compressed. This may NOT be null.
srcRect - a QDRect defining the portion of the image to compress
cType - the compressor type
codec - the compressor identifier
spatialQuality - the desired compressed image quality
temporalQuality - the desired sequence temporal quality
keyFrameRate - the maximum number of frames allowed between key frames
flags - flags providing further control information

CSequence

public CSequence(QDGraphics src,
                 QDRect srcRect,
                 int colorDepth,
                 int cType,
                 CodecComponent codec,
                 int spatialQuality,
                 int temporalQuality,
                 int keyFrameRate,
                 ColorTable clut,
                 int flags)
          throws QTException
Creating an instance of this class signals the beginning of the process of compressing a sequence of frames.

QuickTime::CompressSequenceBegin

Parameters:
src - a QDGraphics object containing the PixMap which is the source data to be compressed. This may NOT be null.
srcRect - a QDRect defining the portion of the image to compress
colorDepth - the depth at which the sequence is likely to be viewed
cType - the compressor type
codec - the compressor identifier
spatialQuality - the desired compressed image quality
temporalQuality - the desired sequence temporal quality
keyFrameRate - the maximum number of frames allowed between key frames
clut - a custum color lookup table
flags - flags providing further control information
Method Detail

compressFrame

public CompressedFrameInfo compressFrame(QDGraphics src,
                                         QDRect srcRect,
                                         int flags,
                                         EncodedImage data)
                                  throws StdQTException,
                                         QDException
Your application calls this method to compress one of a sequence of frames. The size of the compressed data and the similarity value are returned in the CompressedFrameInfo object.

QuickTime::CompressSequenceFrame

Parameters:
src - a QDGraphics that contains the PixMap object containing the source data to be compressed. This may NOT be null.
srcRect - a QDRect defining the portion of the image to compress
flags - flags providing further control information
data - an EncodedImage object to hold the compressed image data. It is your program's responsibility to make sure that this object can receive at least as much data as indicated by the getMaxCompressionSize method.
Returns:
the size of the compressed data and the similarity value

compressFrame

public CompressedFrameInfo compressFrame(QDGraphics src,
                                         QDRect srcRect,
                                         int flags,
                                         IntEncodedImage data)
                                  throws StdQTException
Your application calls this method to compress one of a sequence of frames. The size of the compressed data and the similarity value are returned in the CompressedFrameInfo object.

QuickTime::CompressSequenceFrame

Parameters:
src - a QDGraphics that contains the PixMap object containing the source data to be compressed. This may NOT be null.
srcRect - a QDRect defining the portion of the image to compress
flags - flags providing further control information
data - an EncodedImage object to hold the compressed image data. It is your program's responsibility to make sure that this object can receive at least as much data as indicated by the getMaxCompressionSize method.
Returns:
the size of the compressed data and the similarity value

compressFrame

public CompressedFrameInfo compressFrame(QDGraphics src,
                                         QDRect srcRect,
                                         int flags,
                                         ByteEncodedImage data)
                                  throws StdQTException
Your application calls this method to compress one of a sequence of frames. The size of the compressed data and the similarity value are returned in the CompressedFrameInfo object.

QuickTime::CompressSequenceFrame

Parameters:
src - a QDGraphics that contains the PixMap object containing the source data to be compressed. This may NOT be null.
srcRect - a QDRect defining the portion of the image to compress
flags - flags providing further control information
data - an EncodedImage object to hold the compressed image data. It is your program's responsibility to make sure that this object can receive at least as much data as indicated by the getMaxCompressionSize method.
Returns:
the size of the compressed data and the similarity value

compressFrame

public CompressedFrameInfo compressFrame(QDGraphics src,
                                         QDRect srcRect,
                                         int flags,
                                         RawEncodedImage data)
                                  throws StdQTException
Your application calls this method to compress one of a sequence of frames. The size of the compressed data and the similarity value are returned in the CompressedFrameInfo object.

QuickTime::CompressSequenceFrame

Parameters:
src - a QDGraphics that contains the PixMap object containing the source data to be compressed. This may NOT be null.
srcRect - a QDRect defining the portion of the image to compress
flags - flags providing further control information
data - an EncodedImage object to hold the compressed image data. It is your program's responsibility to make sure that this object can receive at least as much data as indicated by the getMaxCompressionSize method.
Returns:
the size of the compressed data and the similarity value

getMaxCompressionSize

public int getMaxCompressionSize(QDGraphics src)
                          throws StdQTException
This method allows your application to determine the maximum size an image will be after compression for a given compression sequence. The size returned is in the number of bytes that the encoded image will require.

QuickTime::GetCSequenceMaxCompressionSize

Parameters:
src - a QDGraphics that contains the PixMap which is the source image compression data. This may NOT be null.
Returns:
the maximum size an image in this sequence will be after compression

setQuality

public void setQuality(int spatialQuality,
                       int temporalQuality)
                throws StdQTException
This method allows you to adjust the spatial or temporal quality for the current sequence.

QuickTime::SetCSequenceQuality

Parameters:
spatialQuality - the desired compressed image quality
temporalQuality - the desired sequence temporal quality

setKeyFrameRate

public void setKeyFrameRate(int keyFrameRate)
                     throws StdQTException
This method allows you to adjust the key frame rate for the current sequence.

QuickTime::SetCSequenceKeyFrameRate

Parameters:
keyFrameRate - the maximum number of frames allowed between key frames

getKeyFrameRate

public int getKeyFrameRate()
                    throws StdQTException
This method lets you determine the current key frame rate of a sequence.

QuickTime::GetCSequenceKeyFrameRate

Returns:
the current key frame rate

setFrameNumber

public void setFrameNumber(int frameNumber)
                    throws StdQTException
This method informs the compressor in use for this sequence that frames are being compressed out of order.

QuickTime::SetCSequenceFrameNumber

Parameters:
frameNumber - the frame number of the frame that is being compressed out of sequence

getFrameNumber

public int getFrameNumber()
                   throws StdQTException
This method returns the current frame number of this sequence.

QuickTime::GetCSequenceFrameNumber

Returns:
the current frame number

setPrev

public void setPrev(QDGraphics prev,
                    QDRect prevRect)
             throws StdQTException
This method allows the application to set the pixel map and boundary rectangle used by the previous frame in temporal compression. Note - this may change the maxCompressionSize

QuickTime::SetCSequencePrev

Parameters:
prev - a QDGraphics that contains the PixMap defining the new previous image. This may NOT be null.
prevRect - a QDRect defining the portion of the previous image to use for temporal compression. May be to null

prevBuffer

public QDGraphics prevBuffer()
                      throws StdQTException
This method determines the location of the previous image buffer allocated by the compressor.

QuickTime::GetCSequencePrevBuffer

Returns:
a QDGraphics object which is the graphics world for the image buffer

setDataRateParams

public void setDataRateParams(DataRateParams params)
                       throws StdQTException
This method allows the application to set data rate parameters, which communicate information to compressors that can constrain compressed data in a particular sequence to a specific data rate.

QuickTime::SetCSequenceDataRateParams

Parameters:
params - a DataRateParams object
See Also:
DataRateParams

getDataRateParams

public DataRateParams getDataRateParams()
                                 throws StdQTException
This method obtains the data rate parameters previously set with the setCDataRateParams method.

QuickTime::GetCSequenceDataRateParams

Returns:
a DataRateParams object, this object will not contain useful information unless the setCDataRateParams method was previously called

setPreferredPacketSize

public void setPreferredPacketSize(int preferredPacketSize)
                            throws StdQTException
Sets the preferred packet size for a sequence. This was added in QuickTime 2.5 to support video conferencing applications.

QuickTime::SetCSequencePreferredPacketSize

Parameters:
preferredPacketSize - the preferred packet size in bytes