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
Trait Implementations
source§impl Clone for TagEncParamExt
impl Clone for TagEncParamExt
source§fn clone(&self) -> TagEncParamExt
fn clone(&self) -> TagEncParamExt
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more