History

using function pointer to make different branch for different rc

ruil2 committed 11 years ago

Commit e3bf63d1 parent c1752e26 files · +7719 −7688Browse files

Showing the changes to codec/encoder/core/src/ratectl.cpp (1 of 6 files). Show all

Unified · Split

codec/encoder/core/src/ratectl.cpp+19−0
@@ -1296,6 +1296,9 @@ void WelsRcInitModule (void* pCtx, RC_MODES iRcMode) { · 1295 unmodified lines
12961296 pRcf->pfWelsRcPictureInfoUpdate = WelsRcPictureInfoUpdateDisable;
12971297 pRcf->pfWelsRcMbInit = WelsRcMbInitDisable;
12981298 pRcf->pfWelsRcMbInfoUpdate = WelsRcMbInfoUpdateDisable;
1299+ pRcf->pfWelsCheckSkipBasedMaxbr = NULL;
1300+ pRcf->pfWelsUpdateBufferWhenSkip = NULL;
1301+ pRcf->pfWelsUpdateMaxBrWindowStatus = NULL;
12991302 break;
13001303 case RC_BUFFERBASED_MODE:
13011304 pRcf->pfWelsRcPictureInit = WelRcPictureInitBufferBasedQp;
@@ -1303,6 +1306,10 @@ void WelsRcInitModule (void* pCtx, RC_MODES iRcMode) { · 1 unmodified line
13031306 pRcf->pfWelsRcPictureInfoUpdate = WelsRcPictureInfoUpdateDisable;
13041307 pRcf->pfWelsRcMbInit = WelsRcMbInitDisable;
13051308 pRcf->pfWelsRcMbInfoUpdate = WelsRcMbInfoUpdateDisable;
1309+ pRcf->pfWelsCheckSkipBasedMaxbr = NULL;
1310+ pRcf->pfWelsUpdateBufferWhenSkip = NULL;
1311+ pRcf->pfWelsUpdateMaxBrWindowStatus = NULL;
1312+
13061313 break;
13071314 case RC_BITRATE_MODE:
13081315 if (pEncCtx->pSvcParam->iUsageType == SCREEN_CONTENT_REAL_TIME) {
@@ -1311,6 +1318,10 @@ void WelsRcInitModule (void* pCtx, RC_MODES iRcMode) { · 2 unmodified lines
13111318 pRcf->pfWelsRcPictureInfoUpdate = WelsRcPictureInfoUpdateScc;
13121319 pRcf->pfWelsRcMbInit = WelsRcMbInitScc;
13131320 pRcf->pfWelsRcMbInfoUpdate = WelsRcMbInfoUpdateDisable;
1321+ pRcf->pfWelsCheckSkipBasedMaxbr = CheckFrameSkipBasedMaxbr;
1322+ pRcf->pfWelsUpdateBufferWhenSkip = NULL;
1323+ pRcf->pfWelsUpdateMaxBrWindowStatus = NULL;
1324+
13141325 InitRcModuleScc (pEncCtx);
13151326
13161327 } else {
@@ -1319,6 +1330,10 @@ void WelsRcInitModule (void* pCtx, RC_MODES iRcMode) { · 2 unmodified lines
13191330 pRcf->pfWelsRcPictureInfoUpdate = WelsRcPictureInfoUpdateGom;
13201331 pRcf->pfWelsRcMbInit = WelsRcMbInitGom;
13211332 pRcf->pfWelsRcMbInfoUpdate = WelsRcMbInfoUpdateGom;
1333+ pRcf->pfWelsCheckSkipBasedMaxbr = CheckFrameSkipBasedMaxbr;
1334+ pRcf->pfWelsUpdateBufferWhenSkip = UpdateBufferWhenFrameSkipped;
1335+ pRcf->pfWelsUpdateMaxBrWindowStatus = UpdateMaxBrCheckWindowStatus;
1336+
13221337 }
13231338 break;
13241339 case RC_QUALITY_MODE:
@@ -1328,6 +1343,10 @@ void WelsRcInitModule (void* pCtx, RC_MODES iRcMode) { · 3 unmodified lines
13281343 pRcf->pfWelsRcPictureInfoUpdate = WelsRcPictureInfoUpdateGom;
13291344 pRcf->pfWelsRcMbInit = WelsRcMbInitGom;
13301345 pRcf->pfWelsRcMbInfoUpdate = WelsRcMbInfoUpdateGom;
1346+ pRcf->pfWelsCheckSkipBasedMaxbr = CheckFrameSkipBasedMaxbr;
1347+ pRcf->pfWelsUpdateBufferWhenSkip = UpdateBufferWhenFrameSkipped;
1348+ pRcf->pfWelsUpdateMaxBrWindowStatus = UpdateMaxBrCheckWindowStatus;
1349+
13311350 break;
13321351 }
13331352

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