shithub: openh264

Download patch

ref: 8b9be2b3dc0017bc584d2cf0b2d88604e382e808
parent: 8c7aaa8421bea7876904c0f3a63fe6a3229924a1
author: huili2 <huili2@cisco.com>
date: Mon Dec 1 14:01:06 EST 2014

accumulate dec stat

--- a/codec/api/svc/codec_app_def.h
+++ b/codec/api/svc/codec_app_def.h
@@ -621,8 +621,8 @@
   uiAvgEcRatio;                                ///< when EC is on, the average ratio of correct or EC areas, can be an indicator of reconstruction quality
   unsigned int uiEcIDRNum;                     ///< number of actual unintegrity IDR or not received but eced
   unsigned int uiEcFrameNum;                   ///<
-  unsigned int uiIDRLostNum;                   ///< number of lost IDR
-  unsigned int uiFreezingIDRNum;               ///< number of freezing IDR with error
+  unsigned int uiIDRLostNum;                   ///< number of whole lost IDR
+  unsigned int uiFreezingIDRNum;               ///< number of freezing IDR with error (partly received), under resolution change
   unsigned int uiFreezingNonIDRNum;            ///< number of freezing non-IDR with error
   int iAvgLumaQp;                              ///< average luma QP. default: -1, no correct frame outputted
 
--- a/codec/decoder/plus/src/welsDecoderExt.cpp
+++ b/codec/decoder/plus/src/welsDecoderExt.cpp
@@ -373,8 +373,6 @@
 
     pDecoderStatistics->fAverageFrameSpeedInMs = (float) (m_pDecContext->dDecTime) /
         (m_pDecContext->sDecoderStatistics.uiDecodedFrameCount);
-    ResetDecStatNums (&m_pDecContext->sDecoderStatistics);
-    m_pDecContext->dDecTime = 0;
 
     return cmResultSuccess;
   }
@@ -497,8 +495,8 @@
 
     m_pDecContext->sDecoderStatistics.uiDecodedFrameCount++;
     if (m_pDecContext->sDecoderStatistics.uiDecodedFrameCount == 0) { //exceed max value of uint32_t
-        ResetDecStatNums (&m_pDecContext->sDecoderStatistics);
-        m_pDecContext->sDecoderStatistics.uiDecodedFrameCount++;
+      ResetDecStatNums (&m_pDecContext->sDecoderStatistics);
+      m_pDecContext->sDecoderStatistics.uiDecodedFrameCount++;
     }
 
     if ((m_pDecContext->sDecoderStatistics.uiWidth != (unsigned int) pDstInfo->UsrData.sSystemBuffer.iWidth)