History

add SetOption(ENCODER_OPTION_SVC_ENCODE_PARAM_BASE,&base) for encoder

ruil2 committed 11 years ago

Commit 8028fe71 parent e7debe72 files · +59 −3Browse files

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

Unified · Split

codec/encoder/plus/src/welsEncoderExt.cpp+28−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
@@ -727,6 +728,30 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 75 unmodified lines
727728 m_pEncContext->pSvcParam->uiIntraPeriod = (uint32_t)iValue;
728729 }
729730 break;
731+ case ENCODER_OPTION_SVC_ENCODE_PARAM_BASE: { // SVC Encoding Parameter
732+ SEncParamBase sEncodingParam;
733+ SWelsSvcCodingParam sConfig;
734+ int32_t iTargetWidth = 0;
735+ int32_t iTargetHeight = 0;
736+
737+ memcpy (&sEncodingParam, pOption, sizeof (SEncParamBase)); // confirmed_safe_unsafe_usage
738+ if (sConfig.ParamBaseTranscode (sEncodingParam)) {
739+ return cmInitParaError;
740+ }
741+ /* New configuration available here */
742+ iTargetWidth = sConfig.iPicWidth;
743+ iTargetHeight = sConfig.iPicHeight;
744+ if (m_iMaxPicWidth != iTargetWidth
745+ || m_iMaxPicHeight != iTargetHeight) {
746+ m_iMaxPicWidth = iTargetWidth;
747+ m_iMaxPicHeight = iTargetHeight;
748+ }
749+ if (WelsEncoderParamAdjust (&m_pEncContext, &sConfig)) {
750+ return cmInitParaError;
751+ }
752+ }
753+ break;
754+
730755 case ENCODER_OPTION_SVC_ENCODE_PARAM_EXT: { // SVC Encoding Parameter
731756 SEncParamExt sEncodingParam;
732757 SWelsSvcCodingParam sConfig;

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