The UMSIndeo3Encoder object provides methods to compress video frames to the Indeo 3.2 video format. It is presented in the class library for editing and format conversion purposes.
To learn more about the UMSIndeo3Encoder object, see:
For introductory information, see Video Codec Objects.
The UMSIndeo3Encoder object defines the following types:
To avoid name collision on defines, integer values have been captured as enumerated lists. The set of valid values from an enumerated list varies with the application. The detailed method descriptions describe the valid or possible values for the specific use. The enumerated lists that are defined for this object are listed below.
enum ReturnCode { Success, Failure, UnsupportedFormat, UnsupportedAlgorithm, OutOfRange, Uninitialized, OutOfMemory, InvalidArgument }
enum ImageFormatIn { YUV9, RGB24, YVU9 }
enum FrameType { Reference, Delta }
This method sets the format that the encoder expects for the input frames. If an invalid format is specified, then the method returns the error code UnsupportedFormat; otherwise, the method returns Success.
in ImageFormatIn indeo_enc_image_format | Specifies the format of the input frame. |
This method queries the current input image format.
inout ImageFormatIn indeo_enc_image_format | The current setting of the input image format. |
This method sets the frame width and height parameters, and mallocs the internal frame buffers for the UMSIndeo3Encoder object. If either of the input dimensions is not a multiple of 4, the method sets up the encoder to encode a subframe of each input frame. The subframe starts at the top left corner of the input frame, and has dimensions that are multiples of 4. If either of the requested dimensions is negative or greater than 4096, the method returns OutOfRange. If a malloc fails, the method returns OutOfMemory; otherwise, it returns Success.
in long width | Width of the input frame. |
in long height | Height of the input frame. |
This method queries the frame width and height parameters.
inout long width | Current setting of the frame width. |
inout long height | Current setting of the frame width. |
This method sets the position and size of the subimage of the input frame that should be encoded. It truncates the subframe width and height to multiples of 4. The position parameters refer to the top left corner of the subframe; (0, 0) refers to the top left corner of the full input frame.
This method queries the subimage size and position parameters. If set_subimage_size has not been called, these have the values set by the last call to set_image_size, if any; otherwise, they have the values set by the last call to set_subimage_size.
This method computes an upper limit on the size of the output buffer for the encoder. The application should use this size to malloc a buffer to receive the compressed frames. The size depends on the dimensions of the input frames.
inout long buffer_size | The maximum size of a compressed image. |
This method compresses an input frame with bitrate control. First, the method compresses the frame with the initial_quality_factor setting. Thereafter it decreases the internal quality level and recompresses the frame until the size of the compressed frame is just less than or equal to the length parameter. After compressing the frame for the last time, the method computes a final_quality_factor.
If the initial_quality_factor is less than 0 or greater than 100, or if the length parameter is not positive, the method returns OutOfRange. Otherwise, the method behaves similarly to the compress_frame_QF method.
This method compresses an input frame according to a requested quality and frame type. The frame types are Reference, and Delta; the quality factor can vary between 0 and 100.
For introductory information, see Video Codec Objects.