History

Merge pull request #2195 from sijchen/add_stat_log

[Encoder] Log enhancement for easier debugging

HaiboZhu committed 11 years ago

Commit 02926472 parents 8eed27a b86bd5f3 files · +29 −14Browse 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+25−14
@@ -475,8 +475,8 @@ int CWelsH264SVCEncoder::ForceIntraFrame (bool bIDR) { · 474 unmodified lines
475475 if (! (m_pEncContext && m_bInitialFlag)) {
476476 return 1;
477477 }
478− WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
479− "CWelsH264SVCEncoder::ForceIntraFrame(), bIDR= %d", bIDR);
478+ //WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
479+ // "CWelsH264SVCEncoder::ForceIntraFrame(), bIDR= %d", bIDR);
480480
481481 ForceCodingIDR (m_pEncContext);
482482
@@ -541,6 +541,21 @@ void CWelsH264SVCEncoder::TraceParamInfo (SEncParamExt* pParam) { · 58 unmodified lines
541541 }
542542 }
543543
544+void CWelsH264SVCEncoder::LogStatistics (const int64_t kiCurrentFrameTs) {
545+ SEncoderStatistics* pStatistics = & (m_pEncContext->sEncoderStatistics);
546+ WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
547+ "EncoderStatistics: %dx%d, SpeedInMs: %f, fAverageFrameRate=%f, "
548+ "LastFrameRate=%f, LatestBitRate=%d, LastFrameQP=%d, uiInputFrameCount=%d, uiSkippedFrameCount=%d, "
549+ "uiResolutionChangeTimes=%d, uIDRReqNum=%d, uIDRSentNum=%d, uLTRSentNum=NA, iTotalEncodedBytes=%" PRId64
550+ " at Ts = %" PRId64,
551+ pStatistics->uiWidth, pStatistics->uiHeight,
552+ pStatistics->fAverageFrameSpeedInMs, pStatistics->fAverageFrameRate,
553+ pStatistics->fLatestFrameRate, pStatistics->uiBitRate, pStatistics->uiAverageFrameQP,
554+ pStatistics->uiInputFrameCount, pStatistics->uiSkippedFrameCount,
555+ pStatistics->uiResolutionChangeTimes, pStatistics->uiIDRReqNum, pStatistics->uiIDRSentNum,
556+ m_pEncContext->iTotalEncodedBytes, kiCurrentFrameTs);
557+}
558+
544559 void CWelsH264SVCEncoder::UpdateStatistics (const int64_t kiCurrentFrameTs, EVideoFrameType eFrameType,
545560 const int32_t kiCurrentFrameSize, const int64_t kiCurrentFrameMs) {
546561 SEncoderStatistics* pStatistics = & (m_pEncContext->sEncoderStatistics);
@@ -624,21 +639,12 @@ void CWelsH264SVCEncoder::UpdateStatistics (const int64_t kiCurrentFrameTs, EVid · 77 unmodified lines
624639 if ((kiTimeDiff > m_pEncContext->iStatisticsLogInterval) || (0 == pStatistics->uiInputFrameCount % 300)) {
625640 if (WELS_ABS (pStatistics->fAverageFrameRate - m_pEncContext->pSvcParam->fMaxFrameRate) > 30) {
626641 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_WARNING,
627− "Actual input framerate fAverageFrameRate = %f is quite different from framerate in setting %f, please check setting or timestamp unit (ms), start_Ts = %" PRId64,
642+ "Actual input framerate fAverageFrameRate = %f is quite different from framerate in setting %f, please check setting or timestamp unit (ms), start_Ts = %"
643+ PRId64,
628644 pStatistics->fAverageFrameRate, m_pEncContext->pSvcParam->fMaxFrameRate, m_pEncContext->uiStartTimestamp);
629645 }
630646
631− WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
632− "EncoderStatistics: %dx%d, SpeedInMs: %f, fAverageFrameRate=%f, "
633− "LastFrameRate=%f, LatestBitRate=%d, LastFrameQP=%d, uiInputFrameCount=%d, uiSkippedFrameCount=%d, "
634− "uiResolutionChangeTimes=%d, uIDRReqNum=%d, uIDRSentNum=%d, uLTRSentNum=NA, iTotalEncodedBytes=%" PRId64
635− " at Ts = %" PRId64,
636− pStatistics->uiWidth, pStatistics->uiHeight,
637− pStatistics->fAverageFrameSpeedInMs, pStatistics->fAverageFrameRate,
638− pStatistics->fLatestFrameRate, pStatistics->uiBitRate, pStatistics->uiAverageFrameQP,
639− pStatistics->uiInputFrameCount, pStatistics->uiSkippedFrameCount,
640− pStatistics->uiResolutionChangeTimes, pStatistics->uiIDRReqNum, pStatistics->uiIDRSentNum,
641− m_pEncContext->iTotalEncodedBytes, kiCurrentFrameTs);
647+ LogStatistics (kiCurrentFrameTs);
642648 m_pEncContext->iLastStatisticsLogTs = kiCurrentFrameTs;
643649 }
644650 }
@@ -772,6 +778,11 @@ int CWelsH264SVCEncoder::SetOption (ENCODER_OPTION eOptionId, void* pOption) { · 127 unmodified lines
772778 if (WelsEncoderParamAdjust (&m_pEncContext, &sConfig)) {
773779 return cmInitParaError;
774780 }
781+
782+ //LogStatistics
783+ WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
784+ "CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_SVC_ENCODE_PARAM_EXT, LogStatisticsBeforeNewEncoding");
785+ LogStatistics (m_pEncContext->iLastStatisticsLogTs);
775786 }
776787 break;
777788 case ENCODER_OPTION_FRAME_RATE: { // Maximal input frame rate

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