Data Fields

IVIDDEC3_DynamicParams Struct Reference
[IVIDDEC3 - XDM Video Decoder Interface]

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
XDAS_Int32 displayWidth
XDAS_Int32 frameSkipMode
XDAS_Int32 newFrameFlag
XDM_DataSyncPutFxn putDataFxn
XDM_DataSyncHandle putDataHandle
XDM_DataSyncGetFxn getDataFxn
XDM_DataSyncHandle getDataHandle
XDM_DataSyncPutBufferFxn putBufferFxn
XDM_DataSyncHandle putBufferHandle
XDAS_Int32 lateAcquireArg

Detailed Description

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.
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:
IVIDDEC3_Fxns::control()

Field Documentation

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

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.
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:
XDM_DecMode

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.

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.
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_FrameSkip

Flag to indicate that the algorithm should start a new frame.

Remarks:
Valid values are XDAS_TRUE and XDAS_FALSE.
This is useful for error recovery, for example when the end of frame cannot be detected by the codec but is known to the application.

Optional datasync "put data" function.

Remarks:
Apps/frameworks that don't support datasync should set this to NULL.
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.

Datasync "put data" handle

Remarks:
This is a handle which the codec must provide when calling the app-registered IVIDDEC3_DynamicParams.putDataFxn().
Apps/frameworks that don't support datasync should set this to NULL.
For an algorithm, this handle is read-only; it must not be modified when calling the app-registered IVIDDEC3_DynamicParams.putDataFxn().
The app/framework can use this handle to differentiate callbacks from different algorithms.

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.
Apps/frameworks that don't support datasync should set this to NULL.

Datasync "get data" handle

Remarks:
This is a handle which the codec must provide when calling getDataFxn.
Apps/frameworks that don't support datasync should set this to NULL.
For an algorithm, this handle is read-only; it must not be modified when calling the app-registered IVIDDEC3_DynamicParams.getDataFxn().
The app/framework can use this handle to differentiate callbacks from different algorithms.

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.
Apps/frameworks that don't support datasync should set this to NULL.

Datasync "put buffer" handle

Remarks:
This is a handle which the codec must provide when calling the app-registered IVIDDEC3_DynamicParam.putBufferFxn().
Apps/frameworks that don't support datasync should set this to NULL.
For an algorithm, this handle is read-only; it must not be modified when calling the app-registered IVIDDEC3_DynamicParams.putBufferFxn().
The app/framework can use this handle to differentiate callbacks from different algorithms.

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.
This field is used to provide the 'late acquire' arg required by XDM_SETLATEACQUIREARG.
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 lateAcquireArg value when requesting resources (i.e. during their call to acquire() when requesting the resource).

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