Codec Engine Application Programming Interface (API)  ce-w08
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
IVIDENC2_Status Struct Reference

Defines instance status parameters. More...

#include <ividenc2.h>

Collaboration diagram for IVIDENC2_Status:
Collaboration graph

Data Fields

XDAS_Int32 size
XDAS_Int32 extendedError
 Extended error information.
XDM1_SingleBufDesc data
XDAS_Int32 encodingPreset
XDAS_Int32 rateControlPreset
 Video rate control presets.
XDAS_Int32 maxInterFrameInterval
XDAS_Int32 inputChromaFormat
XDAS_Int32 inputContentType
XDAS_Int32 operatingMode
XDAS_Int32 profile
XDAS_Int32 level
XDAS_Int32 inputDataMode
XDAS_Int32 outputDataMode
XDAS_Int32 numInputDataUnits
XDAS_Int32 numOutputDataUnits
XDAS_Int32 configurationID
XDM1_AlgBufInfo bufInfo
XDAS_Int32 metadataType [3]
IVIDENC2_DynamicParams encDynamicParams

Detailed Description

Defines instance status parameters.

@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.
Remarks:
The 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.
@sa         IVIDENC2_Fxns::control()

Field Documentation

XDAS_Int32 IVIDENC2_Status::size

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

XDAS_Int32 IVIDENC2_Status::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
XDM1_SingleBufDesc IVIDENC2_Status::data

Buffer descriptor for data passing.

                                @remarks   If this field is not used,
                                           the application <b>must</b>
                                           set @c data.buf to NULL.

                                @remarks   This buffer can be used as
                                           either input or output,
                                           depending on the command.

                                @remarks   The buffer will be provided
                                           by the application, and
                                           returned to the application
                                           upon return of the
                                           IVIDENC2_Fxns.control()
                                           call.  The algorithm must
                                           not retain a pointer to this
                                           data.

                                @sa #XDM_GETVERSION
XDAS_Int32 IVIDENC2_Status::encodingPreset

Encoding preset.

XDAS_Int32 IVIDENC2_Status::rateControlPreset

Video rate control presets.

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

@remarks 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

                                 @sa IVIDEO_RateControlPreset
XDAS_Int32 IVIDENC2_Status::maxInterFrameInterval

I to P frame distance. e.g. = 1 if no B frames, 2 to insert one B frame.

Remarks:
This is used for setting the maximum number of B frames between two refererence frames.
XDAS_Int32 IVIDENC2_Status::inputChromaFormat

Chroma format for the input buffer.

                                @sa XDM_ChromaFormat
XDAS_Int32 IVIDENC2_Status::inputContentType

Video content type of the buffer being encoded.

See also:
IVIDEO_ContentType
XDAS_Int32 IVIDENC2_Status::operatingMode

Video encoding mode of operation.

                                @sa IVIDEO_OperatingMode
XDAS_Int32 IVIDENC2_Status::profile

Profile indicator of video codec.

                                @sa IVIDENC2_DEFAULTPROFILE
                                @sa IVIDENC2_Params.profile
XDAS_Int32 IVIDENC2_Status::level

Level indicator of video codec.

                                @sa IVIDENC2_DEFAULTLEVEL
                                @sa IVIDENC2_Params.level
XDAS_Int32 IVIDENC2_Status::inputDataMode

Input data mode.

                                @sa IVIDENC2_Params.inputDataMode
                                @sa IVIDEO_DataMode
XDAS_Int32 IVIDENC2_Status::outputDataMode

Output data mode.

                                @sa IVIDENC2_Params.outputDataMode
                                @sa IVIDEO_DataMode
XDAS_Int32 IVIDENC2_Status::numInputDataUnits

Number of input slices/rows.

                                @remarks   Units depend on the
                                           IVIDENC2_Params.inputDataMode,
                                           like number of
                                           slices/rows/blocks etc.

                                @remarks   Ignored if
                                           IVIDENC2_Params.inputDataMode
                                           is set to full frame mode.

                                @sa IVIDENC2_Params.inputDataMode
XDAS_Int32 IVIDENC2_Status::numOutputDataUnits

Number of output slices/rows.

                                @remarks  Units depend on the
                                          @c outputDataMode, like number of
                                          slices/rows/blocks etc.

                                @remarks   Ignored if
                                           IVIDENC2_Params.outputDataMode
                                           is set to full frame mode.

                                @sa IVIDENC2_Params.outputDataMode
XDAS_Int32 IVIDENC2_Status::configurationID

Configuration ID of given codec.

                                @remarks   This is used to differentiate
                                           multiple images of a vendor.
                                           It can be used by the
                                           framework to optimize the
                                           save/restore overhead of any
                                           resources used.

                                @remarks   This can be useful in
                                           multichannel use case
                                           scenarios.
XDM1_AlgBufInfo IVIDENC2_Status::bufInfo

Input and output buffer information.

                                @remarks   This field provides the
                                           application with the algorithm's
                                           buffer requirements.  The
                                           requirements may vary depending
                                           on the current configuration
                                           of the algorithm instance.

                                @sa IVIDENC2_Params
                                @sa XDM1_AlgBufInfo
                                @sa IVIDENC2_Fxns.process()
XDAS_Int32 IVIDENC2_Status::metadataType[3]

Type of each metadata plane.

See also:
IVIDEO_MetadataType
IVIDENC2_DynamicParams IVIDENC2_Status::encDynamicParams

Video encoder dynamic parameters.

Todo:
Need to better wordsmith this section.
Remarks:
In case of extened dynamic Params, alg can check the size of status or DynamicParams and return the parameters accordingly.

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