![]() |
![]() |
Codec Engine Application Programming Interface (API)
ce-w08
|
This structure defines the algorithm parameters that can be modified after creation via IVIDDEC3_Fxns.control() calls. More...
#include <ividdec3.h>
Data Fields | |
XDAS_Int32 | size |
XDAS_Int32 | decodeHeader |
Decode entire access unit or only header. | |
XDAS_Int32 | displayWidth |
XDAS_Int32 | frameSkipMode |
Video frame skip features for video decoder. | |
XDAS_Int32 | newFrameFlag |
XDM_DataSyncPutFxn | putDataFxn |
XDM_DataSyncHandle | putDataHandle |
XDM_DataSyncGetFxn | getDataFxn |
XDM_DataSyncHandle | getDataHandle |
XDM_DataSyncPutBufferFxn | putBufferFxn |
XDM_DataSyncHandle | putBufferHandle |
XDAS_Int32 | lateAcquireArg |
This structure defines the algorithm parameters that can be modified after creation via IVIDDEC3_Fxns.control() calls.
@remarks It is not necessary that a given implementation support all dynamic parameters to be configurable at run time. If a particular algorithm does not support run-time updates to a parameter that the application is attempting to change at runtime, it may indicate this as an error. @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. @sa IVIDDEC3_Fxns::control()
XDAS_Int32 IVIDDEC3_DynamicParams::size |
Size of this structure in bytes. Because this structure can be extended, this field must be correctly set by the caller.
XDAS_Int32 IVIDDEC3_DynamicParams::decodeHeader |
Decode entire access unit or only header.
@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.
@sa XDM_DecMode
XDAS_Int32 IVIDDEC3_DynamicParams::displayWidth |
Pitch. If set to zero, use the decoded image width. Else, use given display width in pixels. Display width has to be greater than or equal to image width.
XDAS_Int32 IVIDDEC3_DynamicParams::frameSkipMode |
Video frame skip features for video decoder.
@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.
@sa IVIDEO_FrameSkip
XDAS_Int32 IVIDDEC3_DynamicParams::newFrameFlag |
Flag to indicate that the algorithm should start a new frame.
XDM_DataSyncPutFxn IVIDDEC3_DynamicParams::putDataFxn |
Optional datasync "put data" function.
@remarks Apps/frameworks that don't support datasync should set this to NULL. @remarks This function is provided by the app/framework to the video decoder. The decoder calls this function when sub-frame data has been put into an output buffer and is available.
XDM_DataSyncHandle IVIDDEC3_DynamicParams::putDataHandle |
Datasync "put data" handle
@remarks This is a handle which the codec must provide when calling the app-registered IVIDDEC3_DynamicParams.putDataFxn(). @remarks Apps/frameworks that don't support datasync should set this to NULL. @remarks For an algorithm, this handle is read-only; it must not be modified when calling the app-registered IVIDDEC3_DynamicParams.putDataFxn(). @remarks The app/framework can use this handle to differentiate callbacks from different algorithms.
XDM_DataSyncGetFxn IVIDDEC3_DynamicParams::getDataFxn |
Datasync "get data" function.
@remarks This function is provided by the app/framework to the video decoder. The decoder calls this function to get partial compressed bit-stream data from the app/framework. @remarks Apps/frameworks that don't support datasync should set this to NULL.
XDM_DataSyncHandle IVIDDEC3_DynamicParams::getDataHandle |
Datasync "get data" handle
@remarks This is a handle which the codec must provide when calling @c getDataFxn. @remarks Apps/frameworks that don't support datasync should set this to NULL. @remarks For an algorithm, this handle is read-only; it must not be modified when calling the app-registered IVIDDEC3_DynamicParams.getDataFxn(). @remarks The app/framework can use this handle to differentiate callbacks from different algorithms.
XDM_DataSyncPutBufferFxn IVIDDEC3_DynamicParams::putBufferFxn |
Datasync "put buffer" function.
@remarks This function is provided by the app/framework to the video decoder. The decoder calls this function to release consumed, partial compressed bit-stream data buffers to the app/framework. @remarks Apps/frameworks that don't support datasync should set this to NULL.
XDM_DataSyncHandle IVIDDEC3_DynamicParams::putBufferHandle |
Datasync "put buffer" handle
@remarks This is a handle which the codec must provide when calling the app-registered IVIDDEC3_DynamicParam.putBufferFxn(). @remarks Apps/frameworks that don't support datasync should set this to NULL. @remarks For an algorithm, this handle is read-only; it must not be modified when calling the app-registered IVIDDEC3_DynamicParams.putBufferFxn(). @remarks The app/framework can use this handle to differentiate callbacks from different algorithms.
XDAS_Int32 IVIDDEC3_DynamicParams::lateAcquireArg |
Argument used during late acquire.
@remarks For all control() commands other than #XDM_SETLATEACQUIREARG, this field is ignored and can therefore be set by the caller to any value. @remarks This field is used to provide the 'late acquire' arg required by #XDM_SETLATEACQUIREARG. @remarks Late acquire support is an optional feature for video decoders. If the codec supports late acquisition of resources, and the application has supplied a lateAcquireArg value (via #XDM_SETLATEACQUIREARG), then the codec must also provide this @c lateAcquireArg value when requesting resources (i.e. during their call to acquire() when requesting the resource).