#[repr(C)]
pub struct TagEncParamExt {
Show 37 fields pub iUsageType: EUsageType, pub iPicWidth: c_int, pub iPicHeight: c_int, pub iTargetBitrate: c_int, pub iRCMode: RC_MODES, pub fMaxFrameRate: f32, pub iTemporalLayerNum: c_int, pub iSpatialLayerNum: c_int, pub sSpatialLayers: [SSpatialLayerConfig; 4], pub iComplexityMode: ECOMPLEXITY_MODE, pub uiIntraPeriod: c_uint, pub iNumRefFrame: c_int, pub eSpsPpsIdStrategy: EParameterSetStrategy, pub bPrefixNalAddingCtrl: bool, pub bEnableSSEI: bool, pub bSimulcastAVC: bool, pub iPaddingFlag: c_int, pub iEntropyCodingModeFlag: c_int, pub bEnableFrameSkip: bool, pub iMaxBitrate: c_int, pub iMaxQp: c_int, pub iMinQp: c_int, pub uiMaxNalSize: c_uint, pub bEnableLongTermReference: bool, pub iLTRRefNum: c_int, pub iLtrMarkPeriod: c_uint, pub iMultipleThreadIdc: c_ushort, pub bUseLoadBalancing: bool, pub iLoopFilterDisableIdc: c_int, pub iLoopFilterAlphaC0Offset: c_int, pub iLoopFilterBetaOffset: c_int, pub bEnableDenoise: bool, pub bEnableBackgroundDetection: bool, pub bEnableAdaptiveQuant: bool, pub bEnableFrameCroppingFlag: bool, pub bEnableSceneChangeDetect: bool, pub bIsLosslessLink: bool,
}
Expand description

@brief SVC Encoding Parameters extention

Fields

iUsageType: EUsageType

< same as in TagEncParamBase

iPicWidth: c_int

< same as in TagEncParamBase

iPicHeight: c_int

< same as in TagEncParamBase

iTargetBitrate: c_int

< same as in TagEncParamBase

iRCMode: RC_MODES

< same as in TagEncParamBase

fMaxFrameRate: f32

< same as in TagEncParamBase

iTemporalLayerNum: c_int

< temporal layer number, max temporal layer = 4

iSpatialLayerNum: c_int

< spatial layer number,1<= iSpatialLayerNum <= MAX_SPATIAL_LAYER_NUM, MAX_SPATIAL_LAYER_NUM = 4

sSpatialLayers: [SSpatialLayerConfig; 4]iComplexityMode: ECOMPLEXITY_MODEuiIntraPeriod: c_uint

< period of Intra frame

iNumRefFrame: c_int

< number of reference frame used

eSpsPpsIdStrategy: EParameterSetStrategy

< different stategy in adjust ID in SPS/PPS: 0- constant ID, 1-additional ID, 6-mapping and additional

bPrefixNalAddingCtrl: bool

< false:not use Prefix NAL; true: use Prefix NAL

bEnableSSEI: bool

< false:not use SSEI; true: use SSEI – TODO: planning to remove the interface of SSEI

bSimulcastAVC: bool

< (when encoding more than 1 spatial layer) false: use SVC syntax for higher layers; true: use Simulcast AVC

iPaddingFlag: c_int

< 0:disable padding;1:padding

iEntropyCodingModeFlag: c_int

< 0:CAVLC 1:CABAC.

bEnableFrameSkip: bool

< False: don’t skip frame even if VBV buffer overflow.True: allow skipping frames to keep the bitrate within limits

iMaxBitrate: c_int

< the maximum bitrate, in unit of bps, set it to UNSPECIFIED_BIT_RATE if not needed

iMaxQp: c_int

< the maximum QP encoder supports

iMinQp: c_int

< the minmum QP encoder supports

uiMaxNalSize: c_uint

< the maximum NAL size. This value should be not 0 for dynamic slice mode

bEnableLongTermReference: bool

< 1: on, 0: off

iLTRRefNum: c_int

< the number of LTR(long term reference),TODO: not supported to set it arbitrary yet

iLtrMarkPeriod: c_uint

< the LTR marked period that is used in feedback.

iMultipleThreadIdc: c_ushort

< 1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; lager than 1: count number of threads;

bUseLoadBalancing: bool

< only used when uiSliceMode=1 or 3, will change slicing of a picture during the run-time of multi-thread encoding, so the result of each run may be different

iLoopFilterDisableIdc: c_int

< 0: on, 1: off, 2: on except for slice boundaries

iLoopFilterAlphaC0Offset: c_int

< AlphaOffset: valid range [-6, 6], default 0

iLoopFilterBetaOffset: c_int

< BetaOffset: valid range [-6, 6], default 0

bEnableDenoise: bool

< denoise control

bEnableBackgroundDetection: bool

< background detection control //VAA_BACKGROUND_DETECTION //BGD cmd

bEnableAdaptiveQuant: bool

< adaptive quantization control

bEnableFrameCroppingFlag: bool

< enable frame cropping flag: TRUE always in application

bEnableSceneChangeDetect: boolbIsLosslessLink: bool

< LTR advanced setting

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.