Data Fields

IVIDENC1_OutArgs Struct Reference
[IVIDENC1 - XDM Video Encoder Interface]

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

#include <ividenc1.h>

Collaboration diagram for IVIDENC1_OutArgs:
Collaboration graph
[legend]

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

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 http://tiexpressdsp.com/index.php?title=Extending_data_structures_in_xDM for more details.
See also:
IVIDENC1_Fxns::process()

Field Documentation

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

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

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

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

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

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.

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 size of the memory buffer. See the bytesGenerated field for how much data is in this buffer.
The bitstream is in encoded order.
outputID and encodedBuf together provide info relating to the corresponding encoded image buffer.

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:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Copyright 2011, Texas Instruments Incorporated