![]() |
![]() |
Codec Engine Application Programming Interface (API)
ce-w08
|
Defines the run time output arguments for all IVIDDEC3 instance objects. More...
#include <ividdec3.h>
Data Fields | |
XDAS_Int32 | size |
XDAS_Int32 | extendedError |
Extended error information. | |
XDAS_Int32 | bytesConsumed |
XDAS_Int32 | outputID [20] |
IVIDEO2_BufDesc | decodedBufs |
XDAS_Int32 | freeBufID [20] |
XDAS_Int32 | outBufsInUseFlag |
XDAS_Int32 | displayBufsMode |
union { | |
IVIDEO2_BufDesc bufDesc [1] | |
IVIDEO2_BufDesc * pBufDesc [20] | |
} | displayBufs |
Defines the run time output arguments for all IVIDDEC3 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 @c size parameter.
size
field must be correctly set by the caller. See https://processors.wiki.ti.com/index.php/Extending_data_structures_in_XDM for more details. @remarks The size of this struct may vary when IVIDDEC3_OutArgs.displayBufsMode is set to #IVIDDEC3_DISPLAYBUFS_EMBEDDED (see details in IVIDDEC3_OutArgs.displayBufs.bufDesc). @remarks When IVIDDEC3_OutArgs.displayBufsMode is set to #IVIDDEC3_DISPLAYBUFS_EMBEDDED, the number of elements in the IVIDDEC3_OutArgs.displayBufs.bufDesc array is a constant (and can be acquired by calling IVIDDEC3_Fxns.control() and looking in the IVIDDEC3_Status.maxOutArgsDisplayBufs field. Note that any extended fields follow the IVIDDEC3_OutArgs.displayBufs.bufDesc array. @sa IVIDDEC3_Fxns.process()
XDAS_Int32 IVIDDEC3_OutArgs::size |
Size of this structure in bytes. Because this structure can be extended, this field must be correctly set by the caller.
@remarks Extra care must be taken when setting this field as the size of even the base data can vary because of the #IVIDDEC3_OutArgs.displayBufs field. @sa IVIDDEC3_OutArgs.displayBufs
XDAS_Int32 IVIDDEC3_OutArgs::extendedError |
Extended error information.
XDAS_Int32 IVIDDEC3_OutArgs::bytesConsumed |
Number of bytes consumed.
XDAS_Int32 IVIDDEC3_OutArgs::outputID[20] |
Output ID corresponding to displayBufs
[].
IVIDEO2_BufDesc IVIDDEC3_OutArgs::decodedBufs |
The decoder fills this structure with buffer pointers to the decoded frame. Related information fields for the decoded frame are also populated.
When frame decoding is not complete, as indicated by IVIDDEC3_OutArgs.outBufsInUseFlag, the frame data in this structure will be incomplete. However, the algorithm will provide incomplete decoded frame data in case application wants to use it for error recovery purposes.
XDAS_Int32 IVIDDEC3_OutArgs::freeBufID[20] |
This is an array of inputID's corresponding to the buffers that have been unlocked in the current process call.
freeBuf
array.freeBufID
[0] will have a value of zero.XDAS_Int32 IVIDDEC3_OutArgs::outBufsInUseFlag |
Flag to indicate that the outBufs
provided with the IVIDDEC3_Fxns.process() call are in use. No outBufs
are required to be supplied with the next IVIDDEC3_Fxns.process() call.
XDAS_Int32 IVIDDEC3_OutArgs::displayBufsMode |
Indicates which mode the IVIDDEC3_OutArgs.displayBufs are presented in.
IVIDEO2_BufDesc IVIDDEC3_OutArgs::bufDesc[1] |
Array containing display frames corresponding to valid ID entries in the outputID
[] array.
numPlanes
, numMetaPlanes
.outputID
[], elements of this array are undefined if the corresponding outputID
[] element is zero (0). IVIDEO2_BufDesc* IVIDDEC3_OutArgs::pBufDesc[20] |
Array containing pointers to display frames corresponding to valid ID entries in the outputID
[] array.
union { ... } IVIDDEC3_OutArgs::displayBufs |
Display Buffers union.
@remarks This field is complex. The value in #IVIDDEC3_OutArgs.displayBufsMode indicates how the user should interact with this union field. If #IVIDDEC3_OutArgs.displayBufsMode is #IVIDDEC3_DISPLAYBUFS_EMBEDDED, this field should be referenced via the IVIDDEC3_OutArgs.bufDesc[] array who's number of elements is determined via the #IVIDDEC3_OutArgs.outputID[] array. If this field is #IVIDDEC3_DISPLAYBUFS_PTRS, this field should be referenced via the IVIDDEC3_OutArgs.pBufDesc[] array. @sa IVIDDEC3_OutArgs.bufDesc @sa IVIDDEC3_OutArgs.pBufDesc