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
sourceimpl Clone for TagEncParamExt
impl Clone for TagEncParamExt
sourcefn clone(&self) -> TagEncParamExt
fn clone(&self) -> TagEncParamExt
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Default for TagEncParamExt
impl Default for TagEncParamExt
impl Copy for TagEncParamExt
Auto Trait Implementations
impl RefUnwindSafe for TagEncParamExt
impl Send for TagEncParamExt
impl Sync for TagEncParamExt
impl Unpin for TagEncParamExt
impl UnwindSafe for TagEncParamExt
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more