![]() |
![]() |
Codec Engine Application Programming Interface (API)
ce-w08
|
This structure defines the algorithm parameters that can be modified after creation via control() calls. More...
#include <ividenc2.h>
This structure defines the algorithm parameters that can be modified after creation via 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 IVIDENC2_Fxns::control()
XDAS_Int32 IVIDENC2_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 IVIDENC2_DynamicParams::inputHeight |
Input frame height.
XDAS_Int32 IVIDENC2_DynamicParams::inputWidth |
Input frame width.
XDAS_Int32 IVIDENC2_DynamicParams::refFrameRate |
Reference, or input, frame rate in fps * 1000.
XDAS_Int32 IVIDENC2_DynamicParams::targetFrameRate |
Target frame rate in fps * 1000.
XDAS_Int32 IVIDENC2_DynamicParams::targetBitRate |
Target bit rate in bits per second.
XDAS_Int32 IVIDENC2_DynamicParams::intraFrameInterval |
The number of frames between two I frames. For example, 30.
XDAS_Int32 IVIDENC2_DynamicParams::generateHeader |
Encode 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_EncMode
XDAS_Int32 IVIDENC2_DynamicParams::captureWidth |
DEFAULT(0): use imagewidth as pitch else use given capture width for pitch provided it is greater than image width.
XDAS_Int32 IVIDENC2_DynamicParams::forceFrame |
Force the current (immediate) frame to be encoded as a specific frame type.
XDAS_Int32 IVIDENC2_DynamicParams::interFrameInterval |
Number of B frames between two reference frames; that is, the number of B frames between two P frames or I/P frames. DEFAULT(0).
XDAS_Int32 IVIDENC2_DynamicParams::mvAccuracy |
Pixel Accuracy of the motion vector
@remarks This parameter allows the user to tune performance by controlling the complexity of motion estimation and compensation within the video encoder. @sa IVIDENC2_MotionVectorAccuracy
XDAS_Int32 IVIDENC2_DynamicParams::sampleAspectRatioHeight |
Sample aspect ratio: Height
@remarks This parameter is used to describe the desired aspect ratio in the bitstream.
XDAS_Int32 IVIDENC2_DynamicParams::sampleAspectRatioWidth |
Sample aspect ratio: Width
@remarks This parameter is used to describe the desired aspect ratio in the bitstream.
XDAS_Int32 IVIDENC2_DynamicParams::ignoreOutbufSizeFlag |
Flag to indicate that the application has ignored the output buffer size requirement.
ignoreOutbufSizeFlag
field to XDAS_TRUE. When this flag is set to XDAS_TRUE, the encoder shouldn't return an error even if the output buffer size is less than requested by the codec.XDM_DataSyncPutFxn IVIDENC2_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 encoder. The encoder calls this function when data has been put into an output buffer.
XDM_DataSyncHandle IVIDENC2_DynamicParams::putDataHandle |
Datasync "put data" handle
@remarks This is a handle which the codec must provide when calling the app-registered IVIDENC2_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 IVIDENC2_DynamicParams.putDataFxn(). @remarks The app/framework can use this handle to differentiate callbacks from different algorithms.
XDM_DataSyncGetFxn IVIDENC2_DynamicParams::getDataFxn |
Datasync "get data" function.
@remarks This function is provided by the app/framework to the video encoder. The encoder calls this function to get partial video buffer(s) from the app/framework. @remarks Apps/frameworks that don't support datasync should set this to NULL.
XDM_DataSyncHandle IVIDENC2_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 IVIDENC2_DynamicParams.getDataFxn(). @remarks The app/framework can use this handle to differentiate callbacks from different algorithms.
XDM_DataSyncGetBufferFxn IVIDENC2_DynamicParams::getBufferFxn |
Datasync "get buffer" function.
@remarks This function is provided by the app/framework to the video encoder. The encoder calls this function to obtain partial compressed bit-stream data buffers from the app/framework. @remarks Apps/frameworks that don't support datasync should set this to NULL.
XDM_DataSyncHandle IVIDENC2_DynamicParams::getBufferHandle |
Datasync "get buffer" handle
@remarks This is a handle which the codec must provide when calling the app-registered IVIDENC2_DynamicParam.getBufferFxn(). @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 IVIDENC2_DynamicParams.getBufferFxn(). @remarks The app/framework can use this handle to differentiate callbacks from different algorithms.
XDAS_Int32 IVIDENC2_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 encoders. 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).