History

add iBitsVaryPercentage parameters to control bitrate

ruil2 committed 11 years ago

Commit 7c0369d1 parent 82b70b33 files · +17 −5Browse files

Showing the changes to codec/encoder/plus/src/welsEncoderExt.cpp (1 of 3 files). Show all

Unified · Split

codec/encoder/plus/src/welsEncoderExt.cpp+12−3
@@ -642,10 +642,11 @@ void CWelsH264SVCEncoder::UpdateStatistics (const int64_t kiCurrentFrameTs, EVid · 641 unmodified lines
642642 int64_t iTimeDiff = kiCurrentFrameTs - m_pEncContext->iLastStatisticsLogTs;
643643 if ((iTimeDiff > m_pEncContext->iStatisticsLogInterval) || (0 == pStatistics->uiInputFrameCount % 300)) {
644644 if (iTimeDiff) {
645− pStatistics->fLatestFrameRate = static_cast<float> ((pStatistics->uiInputFrameCount - m_pEncContext->iLastStatisticsFrameCount) * 1000 /
646− iTimeDiff);
645+ pStatistics->fLatestFrameRate = static_cast<float> ((pStatistics->uiInputFrameCount -
646+ m_pEncContext->iLastStatisticsFrameCount) * 1000 /
647+ iTimeDiff);
647648 pStatistics->uiBitRate = static_cast<unsigned int> ((m_pEncContext->iTotalEncodedBits -
648− m_pEncContext->iLastStatisticsBits) * 1000 / iTimeDiff);
649+ m_pEncContext->iLastStatisticsBits) * 1000 / iTimeDiff);
649650 }
650651
651652 // update variables
@@ -1072,6 +1073,14 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 420 unmodified lines
10721073 "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_IS_LOSSLESS_LINK,bIsLosslessLink = %d", bValue);
10731074 }
10741075 break;
1076+ case ENCODER_OPTION_BITS_VARY_PERCENTAGE: {
1077+ bool bValue = * (static_cast<bool*> (pOption));
1078+ m_pEncContext->pSvcParam->iBitsVaryPercentage = bValue;
1079+ WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
1080+ "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_BITS_VARY_PERCENTAGE,iBitsVaryPercentage = %d", bValue);
1081+ }
1082+ break;
1083+
10751084 default:
10761085 return cmInitParaError;
10771086 }

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