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
1296 pRcf->pfWelsRcPictureInfoUpdate = WelsRcPictureInfoUpdateDisable;1296 pRcf->pfWelsRcPictureInfoUpdate = WelsRcPictureInfoUpdateDisable;
1297 pRcf->pfWelsRcMbInit = WelsRcMbInitDisable;1297 pRcf->pfWelsRcMbInit = WelsRcMbInitDisable;
1298 pRcf->pfWelsRcMbInfoUpdate = WelsRcMbInfoUpdateDisable;1298 pRcf->pfWelsRcMbInfoUpdate = WelsRcMbInfoUpdateDisable;
1299 pRcf->pfWelsCheckSkipBasedMaxbr = NULL;
1300 pRcf->pfWelsUpdateBufferWhenSkip = NULL;
1301 pRcf->pfWelsUpdateMaxBrWindowStatus = NULL;
1299 break;1302 break;
1300 case RC_BUFFERBASED_MODE:1303 case RC_BUFFERBASED_MODE:
1301 pRcf->pfWelsRcPictureInit = WelRcPictureInitBufferBasedQp;1304 pRcf->pfWelsRcPictureInit = WelRcPictureInitBufferBasedQp;
@@ -1303,6 +1306,10 @@ void WelsRcInitModule (void* pCtx, RC_MODES iRcMode) { · 1 unmodified line
1303 pRcf->pfWelsRcPictureInfoUpdate = WelsRcPictureInfoUpdateDisable;1306 pRcf->pfWelsRcPictureInfoUpdate = WelsRcPictureInfoUpdateDisable;
1304 pRcf->pfWelsRcMbInit = WelsRcMbInitDisable;1307 pRcf->pfWelsRcMbInit = WelsRcMbInitDisable;
1305 pRcf->pfWelsRcMbInfoUpdate = WelsRcMbInfoUpdateDisable;1308 pRcf->pfWelsRcMbInfoUpdate = WelsRcMbInfoUpdateDisable;
1309 pRcf->pfWelsCheckSkipBasedMaxbr = NULL;
1310 pRcf->pfWelsUpdateBufferWhenSkip = NULL;
1311 pRcf->pfWelsUpdateMaxBrWindowStatus = NULL;
1312
1306 break;1313 break;
1307 case RC_BITRATE_MODE:1314 case RC_BITRATE_MODE:
1308 if (pEncCtx->pSvcParam->iUsageType == SCREEN_CONTENT_REAL_TIME) {1315 if (pEncCtx->pSvcParam->iUsageType == SCREEN_CONTENT_REAL_TIME) {
@@ -1311,6 +1318,10 @@ void WelsRcInitModule (void* pCtx, RC_MODES iRcMode) { · 2 unmodified lines
1311 pRcf->pfWelsRcPictureInfoUpdate = WelsRcPictureInfoUpdateScc;1318 pRcf->pfWelsRcPictureInfoUpdate = WelsRcPictureInfoUpdateScc;
1312 pRcf->pfWelsRcMbInit = WelsRcMbInitScc;1319 pRcf->pfWelsRcMbInit = WelsRcMbInitScc;
1313 pRcf->pfWelsRcMbInfoUpdate = WelsRcMbInfoUpdateDisable;1320 pRcf->pfWelsRcMbInfoUpdate = WelsRcMbInfoUpdateDisable;
1321 pRcf->pfWelsCheckSkipBasedMaxbr = CheckFrameSkipBasedMaxbr;
1322 pRcf->pfWelsUpdateBufferWhenSkip = NULL;
1323 pRcf->pfWelsUpdateMaxBrWindowStatus = NULL;
1324
1314 InitRcModuleScc (pEncCtx);1325 InitRcModuleScc (pEncCtx);
1315 1326
1316 } else {1327 } else {
@@ -1319,6 +1330,10 @@ void WelsRcInitModule (void* pCtx, RC_MODES iRcMode) { · 2 unmodified lines
1319 pRcf->pfWelsRcPictureInfoUpdate = WelsRcPictureInfoUpdateGom;1330 pRcf->pfWelsRcPictureInfoUpdate = WelsRcPictureInfoUpdateGom;
1320 pRcf->pfWelsRcMbInit = WelsRcMbInitGom;1331 pRcf->pfWelsRcMbInit = WelsRcMbInitGom;
1321 pRcf->pfWelsRcMbInfoUpdate = WelsRcMbInfoUpdateGom;1332 pRcf->pfWelsRcMbInfoUpdate = WelsRcMbInfoUpdateGom;
1333 pRcf->pfWelsCheckSkipBasedMaxbr = CheckFrameSkipBasedMaxbr;
1334 pRcf->pfWelsUpdateBufferWhenSkip = UpdateBufferWhenFrameSkipped;
1335 pRcf->pfWelsUpdateMaxBrWindowStatus = UpdateMaxBrCheckWindowStatus;
1336
1322 }1337 }
1323 break;1338 break;
1324 case RC_QUALITY_MODE:1339 case RC_QUALITY_MODE:
@@ -1328,6 +1343,10 @@ void WelsRcInitModule (void* pCtx, RC_MODES iRcMode) { · 3 unmodified lines
1328 pRcf->pfWelsRcPictureInfoUpdate = WelsRcPictureInfoUpdateGom;1343 pRcf->pfWelsRcPictureInfoUpdate = WelsRcPictureInfoUpdateGom;
1329 pRcf->pfWelsRcMbInit = WelsRcMbInitGom;1344 pRcf->pfWelsRcMbInit = WelsRcMbInitGom;
1330 pRcf->pfWelsRcMbInfoUpdate = WelsRcMbInfoUpdateGom;1345 pRcf->pfWelsRcMbInfoUpdate = WelsRcMbInfoUpdateGom;
1346 pRcf->pfWelsCheckSkipBasedMaxbr = CheckFrameSkipBasedMaxbr;
1347 pRcf->pfWelsUpdateBufferWhenSkip = UpdateBufferWhenFrameSkipped;
1348 pRcf->pfWelsUpdateMaxBrWindowStatus = UpdateMaxBrCheckWindowStatus;
1349
1331 break;1350 break;
1332 }1351 }
1333 1352

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