[x265] [PATCH 07 of 13] stats: report row0wait and frame end overhead seperate from wall time

Steve Borho steve at borho.org
Wed Jan 28 21:32:22 CET 2015


# HG changeset patch
# User Steve Borho <steve at borho.org>
# Date 1422470661 21600
#      Wed Jan 28 12:44:21 2015 -0600
# Node ID 090d305c57084e7ff0927520ef6167b9ce5364ca
# Parent  6cd6e04a0abd944aec2efdaf987fa087f1a74497
stats: report row0wait and frame end overhead seperate from wall time

These are times where the frame encoder is either blocked for reference
dependencies or is doing some non-compression related work

diff -r 6cd6e04a0abd -r 090d305c5708 source/encoder/encoder.cpp
--- a/source/encoder/encoder.cpp	Wed Jan 28 12:32:58 2015 -0600
+++ b/source/encoder/encoder.cpp	Wed Jan 28 12:44:21 2015 -0600
@@ -213,10 +213,9 @@
                     fprintf(m_csvfpt, "Encode Order, Type, POC, QP, Bits, ");
                     if (m_param->rc.rateControlMode == X265_RC_CRF)
                         fprintf(m_csvfpt, "RateFactor, ");
-                    fprintf(m_csvfpt, "Y PSNR, U PSNR, V PSNR, YUV PSNR, SSIM, SSIM (dB), "
-                                      "List 0, List 1");
+                    fprintf(m_csvfpt, "Y PSNR, U PSNR, V PSNR, YUV PSNR, SSIM, SSIM (dB),  List 0, List 1");
                     /* detailed performance statistics */
-                    fprintf(m_csvfpt, ", Wall time, Total CTU time, Avg WPP, Row Blocks\n");
+                    fprintf(m_csvfpt, ", Row0Wait, Wall time, FrameEnd, Total CTU time, Avg WPP, Row Blocks\n");
                 }
                 else
                     fputs(summaryCSVHeader, m_csvfpt);
@@ -1188,8 +1187,10 @@
 #define ELAPSED_SEC(start, end) (((double)(end) - (start)) / 1000000)
 
             // detailed frame statistics
-            fprintf(m_csvfpt, ", %.3lf, %.3lf",
-                ELAPSED_SEC(curEncoder->m_startCompressTime, curEncoder->m_endCompressTime),
+            fprintf(m_csvfpt, ", %.3lf, %.3lf, %.3lf, %.3lf",
+                ELAPSED_SEC(curEncoder->m_startCompressTime, curEncoder->m_row0WaitTime),
+                ELAPSED_SEC(curEncoder->m_row0WaitTime, curEncoder->m_endCompressTime),
+                ELAPSED_SEC(curEncoder->m_endCompressTime, curEncoder->m_endFrameTime),
                 ELAPSED_SEC(0, curEncoder->m_totalWorkerElapsedTime));
             if (curEncoder->m_totalActiveWorkerCount)
                 fprintf(m_csvfpt, ", %.3lf", (double)curEncoder->m_totalActiveWorkerCount / curEncoder->m_activeWorkerCountSamples);


More information about the x265-devel mailing list