Struct openh264_sys2::TagEncParamExt
source · #[repr(C)]pub struct TagEncParamExt {Show 39 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,
pub bFixRCOverShoot: bool,
pub iIdrBitrateRatio: c_int,
}
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
bFixRCOverShoot: bool
< fix rate control overshooting
iIdrBitrateRatio: c_int
< the target bits of IDR is (idr_bitrate_ratio/100) * average target bit per frame.
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 moresource§impl Debug for TagEncParamExt
impl Debug for TagEncParamExt
source§impl Default for TagEncParamExt
impl Default for TagEncParamExt
source§impl PartialEq for TagEncParamExt
impl PartialEq for TagEncParamExt
source§fn eq(&self, other: &TagEncParamExt) -> bool
fn eq(&self, other: &TagEncParamExt) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for TagEncParamExt
impl PartialOrd for TagEncParamExt
source§fn partial_cmp(&self, other: &TagEncParamExt) -> Option<Ordering>
fn partial_cmp(&self, other: &TagEncParamExt) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more