Unified · Split
| @@ -193,7 +193,7 @@ typedef struct TagEncParamBase{ · 192 unmodified lines | ||
| 193 | 193 | |
| 194 | 194 | typedef 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 | 197 | int iInputCsp; // color space of input sequence |
| 198 | 198 | |
| 199 | 199 | int iPicWidth; // width of picture in samples |
| @@ -204,47 +204,45 @@ typedef struct TagEncParamExt · 4 unmodified lines | ||
| 204 | 204 | |
| 205 | 205 | int iTemporalLayerNum; // layer number at temporal level |
| 206 | 206 | int iSpatialLayerNum; // layer number at spatial level |
| 207 | + SSpatialLayerConfig sSpatialLayers[MAX_SPATIAL_LAYER_NUM]; | |
| 207 | 208 | |
| 208 | 209 | 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 | 212 | bool bEnableSpsPpsIdAddition; |
| 210 | 213 | bool bPrefixNalAddingCtrl; |
| 211 | − bool bEnableDenoise; // denoise control | |
| 212 | − bool bEnableBackgroundDetection;// background detection control //VAA_BACKGROUND_DETECTION //BGD cmd | |
| 213 | − bool bEnableAdaptiveQuant; // adaptive quantization control | |
| 214 | + bool bEnableSSEI; | |
| 215 | + | |
| 216 | + /* rc control */ | |
| 217 | + bool bEnableRc; | |
| 214 | 218 | bool bEnableFrameSkip; // allow skipping frames to keep the bitrate within limits |
| 215 | − bool bEnableCropPic; // enable cropping source picture. 8/25/2010 | |
| 216 | − // false: Streaming Video Sharing; true: Video Conferencing Meeting; | |
| 219 | + int iMaxQp; | |
| 220 | + int iMinQp; | |
| 217 | 221 | |
| 222 | + /*LTR settings*/ | |
| 218 | 223 | bool bEnableLongTermReference; // 0: on, 1: off |
| 224 | + int iLTRRefNum; | |
| 219 | 225 | int iLtrMarkPeriod; |
| 220 | − int iPaddingFlag; // 0:disable padding;1:padding | |
| 221 | − int iEtropyCodingModeFlag; | |
| 226 | + int iPaddingFlag; // 0:disable padding;1:padding | |
| 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 | 229 | short iMultipleThreadIdc; // 1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; > 1: count number of threads; |
| 228 | 230 | short iCountThreadsNum; // # derived from disable_multiple_slice_idc (=0 or >1) means; |
| 229 | 231 | |
| 230 | − int iLTRRefNum; | |
| 231 | − bool bEnableSSEI; | |
| 232 | − bool bEnableFrameCroppingFlag;// enable frame cropping flag: TRUE always in application | |
| 233 | − | |
| 234 | − /* Deblocking loop filter */ | |
| 232 | + /* Deblocking loop filter */ | |
| 235 | 233 | int iLoopFilterDisableIdc; // 0: on, 1: off, 2: on except for slice boundaries |
| 236 | 234 | int iLoopFilterAlphaC0Offset;// AlphaOffset: valid range [-6, 6], default 0 |
| 237 | − | |
| 238 | 235 | int iLoopFilterBetaOffset; // BetaOffset: valid range [-6, 6], default 0 |
| 239 | 236 | int iInterLayerLoopFilterDisableIdc; // Employed based upon inter-layer, same comment as above |
| 240 | 237 | int iInterLayerLoopFilterAlphaC0Offset; // InterLayerLoopFilterAlphaC0Offset |
| 241 | 238 | 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 | 246 | }SEncParamExt; |
| 249 | 247 | |
| 250 | 248 | //Define a new struct to show the property of video bitstream. |
| @@ -172,7 +172,6 @@ void FillDefault (const bool kbEnableRc) { · 171 unmodified lines | ||
| 172 | 172 | true; // Strategy of have MGS only at T0 frames (0: do not use this strategy; 1: use this strategy) |
| 173 | 173 | bEnableSSEI = true; |
| 174 | 174 | bEnableFrameCroppingFlag = true; // enable frame cropping flag: true alwayse in application |
| 175 | − bEnableCropPic = true; // enable cropping source picture. , 8/25/2010 | |
| 176 | 175 | // false: Streaming Video Sharing; true: Video Conferencing Meeting; |
| 177 | 176 | 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 | 339 | /* Frame skipping */ |
| 341 | 340 | bEnableFrameSkip = pCodingParam.bEnableFrameSkip ? true : false; |
| 342 | 341 | |
| 343 | − /* Enable cropping source picture */ | |
| 344 | − bEnableCropPic = pCodingParam.bEnableCropPic ? true : false; | |
| 345 | − | |
| 346 | 342 | /* Enable int32_t term reference */ |
| 347 | 343 | bEnableLongTermReference = pCodingParam.bEnableLongTermReference ? true : false; |
| 348 | 344 | iLtrMarkPeriod = pCodingParam.iLtrMarkPeriod; |
| @@ -746,7 +746,7 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 745 unmodified lines | ||
| 746 | 746 | WelsLog (m_pEncContext, WELS_LOG_INFO, "ENCODER_OPTION_SVC_ENCODE_PARAM_EXT, sEncodingParam.iInputCsp= 0x%x\n", |
| 747 | 747 | sEncodingParam.iInputCsp); |
| 748 | 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 | 750 | sEncodingParam.iPicWidth, |
| 751 | 751 | sEncodingParam.iPicHeight, |
| 752 | 752 | sEncodingParam.iTargetBitrate, |
| @@ -763,7 +763,6 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 10 unmodified lines | ||
| 763 | 763 | sEncodingParam.bEnableBackgroundDetection, |
| 764 | 764 | sEncodingParam.bEnableAdaptiveQuant, |
| 765 | 765 | sEncodingParam.bEnableFrameSkip, |
| 766 | − sEncodingParam.bEnableCropPic, | |
| 767 | 766 | sEncodingParam.bEnableLongTermReference, |
| 768 | 767 | sEncodingParam.iLtrMarkPeriod); |
| 769 | 768 | int32_t i = 0; |
| @@ -4,7 +4,6 @@ · 3 unmodified lines | ||
| 4 | 4 | #============================== INPUT / OUTPUT ============================== |
| 5 | 5 | FrameWidth 320 # Input frame width |
| 6 | 6 | FrameHeight 192 # Input frame height |
| 7 | −FrameRateIn 12 # Input frame rate [Hz] | |
| 8 | 7 | FrameRateOut 12 # Output frame rate [Hz] |
| 9 | 8 | ReconFile rec_layer2.yuv # Reconstructed file |
| 10 | 9 | |