Type Alias openh264_sys2::SEncParamExt
source · pub type SEncParamExt = TagEncParamExt;Expand description
@brief SVC Encoding Parameters extention
Aliased Type§
struct SEncParamExt {Show 37 fields
pub iUsageType: i32,
pub iPicWidth: i32,
pub iPicHeight: i32,
pub iTargetBitrate: i32,
pub iRCMode: i32,
pub fMaxFrameRate: f32,
pub iTemporalLayerNum: i32,
pub iSpatialLayerNum: i32,
pub sSpatialLayers: [SSpatialLayerConfig; 4],
pub iComplexityMode: i32,
pub uiIntraPeriod: u32,
pub iNumRefFrame: i32,
pub eSpsPpsIdStrategy: i32,
pub bPrefixNalAddingCtrl: bool,
pub bEnableSSEI: bool,
pub bSimulcastAVC: bool,
pub iPaddingFlag: i32,
pub iEntropyCodingModeFlag: i32,
pub bEnableFrameSkip: bool,
pub iMaxBitrate: i32,
pub iMaxQp: i32,
pub iMinQp: i32,
pub uiMaxNalSize: u32,
pub bEnableLongTermReference: bool,
pub iLTRRefNum: i32,
pub iLtrMarkPeriod: u32,
pub iMultipleThreadIdc: u16,
pub bUseLoadBalancing: bool,
pub iLoopFilterDisableIdc: i32,
pub iLoopFilterAlphaC0Offset: i32,
pub iLoopFilterBetaOffset: i32,
pub bEnableDenoise: bool,
pub bEnableBackgroundDetection: bool,
pub bEnableAdaptiveQuant: bool,
pub bEnableFrameCroppingFlag: bool,
pub bEnableSceneChangeDetect: bool,
pub bIsLosslessLink: bool,
}Fields§
§iUsageType: i32< same as in TagEncParamBase
iPicWidth: i32< same as in TagEncParamBase
iPicHeight: i32< same as in TagEncParamBase
iTargetBitrate: i32< same as in TagEncParamBase
iRCMode: i32< same as in TagEncParamBase
fMaxFrameRate: f32< same as in TagEncParamBase
iTemporalLayerNum: i32< temporal layer number, max temporal layer = 4
iSpatialLayerNum: i32< spatial layer number,1<= iSpatialLayerNum <= MAX_SPATIAL_LAYER_NUM, MAX_SPATIAL_LAYER_NUM = 4
sSpatialLayers: [SSpatialLayerConfig; 4]§iComplexityMode: i32§uiIntraPeriod: u32< period of Intra frame
iNumRefFrame: i32< number of reference frame used
eSpsPpsIdStrategy: i32< 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: i32< 0:disable padding;1:padding
iEntropyCodingModeFlag: i32< 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: i32< the maximum bitrate, in unit of bps, set it to UNSPECIFIED_BIT_RATE if not needed
iMaxQp: i32< the maximum QP encoder supports
iMinQp: i32< the minmum QP encoder supports
uiMaxNalSize: u32< the maximum NAL size. This value should be not 0 for dynamic slice mode
bEnableLongTermReference: bool< 1: on, 0: off
iLTRRefNum: i32< the number of LTR(long term reference),TODO: not supported to set it arbitrary yet
iLtrMarkPeriod: u32< the LTR marked period that is used in feedback.
iMultipleThreadIdc: u16< 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: i32< 0: on, 1: off, 2: on except for slice boundaries
iLoopFilterAlphaC0Offset: i32< AlphaOffset: valid range [-6, 6], default 0
iLoopFilterBetaOffset: i32< 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: bool§bIsLosslessLink: bool< LTR advanced setting