[x265] [PATCH] stats: write encoder summary in the console to libx265
Steve Borho
steve at borho.org
Fri Jun 12 17:03:24 CEST 2015
On 06/12, Divya Manivannan wrote:
> # HG changeset patch
> # User Divya Manivannan <divya at multicorewareinc.com>
> # Date 1434101056 -19800
> # Fri Jun 12 14:54:16 2015 +0530
> # Node ID 91f6f8daef59781f45d3d13a931b7b6196a31465
> # Parent 54c798d021019d820224bdd74cb78e20bf317fc8
> stats: write encoder summary in the console to libx265
sure, don't see why not
> diff -r 54c798d02101 -r 91f6f8daef59 source/encoder/encoder.cpp
> --- a/source/encoder/encoder.cpp Fri Jun 12 14:27:01 2015 +0530
> +++ b/source/encoder/encoder.cpp Fri Jun 12 14:54:16 2015 +0530
> @@ -786,8 +786,6 @@
> x265_log(m_param, X265_LOG_INFO, "frame P: %s\n", statsString(m_analyzeP, buffer));
> if (m_analyzeB.m_numPics)
> x265_log(m_param, X265_LOG_INFO, "frame B: %s\n", statsString(m_analyzeB, buffer));
> - if (m_analyzeAll.m_numPics)
> - x265_log(m_param, X265_LOG_INFO, "global : %s\n", statsString(m_analyzeAll, buffer));
> if (m_param->bEnableWeightedPred && m_analyzeP.m_numPics)
> {
> x265_log(m_param, X265_LOG_INFO, "Weighted P-Frames: Y:%.1f%% UV:%.1f%%\n",
> @@ -821,6 +819,30 @@
> x265_log(m_param, X265_LOG_INFO, "lossless compression ratio %.2f::1\n", uncompressed / m_analyzeAll.m_accBits);
> }
>
> + if (m_analyzeAll.m_numPics)
> + {
> + int p = 0;
> + double elapsedEncodeTime = (double)(x265_mdate() - m_encodeStartTime) / 1000000;
> + double elapsedVideoTime = (double)m_analyzeAll.m_numPics * m_param->fpsDenom / m_param->fpsNum;
> + double bitrate = (0.001f * m_analyzeAll.m_accBits) / elapsedVideoTime;
> +
> + p += sprintf(buffer + p, "\nencoded %d frames in %.2fs (%.2f fps), %.2f kb/s, Avg QP:%2.2lf", m_analyzeAll.m_numPics,
> + elapsedEncodeTime, m_analyzeAll.m_numPics / elapsedEncodeTime, bitrate, m_analyzeAll.m_totalQp / (double)m_analyzeAll.m_numPics);
> +
> + if (m_param->bEnablePsnr)
> + {
> + double globalPsnr = (m_analyzeAll.m_psnrSumY * 6 + m_analyzeAll.m_psnrSumU + m_analyzeAll.m_psnrSumV) / (8 * m_analyzeAll.m_numPics);
> + p += sprintf(buffer + p, ", Global PSNR: %.3f", globalPsnr);
> + }
> +
> + if (m_param->bEnableSsim)
> + p += sprintf(buffer + p, ", SSIM Mean Y: %.7f (%6.3f dB)", m_analyzeAll.m_globalSsim / m_analyzeAll.m_numPics, x265_ssim2dB(m_analyzeAll.m_globalSsim / m_analyzeAll.m_numPics));
> +
> + sprintf(buffer + p, "\n");
> + general_log(m_param, NULL, X265_LOG_INFO, buffer);
> + }
> + else
> + general_log(m_param, NULL, X265_LOG_INFO, "\nencoded 0 frames\n");
>
> #if DETAILED_CU_STATS
> /* Summarize stats from all frame encoders */
> diff -r 54c798d02101 -r 91f6f8daef59 source/x265.cpp
> --- a/source/x265.cpp Fri Jun 12 14:27:01 2015 +0530
> +++ b/source/x265.cpp Fri Jun 12 14:54:16 2015 +0530
> @@ -896,26 +896,6 @@
> general_log(param, NULL, X265_LOG_INFO, "aborted at input frame %d, output frame %d\n",
> cliopt.seek + inFrameCount, stats.encodedPictureCount);
>
> - if (stats.encodedPictureCount)
> - {
> - char buffer[4096];
> - int p = sprintf(buffer, "\nencoded %d frames in %.2fs (%.2f fps), %.2f kb/s", stats.encodedPictureCount,
> - stats.elapsedEncodeTime, stats.encodedPictureCount / stats.elapsedEncodeTime, stats.bitrate);
> -
> - if (param->bEnablePsnr)
> - p += sprintf(buffer + p, ", Global PSNR: %.3f", stats.globalPsnr);
> -
> - if (param->bEnableSsim)
> - p += sprintf(buffer + p, ", SSIM Mean Y: %.7f (%6.3f dB)", stats.globalSsim, x265_ssim2dB(stats.globalSsim));
> -
> - sprintf(buffer + p, "\n");
> - general_log(param, NULL, X265_LOG_INFO, buffer);
> - }
> - else
> - {
> - general_log(param, NULL, X265_LOG_INFO, "\nencoded 0 frames\n");
> - }
> -
> api->cleanup(); /* Free library singletons */
>
> cliopt.destroy();
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
--
Steve Borho
More information about the x265-devel
mailing list