cleanup encoder parameters

This commit is contained in:
ruil2 2014-02-24 10:40:17 +08:00
parent abc2495f2f
commit c79e78c4fb
4 changed files with 22 additions and 30 deletions

View File

@ -193,7 +193,7 @@ typedef struct TagEncParamBase{
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 iPicWidth; // width of picture in samples
@ -204,47 +204,45 @@ typedef struct TagEncParamExt
int iTemporalLayerNum; // layer number at temporal level
int iSpatialLayerNum; // layer number at spatial level
SSpatialLayerConfig sSpatialLayers[MAX_SPATIAL_LAYER_NUM];
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 bPrefixNalAddingCtrl;
bool bEnableDenoise; // denoise control
bool bEnableBackgroundDetection;// background detection control //VAA_BACKGROUND_DETECTION //BGD cmd
bool bEnableAdaptiveQuant; // adaptive quantization control
bool bEnableSSEI;
/* rc control */
bool bEnableRc;
bool bEnableFrameSkip; // allow skipping frames to keep the bitrate within limits
bool bEnableCropPic; // enable cropping source picture. 8/25/2010
// false: Streaming Video Sharing; true: Video Conferencing Meeting;
int iMaxQp;
int iMinQp;
/*LTR settings*/
bool bEnableLongTermReference; // 0: on, 1: off
int iLTRRefNum;
int iLtrMarkPeriod;
int iPaddingFlag; // 0:disable padding;1:padding
int iEtropyCodingModeFlag;
int iPaddingFlag; // 0:disable padding;1:padding
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 iCountThreadsNum; // # derived from disable_multiple_slice_idc (=0 or >1) means;
int iLTRRefNum;
bool bEnableSSEI;
bool bEnableFrameCroppingFlag;// enable frame cropping flag: TRUE always in application
/* Deblocking loop filter */
/* Deblocking loop filter */
int iLoopFilterDisableIdc; // 0: on, 1: off, 2: on except for slice boundaries
int iLoopFilterAlphaC0Offset;// AlphaOffset: 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 iInterLayerLoopFilterAlphaC0Offset; // InterLayerLoopFilterAlphaC0Offset
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;
//Define a new struct to show the property of video bitstream.

View File

@ -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)
bEnableSSEI = true;
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;
iDecompStages = 0; // GOP size dependency, unknown here and be revised later
@ -340,9 +339,6 @@ int32_t ParamTranscode (const SEncParamExt& pCodingParam) {
/* Frame skipping */
bEnableFrameSkip = pCodingParam.bEnableFrameSkip ? true : false;
/* Enable cropping source picture */
bEnableCropPic = pCodingParam.bEnableCropPic ? true : false;
/* Enable int32_t term reference */
bEnableLongTermReference = pCodingParam.bEnableLongTermReference ? true : false;
iLtrMarkPeriod = pCodingParam.iLtrMarkPeriod;

View File

@ -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",
sEncodingParam.iInputCsp);
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.iPicHeight,
sEncodingParam.iTargetBitrate,
@ -763,7 +763,6 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) {
sEncodingParam.bEnableBackgroundDetection,
sEncodingParam.bEnableAdaptiveQuant,
sEncodingParam.bEnableFrameSkip,
sEncodingParam.bEnableCropPic,
sEncodingParam.bEnableLongTermReference,
sEncodingParam.iLtrMarkPeriod);
int32_t i = 0;

View File

@ -4,7 +4,6 @@
#============================== INPUT / OUTPUT ==============================
FrameWidth 320 # Input frame width
FrameHeight 192 # Input frame height
FrameRateIn 12 # Input frame rate [Hz]
FrameRateOut 12 # Output frame rate [Hz]
ReconFile rec_layer2.yuv # Reconstructed file