IVIDENC2_DynamicParams Struct Reference
[IVIDENC2 - XDM Video Encoder Interface (Beta)]

This structure defines the algorithm parameters that can be modified after creation via control() calls. More...

#include <ividenc2.h>

Data Fields

XDAS_Int32 size
XDAS_Int32 inputHeight
XDAS_Int32 inputWidth
XDAS_Int32 refFrameRate
XDAS_Int32 targetFrameRate
XDAS_Int32 targetBitRate
XDAS_Int32 intraFrameInterval
XDAS_Int32 generateHeader
XDAS_Int32 captureWidth
XDAS_Int32 forceFrame
XDAS_Int32 interFrameInterval
XDAS_Int32 mvAccuracy
XDAS_Int32 sampleAspectRatioHeight
XDAS_Int32 sampleAspectRatioWidth
XDAS_Int32 ignoreOutbufSizeFlag
XDM_DataSyncPutFxn putDataFxn
XDM_DataSyncHandle putDataHandle
XDM_DataSyncGetFxn getDataFxn
XDM_DataSyncHandle getDataHandle
XDM_DataSyncGetBufferFxn getBufferFxn
XDM_DataSyncHandle getBufferHandle
XDAS_Int32 lateAcquireArg

Detailed Description

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.
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 also:
IVIDENC2_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.

Input frame height.

Input frame width.

Reference, or input, frame rate in fps * 1000.

Remarks:
For example, if ref frame rate is 30 frames per second, this field will be 30000.

Target frame rate in fps * 1000.

Remarks:
For example, if target frame rate is 30 frames per second, this field will be 30000.

Target bit rate in bits per second.

The number of frames between two I frames. For example, 30.

Remarks:
For example, this field will be:
  • 0 - Only first frame to be intra coded. e.g. IPPPPPP...
  • 1 - No inter frames (all intra frames).
  • 2 - Consecutive IPIPIP... sequence (if no B frames).
  • 3 - IPPIPP... or IPBIPBI... and so on.

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

DEFAULT(0): use imagewidth as pitch else use given capture width for pitch provided it is greater than image width.

Force the current (immediate) frame to be encoded as a specific frame type.

Remarks:
For example, this field will be:
  • IVIDEO_NA_FRAME - No forcing of any specific frame type for the frame.
  • IVIDEO_I_FRAME - Force the frame to be encoded as I frame.
  • IVIDEO_IDR_FRAME - Force the frame to be encoded as an IDR frame (specific to H.264 codecs).
  • IVIDEO_P_FRAME - Force the frame to be encoded as a P frame.
  • IVIDEO_B_FRAME - Force the frame to be encoded as a B frame.
See also:
IVIDEO_FrameType.

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

Remarks:
For example, this field will be:
  • 0 - to use maxInterFrameInterval.
  • 1 - 0 B frames between two reference frames.
  • 2 - 1 B frame between two reference frames.
  • 3 - 2 B frames between two reference frames.
  • and so on...
See also:
IVIDENC2_Params.maxInterFrameInterval.

Pixel Accuracy of the motion vector

Todo:
More details - what's the scale used for accuracy? Is it an enum?

sample aspect ratio: Height

Todo:
More details - what's the scale used for accuracy? Is it an enum?

sample aspect ratio: Width

Todo:
More details - what's the scale used for accuracy? Is it an enum?

Flag to indicate ...?

Todo:
Complete description. Original was "gives lesser output buffer size, don't return error"
Remarks:
Valid values are XDAS_TRUE and XDAS_FALSE.
Todo:
add details
Todo:
add details
Todo:
add details
Todo:
add details
Todo:
add details
Todo:
add details

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 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 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 2009, Texas Instruments Incorporated