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 | 370 | WelsLog (pLogCtx, WELS_LOG_WARNING, |
| 371 | 371 | "bEnableFrameSkip = %d,bitrate can't be controlled for RC_QUALITY_MODE,RC_BITRATE_MODE and RC_TIMESTAMP_MODE without enabling skip frame.", |
| 372 | 372 | pCfg->bEnableFrameSkip); |
| 373 | − | |
| 374 | − if (pCfg->iUsageType == SCREEN_CONTENT_REAL_TIME) { | |
| 375 | − pCfg->iMinQp = MIN_SCREEN_QP; | |
| 376 | − pCfg->iMaxQp = MAX_SCREEN_QP; | |
| 377 | − } else { | |
| 378 | − pCfg->iMinQp = WELS_CLIP3 (pCfg->iMinQp , GOM_MIN_QP_MODE, 51); | |
| 379 | − pCfg->iMaxQp = WELS_CLIP3 (pCfg->iMaxQp , 0, 51); | |
| 380 | − if (pCfg->iMaxQp <= pCfg->iMinQp) | |
| 381 | − pCfg->iMaxQp = 51; | |
| 373 | + if ((pCfg->iMaxQp <= 0) || (pCfg->iMinQp <= 0)) { | |
| 374 | + if (pCfg->iUsageType == SCREEN_CONTENT_REAL_TIME) { | |
| 375 | + WelsLog (pLogCtx, WELS_LOG_WARNING, "Change QP Range from(%d,%d) to (%d,%d)", pCfg->iMinQp, pCfg->iMaxQp, MIN_SCREEN_QP, | |
| 376 | + MAX_SCREEN_QP); | |
| 377 | + pCfg->iMinQp = MIN_SCREEN_QP; | |
| 378 | + pCfg->iMaxQp = MAX_SCREEN_QP; | |
| 379 | + } else { | |
| 380 | + WelsLog (pLogCtx, WELS_LOG_WARNING, "Change QP Range from(%d,%d) to (%d,%d)", pCfg->iMinQp, pCfg->iMaxQp, | |
| 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 | 390 | // ref-frames validation |
| 387 | 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 | 642 | if ((pLayerInfo->uiProfileIdc == PRO_BASELINE) || (pLayerInfo->uiProfileIdc == PRO_SCALABLE_BASELINE)) { |
| 639 | 643 | if (pCodingParam->iEntropyCodingModeFlag != 0) { |
| 640 | 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 | } |