History

cleanup encoder parameters

ruil2 committed 12 years ago

Commit c79e78c1 parent abc24954 files · +22 −30Browse files

Unified · Split

4 files
  1. codec/api/svc/codec_app_def.h +21 −23
  2. codec/encoder/core/inc/param_svc.h +0 −4
  3. codec/encoder/plus/src/welsEncoderExt.cpp +1 −2
  4. testbin/layer2.cfg +0 −1
codec/api/svc/codec_app_def.h+21−23
@@ -193,7 +193,7 @@ typedef struct TagEncParamBase{ · 192 unmodified lines
193 193
194typedef struct TagEncParamExt194typedef struct TagEncParamExt
195{195{
196 int iUsageType; //enable_screen_content_signal;// 0: //camera video signal; 1: screen content signal;196 int iUsageType; //application type;// 0: //camera video signal; 1: screen content signal;
197 int iInputCsp; // color space of input sequence197 int iInputCsp; // color space of input sequence
198 198
199 int iPicWidth; // width of picture in samples199 int iPicWidth; // width of picture in samples
@@ -204,47 +204,45 @@ typedef struct TagEncParamExt · 4 unmodified lines
204 204
205 int iTemporalLayerNum; // layer number at temporal level205 int iTemporalLayerNum; // layer number at temporal level
206 int iSpatialLayerNum; // layer number at spatial level206 int iSpatialLayerNum; // layer number at spatial level
207 SSpatialLayerConfig sSpatialLayers[MAX_SPATIAL_LAYER_NUM];
207 208
208 unsigned int uiIntraPeriod; // period of Intra frame209 unsigned int uiIntraPeriod; // period of Intra frame
210 int iNumRefFrame; // number of reference frame used
211 unsigned int uiFrameToBeCoded; // frame to be encoded (at input frame rate)
209 bool bEnableSpsPpsIdAddition;212 bool bEnableSpsPpsIdAddition;
210 bool bPrefixNalAddingCtrl;213 bool bPrefixNalAddingCtrl;
211 bool bEnableDenoise; // denoise control214 bool bEnableSSEI;
212 bool bEnableBackgroundDetection;// background detection control //VAA_BACKGROUND_DETECTION //BGD cmd215
213 bool bEnableAdaptiveQuant; // adaptive quantization control216 /* rc control */
217 bool bEnableRc;
214 bool bEnableFrameSkip; // allow skipping frames to keep the bitrate within limits218 bool bEnableFrameSkip; // allow skipping frames to keep the bitrate within limits
215 bool bEnableCropPic; // enable cropping source picture. 8/25/2010219 int iMaxQp;
216 // false: Streaming Video Sharing; true: Video Conferencing Meeting;220 int iMinQp;
217 221
222 /*LTR settings*/
218 bool bEnableLongTermReference; // 0: on, 1: off223 bool bEnableLongTermReference; // 0: on, 1: off
224 int iLTRRefNum;
219 int iLtrMarkPeriod;225 int iLtrMarkPeriod;
220 int iPaddingFlag; // 0:disable padding;1:padding226 int iPaddingFlag; // 0:disable padding;1:padding
221 int iEtropyCodingModeFlag;227 int iEtropyCodingModeFlag;
222 228
223 SSpatialLayerConfig sSpatialLayers[MAX_SPATIAL_LAYER_NUM];
224 int iNumRefFrame; // number of reference frame used
225 unsigned int uiFrameToBeCoded; // frame to be encoded (at input frame rate)
226 bool bEnableRc;
227 short iMultipleThreadIdc; // 1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; > 1: count number of threads;229 short iMultipleThreadIdc; // 1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; > 1: count number of threads;
228 short iCountThreadsNum; // # derived from disable_multiple_slice_idc (=0 or >1) means;230 short iCountThreadsNum; // # derived from disable_multiple_slice_idc (=0 or >1) means;
229 231
230 int iLTRRefNum;232 /* Deblocking loop filter */
231 bool bEnableSSEI;
232 bool bEnableFrameCroppingFlag;// enable frame cropping flag: TRUE always in application
233
234 /* Deblocking loop filter */
235 int iLoopFilterDisableIdc; // 0: on, 1: off, 2: on except for slice boundaries233 int iLoopFilterDisableIdc; // 0: on, 1: off, 2: on except for slice boundaries
236 int iLoopFilterAlphaC0Offset;// AlphaOffset: valid range [-6, 6], default 0234 int iLoopFilterAlphaC0Offset;// AlphaOffset: valid range [-6, 6], default 0
237
238 int iLoopFilterBetaOffset; // BetaOffset: valid range [-6, 6], default 0235 int iLoopFilterBetaOffset; // BetaOffset: valid range [-6, 6], default 0
239 int iInterLayerLoopFilterDisableIdc; // Employed based upon inter-layer, same comment as above236 int iInterLayerLoopFilterDisableIdc; // Employed based upon inter-layer, same comment as above
240 int iInterLayerLoopFilterAlphaC0Offset; // InterLayerLoopFilterAlphaC0Offset237 int iInterLayerLoopFilterAlphaC0Offset; // InterLayerLoopFilterAlphaC0Offset
241 int iInterLayerLoopFilterBetaOffset; // InterLayerLoopFilterBetaOffset238 int iInterLayerLoopFilterBetaOffset; // InterLayerLoopFilterBetaOffset
242 bool bEnableSceneChangeDetect;
243
244 //added
245 int iMaxQp;
246 int iMinQp;
247 239
240 /*pre-processing feature*/
241 bool bEnableDenoise; // denoise control
242 bool bEnableBackgroundDetection;// background detection control //VAA_BACKGROUND_DETECTION //BGD cmd
243 bool bEnableAdaptiveQuant; // adaptive quantization control
244 bool bEnableFrameCroppingFlag;// enable frame cropping flag: TRUE always in application
245 bool bEnableSceneChangeDetect;
248}SEncParamExt;246}SEncParamExt;
249 247
250//Define a new struct to show the property of video bitstream.248//Define a new struct to show the property of video bitstream.
codec/encoder/core/inc/param_svc.h+0−4
@@ -172,7 +172,6 @@ void FillDefault (const bool kbEnableRc) { · 171 unmodified lines
172 true; // Strategy of have MGS only at T0 frames (0: do not use this strategy; 1: use this strategy)172 true; // Strategy of have MGS only at T0 frames (0: do not use this strategy; 1: use this strategy)
173 bEnableSSEI = true;173 bEnableSSEI = true;
174 bEnableFrameCroppingFlag = true; // enable frame cropping flag: true alwayse in application174 bEnableFrameCroppingFlag = true; // enable frame cropping flag: true alwayse in application
175 bEnableCropPic = true; // enable cropping source picture. , 8/25/2010
176 // false: Streaming Video Sharing; true: Video Conferencing Meeting;175 // false: Streaming Video Sharing; true: Video Conferencing Meeting;
177 iDecompStages = 0; // GOP size dependency, unknown here and be revised later176 iDecompStages = 0; // GOP size dependency, unknown here and be revised later
178 177
@@ -340,9 +339,6 @@ int32_t ParamTranscode (const SEncParamExt& pCodingParam) { · 161 unmodified lines
340 /* Frame skipping */339 /* Frame skipping */
341 bEnableFrameSkip = pCodingParam.bEnableFrameSkip ? true : false;340 bEnableFrameSkip = pCodingParam.bEnableFrameSkip ? true : false;
342 341
343 /* Enable cropping source picture */
344 bEnableCropPic = pCodingParam.bEnableCropPic ? true : false;
345
346 /* Enable int32_t term reference */342 /* Enable int32_t term reference */
347 bEnableLongTermReference = pCodingParam.bEnableLongTermReference ? true : false;343 bEnableLongTermReference = pCodingParam.bEnableLongTermReference ? true : false;
348 iLtrMarkPeriod = pCodingParam.iLtrMarkPeriod;344 iLtrMarkPeriod = pCodingParam.iLtrMarkPeriod;
codec/encoder/plus/src/welsEncoderExt.cpp+1−2
@@ -746,7 +746,7 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 745 unmodified lines
746 WelsLog (m_pEncContext, WELS_LOG_INFO, "ENCODER_OPTION_SVC_ENCODE_PARAM_EXT, sEncodingParam.iInputCsp= 0x%x\n",746 WelsLog (m_pEncContext, WELS_LOG_INFO, "ENCODER_OPTION_SVC_ENCODE_PARAM_EXT, sEncodingParam.iInputCsp= 0x%x\n",
747 sEncodingParam.iInputCsp);747 sEncodingParam.iInputCsp);
748 WelsLog (m_pEncContext, WELS_LOG_INFO,748 WelsLog (m_pEncContext, WELS_LOG_INFO,
749 "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",749 "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",
750 sEncodingParam.iPicWidth,750 sEncodingParam.iPicWidth,
751 sEncodingParam.iPicHeight,751 sEncodingParam.iPicHeight,
752 sEncodingParam.iTargetBitrate,752 sEncodingParam.iTargetBitrate,
@@ -763,7 +763,6 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 10 unmodified lines
763 sEncodingParam.bEnableBackgroundDetection,763 sEncodingParam.bEnableBackgroundDetection,
764 sEncodingParam.bEnableAdaptiveQuant,764 sEncodingParam.bEnableAdaptiveQuant,
765 sEncodingParam.bEnableFrameSkip,765 sEncodingParam.bEnableFrameSkip,
766 sEncodingParam.bEnableCropPic,
767 sEncodingParam.bEnableLongTermReference,766 sEncodingParam.bEnableLongTermReference,
768 sEncodingParam.iLtrMarkPeriod);767 sEncodingParam.iLtrMarkPeriod);
769 int32_t i = 0;768 int32_t i = 0;
testbin/layer2.cfg+0−1
@@ -4,7 +4,6 @@ · 3 unmodified lines
4#============================== INPUT / OUTPUT ==============================4#============================== INPUT / OUTPUT ==============================
5FrameWidth 320 # Input frame width5FrameWidth 320 # Input frame width
6FrameHeight 192 # Input frame height6FrameHeight 192 # Input frame height
7FrameRateIn 12 # Input frame rate [Hz]
8FrameRateOut 12 # Output frame rate [Hz]7FrameRateOut 12 # Output frame rate [Hz]
9ReconFile rec_layer2.yuv # Reconstructed file8ReconFile rec_layer2.yuv # Reconstructed file
10 9

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t