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

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

#include <ividtranscode.h>

Collaboration diagram for IVIDTRANSCODE_DynamicParams:
Collaboration graph

Data Fields

XDAS_Int32 size
XDAS_Int32 readHeaderOnlyFlag
XDAS_Int32 keepInputResolutionFlag [2]
XDAS_Int32 outputHeight [2]
XDAS_Int32 outputWidth [2]
XDAS_Int32 keepInputFrameRateFlag [2]
XDAS_Int32 inputFrameRate
XDAS_Int32 outputFrameRate [2]
XDAS_Int32 targetBitRate [2]
XDAS_Int32 rateControl [2]
XDAS_Int32 keepInputGOPFlag [2]
XDAS_Int32 intraFrameInterval [2]
XDAS_Int32 interFrameInterval [2]
XDAS_Int32 forceFrame [2]
XDAS_Int32 frameSkipTranscodeFlag [2]

Detailed Description

This structure defines the codec 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.
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         IVIDTRANSCODE_Fxns::control()

Field Documentation

XDAS_Int32 IVIDTRANSCODE_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 IVIDTRANSCODE_DynamicParams::readHeaderOnlyFlag

Read the seq header, populate outargs, and return.

Remarks:
Possible values XDAS_TRUE, XDAS_FALSE
XDAS_Int32 IVIDTRANSCODE_DynamicParams::keepInputResolutionFlag[2]

Flag for each transcoded stream to indicate if the output frame resolution is to be kept equal to the input frame resolution (i.e. no resolution change).

Remarks:
Possible values XDAS_TRUE, XDAS_FALSE
XDAS_Int32 IVIDTRANSCODE_DynamicParams::outputHeight[2]

Output frame height for each of the transcoded outputs.

Remarks:
Used for scaling.
This field is ignored when the keepInputResolutionFlag is set to XDAS_TRUE.
XDAS_Int32 IVIDTRANSCODE_DynamicParams::outputWidth[2]

Output frame for each of the transcoded outputs.

Remarks:
Used for scaling.
This field is ignored when the keepInputResolution is set to XDAS_TRUE.
XDAS_Int32 IVIDTRANSCODE_DynamicParams::keepInputFrameRateFlag[2]

Flag for each transcoded stream to indicate if the input frame rate is to be maintained (i.e., no frame rate change).

Remarks:
Possible values XDAS_TRUE, XDAS_FALSE
XDAS_Int32 IVIDTRANSCODE_DynamicParams::inputFrameRate

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.
This field is ignored when the keepInputFramerate field is set to XDAS_TRUE.
XDAS_Int32 IVIDTRANSCODE_DynamicParams::outputFrameRate[2]

Target frame rate in fps * 1000, for each of the transcoded outputs.

Remarks:
For example, if target frame rate is 30 frames per second, this field will be 30000.
This field is ignored when the keepInputFramerate field is set to XDAS_TRUE.
XDAS_Int32 IVIDTRANSCODE_DynamicParams::targetBitRate[2]

Target bit rate in bits per second, for each of the transcoded outputs.

XDAS_Int32 IVIDTRANSCODE_DynamicParams::rateControl[2]

Rate control related selection for each of the transcoded outputs.

See also:
IVIDEO_RateControlPreset
XDAS_Int32 IVIDTRANSCODE_DynamicParams::keepInputGOPFlag[2]

Retain the input GOP structure (to the extent possible) flag for each transcoded output.

Remarks:
Possible values are XDAS_TRUE, and XDAS_FALSE.
XDAS_Int32 IVIDTRANSCODE_DynamicParams::intraFrameInterval[2]

I frame interval for each of the transcoded outputs.

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.
This field is ignored when the keepInputGOP field is set to XDAS_TRUE.
XDAS_Int32 IVIDTRANSCODE_DynamicParams::interFrameInterval[2]

Number of B frames between two reference frames for each of the transcoded output.

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:
IVIDTRANSCODE_Params.maxInterFrameInterval.
Remarks:
This field is ignored when the keepInputGOP field is set to XDAS_TRUE.
XDAS_Int32 IVIDTRANSCODE_DynamicParams::forceFrame[2]

Force the current (immediate) frame within the specific transcoded output 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.
Remarks:
This field is ignored when the keepInputGOPFlag field is set to XDAS_TRUE.
XDAS_Int32 IVIDTRANSCODE_DynamicParams::frameSkipTranscodeFlag[2]

A flag per transcoded output to enforce a frame skip.

Remarks:
Possible values XDAS_TRUE, XDAS_FALSE
This field is ignored when the keepInputGOPFlag field is set to XDAS_TRUE.
See also:
IVIDEO_FrameSkipTranscode

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