Unified · Split
| @@ -193,7 +193,7 @@ typedef struct TagEncParamBase{ · 192 unmodified lines | |||
| 193 | 193 | ||
| 194 | typedef struct TagEncParamExt | 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 | int iInputCsp; // color space of input sequence | 197 | int iInputCsp; // color space of input sequence |
| 198 | 198 | ||
| 199 | int iPicWidth; // width of picture in samples | 199 | 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 level | 205 | int iTemporalLayerNum; // layer number at temporal level |
| 206 | int iSpatialLayerNum; // layer number at spatial level | 206 | int iSpatialLayerNum; // layer number at spatial level |
| 207 | SSpatialLayerConfig sSpatialLayers[MAX_SPATIAL_LAYER_NUM]; | ||
| 207 | 208 | ||
| 208 | unsigned int uiIntraPeriod; // period of Intra frame | 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 | bool bEnableSpsPpsIdAddition; | 212 | bool bEnableSpsPpsIdAddition; |
| 210 | bool bPrefixNalAddingCtrl; | 213 | bool bPrefixNalAddingCtrl; |
| 211 | bool bEnableDenoise; // denoise control | 214 | bool bEnableSSEI; |
| 212 | bool bEnableBackgroundDetection;// background detection control //VAA_BACKGROUND_DETECTION //BGD cmd | 215 | |
| 213 | bool bEnableAdaptiveQuant; // adaptive quantization control | 216 | /* rc control */ |
| 217 | bool bEnableRc; | ||
| 214 | bool bEnableFrameSkip; // allow skipping frames to keep the bitrate within limits | 218 | bool bEnableFrameSkip; // allow skipping frames to keep the bitrate within limits |
| 215 | bool bEnableCropPic; // enable cropping source picture. 8/25/2010 | 219 | 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: off | 223 | bool bEnableLongTermReference; // 0: on, 1: off |
| 224 | int iLTRRefNum; | ||
| 219 | int iLtrMarkPeriod; | 225 | int iLtrMarkPeriod; |
| 220 | int iPaddingFlag; // 0:disable padding;1:padding | 226 | 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 boundaries | 233 | int iLoopFilterDisableIdc; // 0: on, 1: off, 2: on except for slice boundaries |
| 236 | int iLoopFilterAlphaC0Offset;// AlphaOffset: valid range [-6, 6], default 0 | 234 | int iLoopFilterAlphaC0Offset;// AlphaOffset: valid range [-6, 6], default 0 |
| 237 | |||
| 238 | int iLoopFilterBetaOffset; // BetaOffset: valid range [-6, 6], default 0 | 235 | int iLoopFilterBetaOffset; // BetaOffset: valid range [-6, 6], default 0 |
| 239 | int iInterLayerLoopFilterDisableIdc; // Employed based upon inter-layer, same comment as above | 236 | int iInterLayerLoopFilterDisableIdc; // Employed based upon inter-layer, same comment as above |
| 240 | int iInterLayerLoopFilterAlphaC0Offset; // InterLayerLoopFilterAlphaC0Offset | 237 | int iInterLayerLoopFilterAlphaC0Offset; // InterLayerLoopFilterAlphaC0Offset |
| 241 | int iInterLayerLoopFilterBetaOffset; // InterLayerLoopFilterBetaOffset | 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 | }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. |
| @@ -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 application | 174 | 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 later | 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 | /* 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; |
| @@ -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; |
| @@ -4,7 +4,6 @@ · 3 unmodified lines | |||
| 4 | #============================== INPUT / OUTPUT ============================== | 4 | #============================== INPUT / OUTPUT ============================== |
| 5 | FrameWidth 320 # Input frame width | 5 | FrameWidth 320 # Input frame width |
| 6 | FrameHeight 192 # Input frame height | 6 | FrameHeight 192 # Input frame height |
| 7 | FrameRateIn 12 # Input frame rate [Hz] | ||
| 8 | FrameRateOut 12 # Output frame rate [Hz] | 7 | FrameRateOut 12 # Output frame rate [Hz] |
| 9 | ReconFile rec_layer2.yuv # Reconstructed file | 8 | ReconFile rec_layer2.yuv # Reconstructed file |
| 10 | 9 | ||