Showing the changes to codec/encoder/core/src/encoder_ext.cpp (1 of 2 files). Show all
Unified · Split
| @@ -370,18 +370,22 @@ int32_t ParamValidation (SLogContext* pLogCtx, SWelsSvcCodingParam* pCfg) { · 369 unmodified lines | |||
| 370 | WelsLog (pLogCtx, WELS_LOG_WARNING, | 370 | WelsLog (pLogCtx, WELS_LOG_WARNING, |
| 371 | "bEnableFrameSkip = %d,bitrate can't be controlled for RC_QUALITY_MODE,RC_BITRATE_MODE and RC_TIMESTAMP_MODE without enabling skip frame.", | 371 | "bEnableFrameSkip = %d,bitrate can't be controlled for RC_QUALITY_MODE,RC_BITRATE_MODE and RC_TIMESTAMP_MODE without enabling skip frame.", |
| 372 | pCfg->bEnableFrameSkip); | 372 | pCfg->bEnableFrameSkip); |
| 373 | 373 | if ((pCfg->iMaxQp <= 0) || (pCfg->iMinQp <= 0)) { | |
| 374 | if (pCfg->iUsageType == SCREEN_CONTENT_REAL_TIME) { | 374 | if (pCfg->iUsageType == SCREEN_CONTENT_REAL_TIME) { |
| 375 | pCfg->iMinQp = MIN_SCREEN_QP; | 375 | WelsLog (pLogCtx, WELS_LOG_WARNING, "Change QP Range from(%d,%d) to (%d,%d)", pCfg->iMinQp, pCfg->iMaxQp, MIN_SCREEN_QP, |
| 376 | pCfg->iMaxQp = MAX_SCREEN_QP; | 376 | MAX_SCREEN_QP); |
| 377 | } else { | 377 | pCfg->iMinQp = MIN_SCREEN_QP; |
| 378 | pCfg->iMinQp = WELS_CLIP3 (pCfg->iMinQp , GOM_MIN_QP_MODE, 51); | 378 | pCfg->iMaxQp = MAX_SCREEN_QP; |
| 379 | pCfg->iMaxQp = WELS_CLIP3 (pCfg->iMaxQp , 0, 51); | 379 | } else { |
| 380 | if (pCfg->iMaxQp <= pCfg->iMinQp) | 380 | WelsLog (pLogCtx, WELS_LOG_WARNING, "Change QP Range from(%d,%d) to (%d,%d)", pCfg->iMinQp, pCfg->iMaxQp, |
| 381 | pCfg->iMaxQp = 51; | 381 | GOM_MIN_QP_MODE, MAX_LOW_BR_QP); |
| 382 | pCfg->iMinQp = GOM_MIN_QP_MODE; | ||
| 383 | pCfg->iMaxQp = MAX_LOW_BR_QP; | ||
| 384 | } | ||
| 382 | 385 | ||
| 383 | } | 386 | } |
| 384 | 387 | pCfg->iMinQp = WELS_CLIP3 (pCfg->iMinQp , GOM_MIN_QP_MODE, 51); | |
| 388 | pCfg->iMaxQp = WELS_CLIP3 (pCfg->iMaxQp , pCfg->iMinQp, 51); | ||
| 385 | } | 389 | } |
| 386 | // ref-frames validation | 390 | // ref-frames validation |
| 387 | if (((pCfg->iUsageType == CAMERA_VIDEO_REAL_TIME) || (pCfg->iUsageType == SCREEN_CONTENT_REAL_TIME)) | 391 | if (((pCfg->iUsageType == CAMERA_VIDEO_REAL_TIME) || (pCfg->iUsageType == SCREEN_CONTENT_REAL_TIME)) |
| @@ -638,7 +642,7 @@ int32_t ParamValidationExt (SLogContext* pLogCtx, SWelsSvcCodingParam* pCodingPa · 250 unmodified lines | |||
| 638 | if ((pLayerInfo->uiProfileIdc == PRO_BASELINE) || (pLayerInfo->uiProfileIdc == PRO_SCALABLE_BASELINE)) { | 642 | if ((pLayerInfo->uiProfileIdc == PRO_BASELINE) || (pLayerInfo->uiProfileIdc == PRO_SCALABLE_BASELINE)) { |
| 639 | if (pCodingParam->iEntropyCodingModeFlag != 0) { | 643 | if (pCodingParam->iEntropyCodingModeFlag != 0) { |
| 640 | pCodingParam->iEntropyCodingModeFlag = 0; | 644 | pCodingParam->iEntropyCodingModeFlag = 0; |
| 641 | WelsLog (pLogCtx, WELS_LOG_WARNING, "layerId(%d) Profile is baseline, Change CABAC to CAVLC",i); | 645 | WelsLog (pLogCtx, WELS_LOG_WARNING, "layerId(%d) Profile is baseline, Change CABAC to CAVLC", i); |
| 642 | } | 646 | } |
| 643 | } | 647 | } |
| 644 | } | 648 | } |