IVIDENC1_OutArgs Struct Reference
[XDM IVIDENC1 Video Encoder Interface]

#include <ividenc1.h>

Collaboration diagram for IVIDENC1_OutArgs:

Collaboration graph
[legend]

Detailed Description

Defines the run time output arguments for all IVIDENC1 instance objects.

Remarks:
This structure may be extended by individual codec implementations allowing customization with vendor specific parameters. The presence of vendor specific extensions will be detected by the value of the size parameter.

The size field must be correctly set by the caller.

See also:
IVIDENC1_Fxns::process()


Data Fields

XDAS_Int32 size
XDAS_Int32 extendedError
XDAS_Int32 bytesGenerated
XDAS_Int32 encodedFrameType
XDAS_Int32 inputFrameSkip
XDAS_Int32 outputID
XDM1_SingleBufDesc encodedBuf
IVIDEO1_BufDesc reconBufs


Field Documentation

XDAS_Int32 IVIDENC1_OutArgs::size

Size of this structure in bytes. Because this structure can be extended, this field must be correctly set by the caller.

XDAS_Int32 IVIDENC1_OutArgs::extendedError

Extended error information.

Remarks:
When an internal error occurs, the algorithm will return an error return value (e.g. EFAIL, EUNSUPPORTED)

The value of each enum is the bit which is set.

Bits 31-16 are reserved. Bits 7-0 are codec and implementation specific.

The algorithm can set multiple bits to 1 based on conditions. e.g. it will set bits XDM_FATALERROR (fatal) and XDM_UNSUPPORTEDPARAM (unsupported params) in case of unsupported run time parameters.

This enumeration data type should not be used for storage, but rather only for its constant values.

See also:
XDM_ErrorBit

XDAS_Int32 IVIDENC1_OutArgs::bytesGenerated

Number of bytes generated during the IVIDENC1_Fxns::process() call.

XDAS_Int32 IVIDENC1_OutArgs::encodedFrameType

Video frame types.

Remarks:
For the various IVIDEO_xy_FRAME values, this frame type is interlaced where both top and bottom fields are provided in a single frame. The first field is an "x" frame, the second field is "y" field.

This enumeration data type should not be used for storage, but rather only for its constant values.

This enumeration defines a base set of values. Algorithms which require proprietary enumeration values may define them - much like extended fields in base structures. These extended enums should be between XDM_CUSTOMENUMBASE and 0x7FFF.

See also:
XDM_CUSTOMENUMBASE

See also:
IVIDEO_FrameType

XDAS_Int32 IVIDENC1_OutArgs::inputFrameSkip

Video frame skipping modes.

Remarks:
This enumeration data type should not be used for storage, but rather only for its constant values.

This enumeration defines a base set of values. Algorithms which require proprietary enumeration values may define them - much like extended fields in base structures. These extended enums should be between XDM_CUSTOMENUMBASE and 0x7FFF.

See also:
XDM_CUSTOMENUMBASE

See also:
IVIDEO_SkipMode

XDAS_Int32 IVIDENC1_OutArgs::outputID

Output ID corresponding with the encoded buffer. This shall also be used to free up the corresponding image buffer for further use by client application code.

Remarks:
This will be set to zero when there is no encoded buffer for passing to client application.
See also:
IVIDENC1_InArgs::inputID.

XDM1_SingleBufDesc IVIDENC1_OutArgs::encodedBuf

The encoder fills the buffer with the encoded bitstream. In case of sequences having I & P frames only, these values are identical to outBufs passed in IVIDENC1_Fxns::process().

Remarks:
The encodedbuf.bufSize field returned corresponds to the actual valid bytes available in the buffer.

The bitstream is in encoded order.

outputID and encodedBuf together provide info relating to the corresponding encoded image buffer.

IVIDEO1_BufDesc IVIDENC1_OutArgs::reconBufs

Reconstruction frames.

Remarks:
These output buffers correspond to outBufs->bufs[1], outBufs->bufs[2], and outBufs->bufs[3].

reconBufs.bufDesc[0].buf is equivalent to outBufs->bufs[1], reconBufs.bufDesc[1].buf is equivalent to outBufs->bufs[2], and reconBufs.bufDesc[2].buf is equivalent to outBufs->bufs[3].


The documentation for this struct was generated from the following file:
Copyright 2009, Texas Instruments Incorporated