ICSeqCompressFrame  XI4YET 

The ICSeqCompressFrame function compresses one frame in a sequence of frames.

LPVOID ICSeqCompressFrame(

    PCOMPVARS pc,

 

    UINT uiFlags,

 

    LPVOID lpBits,

 

    BOOL * pfKey,

 

    LONG * plSize

 

   );

 

 

Parameters

pc

Address of a COMPVARS3ICXIX structure initialized with information about the compression.

uiFlags

Reserved; must be zero.

lpBits

Address of the data bits to compress. (The data bits exclude header or format information.)

pfKey

Returns whether or not the frame was compressed into a key frame.

plSize

Maximum size desired for the compressed image. The compressor might not be able to compress the data to fit within this size. When the function returns, the parameter points to the size of the compressed image. Images sizes are specified in bytes.

 

Return Values

Returns the address of the compressed bits if successful or NULL otherwise.

Remarks

This function uses a COMPVARS3ICXIX structure to provide settings for the specified compressor and intersperses key frames at the rate specified by the ICSeqCompressorFrameStart function. You can specify values for the data rate for the sequence and the key-frame frequency by using the appropriate members of COMPVARS.

Use this function instead of the ICCompress1JVGS24 function to compress a video sequence.

You can allow the user to specify a compressor and initialize a COMPVARS structure by using the ICCompressorChoose function. Or, you can initialize a COMPVARS structure manually.

Use the ICSeqCompressFrameStart, ICSeqCompressFrame, and ICSeqCompressFrameEnd functions to compress a sequence of frames to a specified data rate and number of key frames. Use ICSeqCompressFrame once for each frame to be compressed.

When finished with compression, use the ICCompressorFree function to release the resources specified by COMPVARS.

See Also

COMPVARS, ICCompress, ICCompressorChoose, ICSeqCompressFrameStart, ICSeqCompressFrameEnd, ICCompressorFree