Struct openh264_sys2::TagEncParamExt
source · #[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_MODE
§uiIntraPeriod: 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: 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