Showing the changes to codec/encoder/plus/src/welsEncoderExt.cpp (1 of 2 files). Show all
Unified · Split
| @@ -583,24 +583,31 @@ void CWelsH264SVCEncoder::UpdateStatistics (const int64_t kiCurrentFrameTs, EVid · 582 unmodified lines | |||
| 583 | pStatistics->uiLTRSentNum ++; | 583 | pStatistics->uiLTRSentNum ++; |
| 584 | } | 584 | } |
| 585 | 585 | ||
| 586 | m_pEncContext->iTotalEncodedBits += (kiCurrentFrameSize<<3); | 586 | m_pEncContext->iTotalEncodedBits += (kiCurrentFrameSize << 3); |
| 587 | 587 | ||
| 588 | if (m_pEncContext->iStatisticsLogInterval > 0) { | 588 | const int32_t kiDeltaFrames = static_cast<int32_t> (pStatistics->uiInputFrameCount - |
| 589 | int64_t iTimeDiff = kiCurrentFrameTs - m_pEncContext->iLastStatisticsLogTs; | 589 | m_pEncContext->iLastStatisticsFrameCount); |
| 590 | if ((iTimeDiff > m_pEncContext->iStatisticsLogInterval) || (0 == pStatistics->uiInputFrameCount % 300)) { | 590 | if (kiDeltaFrames > m_pEncContext->pSvcParam->fMaxFrameRate) { |
| 591 | if (iTimeDiff) { | 591 | const int64_t kiTimeDiff = kiCurrentFrameTs - pStatistics->iStatisticsTs; |
| 592 | pStatistics->fLatestFrameRate = static_cast<float> ((pStatistics->uiInputFrameCount - | 592 | if (kiTimeDiff) { |
| 593 | m_pEncContext->iLastStatisticsFrameCount) * 1000 / | 593 | pStatistics->fLatestFrameRate = static_cast<float> ((pStatistics->uiInputFrameCount - |
| 594 | iTimeDiff); | 594 | m_pEncContext->iLastStatisticsFrameCount) * 1000 / |
| 595 | pStatistics->uiBitRate = static_cast<unsigned int> ((m_pEncContext->iTotalEncodedBits - | 595 | kiTimeDiff); |
| 596 | m_pEncContext->iLastStatisticsBits) * 1000 / iTimeDiff); | 596 | pStatistics->uiBitRate = static_cast<unsigned int> ((m_pEncContext->iTotalEncodedBits - |
| 597 | } | 597 | m_pEncContext->iLastStatisticsBits) * 1000 / kiTimeDiff); |
| 598 | } | ||
| 598 | 599 | ||
| 599 | // update variables | 600 | // update variables |
| 600 | m_pEncContext->iLastStatisticsLogTs = kiCurrentFrameTs; | 601 | pStatistics->iStatisticsTs = kiCurrentFrameTs; |
| 601 | m_pEncContext->iLastStatisticsBits = m_pEncContext->iTotalEncodedBits; | 602 | m_pEncContext->iLastStatisticsBits = m_pEncContext->iTotalEncodedBits; |
| 602 | m_pEncContext->iLastStatisticsFrameCount = pStatistics->uiInputFrameCount; | 603 | m_pEncContext->iLastStatisticsFrameCount = pStatistics->uiInputFrameCount; |
| 603 | 604 | ||
| 605 | //TODO: the following statistics will be calculated and added later | ||
| 606 | //pStatistics->uiLTRSentNum | ||
| 607 | } | ||
| 608 | if (m_pEncContext->iStatisticsLogInterval > 0) { | ||
| 609 | const int64_t kiTimeDiff = kiCurrentFrameTs - m_pEncContext->iLastStatisticsLogTs; | ||
| 610 | if ((kiTimeDiff > m_pEncContext->iStatisticsLogInterval) || (0 == pStatistics->uiInputFrameCount % 300)) { | ||
| 604 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, | 611 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, |
| 605 | "EncoderStatistics: %dx%d, SpeedInMs: %f, fAverageFrameRate=%f, \ | 612 | "EncoderStatistics: %dx%d, SpeedInMs: %f, fAverageFrameRate=%f, \ |
| 606 | LastFrameRate=%f, LatestBitRate=%d, LastFrameQP=%d, uiInputFrameCount=%d, uiSkippedFrameCount=%d, \ | 613 | LastFrameRate=%f, LatestBitRate=%d, LastFrameQP=%d, uiInputFrameCount=%d, uiSkippedFrameCount=%d, \ |
| @@ -610,8 +617,7 @@ void CWelsH264SVCEncoder::UpdateStatistics (const int64_t kiCurrentFrameTs, EVid · 3 unmodified lines | |||
| 610 | pStatistics->fLatestFrameRate, pStatistics->uiBitRate, pStatistics->uiAverageFrameQP, | 617 | pStatistics->fLatestFrameRate, pStatistics->uiBitRate, pStatistics->uiAverageFrameQP, |
| 611 | pStatistics->uiInputFrameCount, pStatistics->uiSkippedFrameCount, | 618 | pStatistics->uiInputFrameCount, pStatistics->uiSkippedFrameCount, |
| 612 | pStatistics->uiResolutionChangeTimes, pStatistics->uiIDRReqNum, pStatistics->uiIDRSentNum); | 619 | pStatistics->uiResolutionChangeTimes, pStatistics->uiIDRReqNum, pStatistics->uiIDRSentNum); |
| 613 | //TODO: the following statistics will be calculated and added later | 620 | m_pEncContext->iLastStatisticsLogTs = kiCurrentFrameTs; |
| 614 | //pStatistics->uiLTRSentNum | ||
| 615 | } | 621 | } |
| 616 | } | 622 | } |
| 617 | 623 | ||