Struct openh264_sys::TagEncParamExt [] [src]

#[repr(C)]
pub struct TagEncParamExt { 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, }

@brief SVC Encoding Parameters extention

Fields

< application type;1.CAMERA_VIDEO_REAL_TIME:camera video signal;2.SCREEN_CONTENT_REAL_TIME:screen content signal;

< width of picture in luminance samples (the maximum of all layers if multiple spatial layers presents)

< height of picture in luminance samples((the maximum of all layers if multiple spatial layers presents)

< target bitrate desired, in unit of bps

< rate control mode

< maximal input frame rate

< temporal layer number, max temporal layer = 4

< spatial layer number,1<= iSpatialLayerNum <= MAX_SPATIAL_LAYER_NUM, MAX_SPATIAL_LAYER_NUM = 4

< period of Intra frame

< number of reference frame used

< different stategy in adjust ID in SPS/PPS: 0- constant ID, 1-additional ID, 6-mapping and additional

< false:not use Prefix NAL; true: use Prefix NAL

< false:not use SSEI; true: use SSEI -- TODO: planning to remove the interface of SSEI

< (when encoding more than 1 spatial layer) false: use SVC syntax for higher layers; true: use Simulcast AVC

< 0:disable padding;1:padding

< 0:CAVLC 1:CABAC.

< False: don't skip frame even if VBV buffer overflow.True: allow skipping frames to keep the bitrate within limits

< the maximum bitrate, in unit of bps, set it to UNSPECIFIED_BIT_RATE if not needed

< the maximum QP encoder supports

< the minmum QP encoder supports

< the maximum NAL size. This value should be not 0 for dynamic slice mode

< 1: on, 0: off

< the number of LTR(long term reference),TODO: not supported to set it arbitrary yet

< the LTR marked period that is used in feedback.

< 1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; lager than 1: count number of threads;

< 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

< 0: on, 1: off, 2: on except for slice boundaries

< AlphaOffset: valid range [-6, 6], default 0

< BetaOffset: valid range [-6, 6], default 0

< denoise control

< background detection control //VAA_BACKGROUND_DETECTION //BGD cmd

< adaptive quantization control

< enable frame cropping flag: TRUE always in application

< LTR advanced setting

Trait Implementations

impl Copy for TagEncParamExt
[src]

impl Clone for TagEncParamExt
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl Default for TagEncParamExt
[src]

[src]

Returns the "default value" for a type. Read more

Auto Trait Implementations