[x265] [PATCH] rcStats: add more fields to rcStats

gopi.satykrishna at multicorewareinc.com gopi.satykrishna at multicorewareinc.com
Mon Apr 10 14:42:55 CEST 2017


# HG changeset patch
# User Gopi Satykrishna Akisetty <gopi.satykrishna at multicorewareinc.com>
# Date 1490695845 -19800
#      Tue Mar 28 15:40:45 2017 +0530
# Node ID 15d8739ea4e37def1ba00883cd6d010529b5d590
# Parent  c7b7c736696f67d990d4c77367dff9124d935350
rcStats: add more fields to rcStats

diff -r c7b7c736696f -r 15d8739ea4e3 source/common/frame.h
--- a/source/common/frame.h	Mon Apr 10 11:42:20 2017 +0530
+++ b/source/common/frame.h	Tue Mar 28 15:40:45 2017 +0530
@@ -60,6 +60,12 @@
     int      encodeOrder;
     int      sliceType;
     int      keptAsRef;
+    double   wantedBitsWindow;
+    double   cplxrSum;
+    double   shortTermCplxSum;
+    double   shortTermCplxCount;
+    int64_t  totalBits;
+    int64_t  encodedBits;
 };
 
 class Frame
diff -r c7b7c736696f -r 15d8739ea4e3 source/encoder/ratecontrol.cpp
--- a/source/encoder/ratecontrol.cpp	Mon Apr 10 11:42:20 2017 +0530
+++ b/source/encoder/ratecontrol.cpp	Tue Mar 28 15:40:45 2017 +0530
@@ -1348,6 +1348,8 @@
         curFrame->m_rcData->cumulativePNorm = m_accumPNorm;
         for (int i = 0; i < 3; i++)
             curFrame->m_rcData->lastQScaleFor[i] = m_lastQScaleFor[i];
+        curFrame->m_rcData->shortTermCplxSum = m_shortTermCplxSum;
+        curFrame->m_rcData->shortTermCplxCount = m_shortTermCplxCount;
     }
     else // CQP
     {
@@ -2693,6 +2695,10 @@
         int qp = int (rce->qpaRc + 0.5);
         m_qpToEncodedBits[qp] =  m_qpToEncodedBits[qp] == 0 ? actualBits : (m_qpToEncodedBits[qp] + actualBits) * 0.5;
         }
+        curFrame->m_rcData->wantedBitsWindow = m_wantedBitsWindow;
+        curFrame->m_rcData->cplxrSum = m_cplxrSum;
+        curFrame->m_rcData->totalBits = m_totalBits;
+        curFrame->m_rcData->encodedBits = m_encodedBits;
     }
 
     if (m_2pass)


More information about the x265-devel mailing list