cleanup encoder parameters
This commit is contained in:
parent
abc2495f2f
commit
c79e78c4fb
@ -193,7 +193,7 @@ typedef struct TagEncParamBase{
|
|||||||
|
|
||||||
typedef struct TagEncParamExt
|
typedef struct TagEncParamExt
|
||||||
{
|
{
|
||||||
int iUsageType; //enable_screen_content_signal;// 0: //camera video signal; 1: screen content signal;
|
int iUsageType; //application type;// 0: //camera video signal; 1: screen content signal;
|
||||||
int iInputCsp; // color space of input sequence
|
int iInputCsp; // color space of input sequence
|
||||||
|
|
||||||
int iPicWidth; // width of picture in samples
|
int iPicWidth; // width of picture in samples
|
||||||
@ -204,47 +204,45 @@ typedef struct TagEncParamExt
|
|||||||
|
|
||||||
int iTemporalLayerNum; // layer number at temporal level
|
int iTemporalLayerNum; // layer number at temporal level
|
||||||
int iSpatialLayerNum; // layer number at spatial level
|
int iSpatialLayerNum; // layer number at spatial level
|
||||||
|
SSpatialLayerConfig sSpatialLayers[MAX_SPATIAL_LAYER_NUM];
|
||||||
|
|
||||||
unsigned int uiIntraPeriod; // period of Intra frame
|
unsigned int uiIntraPeriod; // period of Intra frame
|
||||||
|
int iNumRefFrame; // number of reference frame used
|
||||||
|
unsigned int uiFrameToBeCoded; // frame to be encoded (at input frame rate)
|
||||||
bool bEnableSpsPpsIdAddition;
|
bool bEnableSpsPpsIdAddition;
|
||||||
bool bPrefixNalAddingCtrl;
|
bool bPrefixNalAddingCtrl;
|
||||||
bool bEnableDenoise; // denoise control
|
bool bEnableSSEI;
|
||||||
bool bEnableBackgroundDetection;// background detection control //VAA_BACKGROUND_DETECTION //BGD cmd
|
|
||||||
bool bEnableAdaptiveQuant; // adaptive quantization control
|
/* rc control */
|
||||||
|
bool bEnableRc;
|
||||||
bool bEnableFrameSkip; // allow skipping frames to keep the bitrate within limits
|
bool bEnableFrameSkip; // allow skipping frames to keep the bitrate within limits
|
||||||
bool bEnableCropPic; // enable cropping source picture. 8/25/2010
|
int iMaxQp;
|
||||||
// false: Streaming Video Sharing; true: Video Conferencing Meeting;
|
int iMinQp;
|
||||||
|
|
||||||
|
/*LTR settings*/
|
||||||
bool bEnableLongTermReference; // 0: on, 1: off
|
bool bEnableLongTermReference; // 0: on, 1: off
|
||||||
|
int iLTRRefNum;
|
||||||
int iLtrMarkPeriod;
|
int iLtrMarkPeriod;
|
||||||
int iPaddingFlag; // 0:disable padding;1:padding
|
int iPaddingFlag; // 0:disable padding;1:padding
|
||||||
int iEtropyCodingModeFlag;
|
int iEtropyCodingModeFlag;
|
||||||
|
|
||||||
SSpatialLayerConfig sSpatialLayers[MAX_SPATIAL_LAYER_NUM];
|
|
||||||
int iNumRefFrame; // number of reference frame used
|
|
||||||
unsigned int uiFrameToBeCoded; // frame to be encoded (at input frame rate)
|
|
||||||
bool bEnableRc;
|
|
||||||
short iMultipleThreadIdc; // 1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; > 1: count number of threads;
|
short iMultipleThreadIdc; // 1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; > 1: count number of threads;
|
||||||
short iCountThreadsNum; // # derived from disable_multiple_slice_idc (=0 or >1) means;
|
short iCountThreadsNum; // # derived from disable_multiple_slice_idc (=0 or >1) means;
|
||||||
|
|
||||||
int iLTRRefNum;
|
/* Deblocking loop filter */
|
||||||
bool bEnableSSEI;
|
|
||||||
bool bEnableFrameCroppingFlag;// enable frame cropping flag: TRUE always in application
|
|
||||||
|
|
||||||
/* Deblocking loop filter */
|
|
||||||
int iLoopFilterDisableIdc; // 0: on, 1: off, 2: on except for slice boundaries
|
int iLoopFilterDisableIdc; // 0: on, 1: off, 2: on except for slice boundaries
|
||||||
int iLoopFilterAlphaC0Offset;// AlphaOffset: valid range [-6, 6], default 0
|
int iLoopFilterAlphaC0Offset;// AlphaOffset: valid range [-6, 6], default 0
|
||||||
|
|
||||||
int iLoopFilterBetaOffset; // BetaOffset: valid range [-6, 6], default 0
|
int iLoopFilterBetaOffset; // BetaOffset: valid range [-6, 6], default 0
|
||||||
int iInterLayerLoopFilterDisableIdc; // Employed based upon inter-layer, same comment as above
|
int iInterLayerLoopFilterDisableIdc; // Employed based upon inter-layer, same comment as above
|
||||||
int iInterLayerLoopFilterAlphaC0Offset; // InterLayerLoopFilterAlphaC0Offset
|
int iInterLayerLoopFilterAlphaC0Offset; // InterLayerLoopFilterAlphaC0Offset
|
||||||
int iInterLayerLoopFilterBetaOffset; // InterLayerLoopFilterBetaOffset
|
int iInterLayerLoopFilterBetaOffset; // InterLayerLoopFilterBetaOffset
|
||||||
bool bEnableSceneChangeDetect;
|
|
||||||
|
|
||||||
//added
|
|
||||||
int iMaxQp;
|
|
||||||
int iMinQp;
|
|
||||||
|
|
||||||
|
/*pre-processing feature*/
|
||||||
|
bool bEnableDenoise; // denoise control
|
||||||
|
bool bEnableBackgroundDetection;// background detection control //VAA_BACKGROUND_DETECTION //BGD cmd
|
||||||
|
bool bEnableAdaptiveQuant; // adaptive quantization control
|
||||||
|
bool bEnableFrameCroppingFlag;// enable frame cropping flag: TRUE always in application
|
||||||
|
bool bEnableSceneChangeDetect;
|
||||||
}SEncParamExt;
|
}SEncParamExt;
|
||||||
|
|
||||||
//Define a new struct to show the property of video bitstream.
|
//Define a new struct to show the property of video bitstream.
|
||||||
|
@ -172,7 +172,6 @@ void FillDefault (const bool kbEnableRc) {
|
|||||||
true; // Strategy of have MGS only at T0 frames (0: do not use this strategy; 1: use this strategy)
|
true; // Strategy of have MGS only at T0 frames (0: do not use this strategy; 1: use this strategy)
|
||||||
bEnableSSEI = true;
|
bEnableSSEI = true;
|
||||||
bEnableFrameCroppingFlag = true; // enable frame cropping flag: true alwayse in application
|
bEnableFrameCroppingFlag = true; // enable frame cropping flag: true alwayse in application
|
||||||
bEnableCropPic = true; // enable cropping source picture. , 8/25/2010
|
|
||||||
// false: Streaming Video Sharing; true: Video Conferencing Meeting;
|
// false: Streaming Video Sharing; true: Video Conferencing Meeting;
|
||||||
iDecompStages = 0; // GOP size dependency, unknown here and be revised later
|
iDecompStages = 0; // GOP size dependency, unknown here and be revised later
|
||||||
|
|
||||||
@ -340,9 +339,6 @@ int32_t ParamTranscode (const SEncParamExt& pCodingParam) {
|
|||||||
/* Frame skipping */
|
/* Frame skipping */
|
||||||
bEnableFrameSkip = pCodingParam.bEnableFrameSkip ? true : false;
|
bEnableFrameSkip = pCodingParam.bEnableFrameSkip ? true : false;
|
||||||
|
|
||||||
/* Enable cropping source picture */
|
|
||||||
bEnableCropPic = pCodingParam.bEnableCropPic ? true : false;
|
|
||||||
|
|
||||||
/* Enable int32_t term reference */
|
/* Enable int32_t term reference */
|
||||||
bEnableLongTermReference = pCodingParam.bEnableLongTermReference ? true : false;
|
bEnableLongTermReference = pCodingParam.bEnableLongTermReference ? true : false;
|
||||||
iLtrMarkPeriod = pCodingParam.iLtrMarkPeriod;
|
iLtrMarkPeriod = pCodingParam.iLtrMarkPeriod;
|
||||||
|
@ -746,7 +746,7 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) {
|
|||||||
WelsLog (m_pEncContext, WELS_LOG_INFO, "ENCODER_OPTION_SVC_ENCODE_PARAM_EXT, sEncodingParam.iInputCsp= 0x%x\n",
|
WelsLog (m_pEncContext, WELS_LOG_INFO, "ENCODER_OPTION_SVC_ENCODE_PARAM_EXT, sEncodingParam.iInputCsp= 0x%x\n",
|
||||||
sEncodingParam.iInputCsp);
|
sEncodingParam.iInputCsp);
|
||||||
WelsLog (m_pEncContext, WELS_LOG_INFO,
|
WelsLog (m_pEncContext, WELS_LOG_INFO,
|
||||||
"coding_param->iPicWidth= %d;coding_param->iPicHeight= %d;coding_param->iTargetBitrate= %d;coding_param->iRCMode= %d;coding_param->iPaddingFlag= %d;coding_param->iTemporalLayerNum= %d;coding_param->iSpatialLayerNum= %d;coding_param->fFrameRate= %.6ff;coding_param->iInputCsp= %d;coding_param->uiIntraPeriod= %d;coding_param->bEnableSpsPpsIdAddition = %d;coding_param->bPrefixNalAddingCtrl = %d;coding_param->bEnableDenoise= %d;coding_param->bEnableBackgroundDetection= %d;coding_param->bEnableAdaptiveQuant= %d;coding_param->bEnableAdaptiveQuant= %d;coding_param->bEnableCropPic= %d;coding_param->bEnableLongTermReference= %d;coding_param->iLtrMarkPeriod= %d;\n",
|
"coding_param->iPicWidth= %d;coding_param->iPicHeight= %d;coding_param->iTargetBitrate= %d;coding_param->iRCMode= %d;coding_param->iPaddingFlag= %d;coding_param->iTemporalLayerNum= %d;coding_param->iSpatialLayerNum= %d;coding_param->fFrameRate= %.6ff;coding_param->iInputCsp= %d;coding_param->uiIntraPeriod= %d;coding_param->bEnableSpsPpsIdAddition = %d;coding_param->bPrefixNalAddingCtrl = %d;coding_param->bEnableDenoise= %d;coding_param->bEnableBackgroundDetection= %d;coding_param->bEnableAdaptiveQuant= %d;coding_param->bEnableAdaptiveQuant= %d;coding_param->bEnableLongTermReference= %d;coding_param->iLtrMarkPeriod= %d;\n",
|
||||||
sEncodingParam.iPicWidth,
|
sEncodingParam.iPicWidth,
|
||||||
sEncodingParam.iPicHeight,
|
sEncodingParam.iPicHeight,
|
||||||
sEncodingParam.iTargetBitrate,
|
sEncodingParam.iTargetBitrate,
|
||||||
@ -763,7 +763,6 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) {
|
|||||||
sEncodingParam.bEnableBackgroundDetection,
|
sEncodingParam.bEnableBackgroundDetection,
|
||||||
sEncodingParam.bEnableAdaptiveQuant,
|
sEncodingParam.bEnableAdaptiveQuant,
|
||||||
sEncodingParam.bEnableFrameSkip,
|
sEncodingParam.bEnableFrameSkip,
|
||||||
sEncodingParam.bEnableCropPic,
|
|
||||||
sEncodingParam.bEnableLongTermReference,
|
sEncodingParam.bEnableLongTermReference,
|
||||||
sEncodingParam.iLtrMarkPeriod);
|
sEncodingParam.iLtrMarkPeriod);
|
||||||
int32_t i = 0;
|
int32_t i = 0;
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
#============================== INPUT / OUTPUT ==============================
|
#============================== INPUT / OUTPUT ==============================
|
||||||
FrameWidth 320 # Input frame width
|
FrameWidth 320 # Input frame width
|
||||||
FrameHeight 192 # Input frame height
|
FrameHeight 192 # Input frame height
|
||||||
FrameRateIn 12 # Input frame rate [Hz]
|
|
||||||
FrameRateOut 12 # Output frame rate [Hz]
|
FrameRateOut 12 # Output frame rate [Hz]
|
||||||
ReconFile rec_layer2.yuv # Reconstructed file
|
ReconFile rec_layer2.yuv # Reconstructed file
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user