<div dir="ltr">Test machine - I5-4440 Haswell<br><br>1) Video: ducks_take_off_420_720p50.y4m<br><div>--input E:\TestSequences\ducks_take_off_420_720p50.y4m --preset veryslow --hash 1 --bitrate 3500 --output op.hevc --ssim --tune ssim<br>encoded 500 frames in 228.44s (2.19 fps), 3542.00 kb/s, Avg QP:40.23, SSIM Mean Y: 0.8583162 ( 8.487 dB)<br><br>--input E:\TestSequences\ducks_take_off_420_720p50.y4m --preset veryslow --hash 1 --bitrate 3500 --output op.hevc --ssim --tune ssim --limit-TU 1<br>encoded 500 frames in 212.47s (2.35 fps), 3542.84 kb/s, Avg QP:40.23, SSIM Mean Y: 0.8582706 ( 8.485 dB)<br><br>--input E:\TestSequences\ducks_take_off_420_720p50.y4m --preset veryslow --hash 1 --bitrate 3500 --output op.hevc --ssim --tune ssim --limit-TU 2<br>encoded 500 frames in 203.92s (2.45 fps), 3542.46 kb/s, Avg QP:40.23, SSIM Mean Y: 0.8582912 ( 8.486 dB)<br><br><br>2) Video : Johnny_1280x720_60.y4m<br>--input E:\TestSequences\Johnny_1280x720_60.y4m --preset veryslow --hash 1 --bitrate 3500 --output op.hevc --ssim --tune ssim<br>encoded 600 frames in 191.64s (3.13 fps), 3412.73 kb/s, Avg QP:24.64, SSIM Mean Y: 0.9732328 (15.724 dB)<br><br>--input E:\TestSequences\Johnny_1280x720_60.y4m --preset veryslow --hash 1 --bitrate 3500 --output op.hevc --ssim --tune ssim --limit-TU 1<br>encoded 600 frames in 172.39s (3.48 fps), 3413.65 kb/s, Avg QP:24.62, SSIM Mean Y: 0.9732404 (15.725 dB)<br><br>--input E:\TestSequences\Johnny_1280x720_60.y4m --preset veryslow --hash 1 --bitrate 3500 --output op.hevc --ssim --tune ssim --limit-TU 2<br>encoded 600 frames in 162.40s (3.69 fps), 3413.30 kb/s, Avg QP:24.62, SSIM Mean Y: 0.9732278 (15.723 dB)<br><br><br></div><div>3) Video: Kimono1_1920x1080_24.y4m<br>--input E:\TestSequences\Kimono1_1920x1080_24.y4m --preset veryslow --hash 1 --bitrate 9000 --output op.hevc --ssim --tune ssim<br>encoded 240 frames in 430.29s (0.56 fps), 8477.26 kb/s, Avg QP:22.92, SSIM Mean Y: 0.9640507 (14.443 dB)<br><br>--input E:\TestSequences\Kimono1_1920x1080_24.y4m --preset veryslow --hash 1 --bitrate 9000 --output op.hevc --ssim --tune ssim --limit-TU 1<br>encoded 240 frames in 403.67s (0.59 fps), 8474.58 kb/s, Avg QP:22.91, SSIM Mean Y: 0.9640510 (14.443 dB)<br><br>--input E:\TestSequences\Kimono1_1920x1080_24.y4m --preset veryslow 
--hash 1 --bitrate 9000 --output op.hevc --ssim --tune ssim --limit-TU 2<br>encoded 240 frames in 393.87s (0.61 fps), 8472.13 kb/s, Avg QP:22.92, SSIM Mean Y: 0.9640245 (14.440 dB)<br><br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 4, 2016 at 6:58 PM, Ashok Kumar Mishra <span dir="ltr"><<a href="mailto:ashok@multicorewareinc.com" target="_blank">ashok@multicorewareinc.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Can you please paste the performance improvement figures for some of the videos ?</div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Tue, Oct 4, 2016 at 2:50 PM,  <span dir="ltr"><<a href="mailto:kavitha@multicorewareinc.com" target="_blank">kavitha@multicorewareinc.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"># HG changeset patch<br>
# User Kavitha Sampath <<a href="mailto:kavitha@multicorewareinc.com" target="_blank">kavitha@multicorewareinc.com</a>><br>
# Date 1475238341 -19800<br>
#      Fri Sep 30 17:55:41 2016 +0530<br>
# Node ID 3ae30a43ac939fe875eaec7f22d134<wbr>711b00c449<br>
# Parent  c018bc0ffc156902b1a9a13ecd6996<wbr>d30d7403df<br>
limitTU: use max TU depth of first subTU to limit recursion of others in split<br>
<br>
diff -r c018bc0ffc15 -r 3ae30a43ac93 source/encoder/search.cpp<br>
--- a/source/encoder/search.cpp Fri Sep 23 14:22:41 2016 +0530<br>
+++ b/source/encoder/search.cpp Fri Sep 30 17:55:41 2016 +0530<br>
@@ -67,6 +67,7 @@<br>
     m_param = NULL;<br>
     m_slice = NULL;<br>
     m_frame = NULL;<br>
+    m_maxTUDepth = 0;<br>
 }<br>
<br>
 bool Search::initSearch(const x265_param& param, ScalingList& scalingList)<br>
@@ -2617,6 +2618,8 @@<br>
<br>
     m_entropyCoder.load(m_rqt[dep<wbr>th].cur);<br>
<br>
+    if (m_param->limitTU == X265_TU_LIMIT_DFS)<br>
+        m_maxTUDepth = 0;<br>
     Cost costs;<br>
     estimateResidualQT(interMode, cuGeom, 0, 0, *resiYuv, costs, tuDepthRange);<br>
<br>
@@ -2876,6 +2879,11 @@<br>
<br>
     bool bCheckSplit = log2TrSize > depthRange[0];<br>
     bool bCheckFull = log2TrSize <= depthRange[1];<br>
+    if (m_param->limitTU == X265_TU_LIMIT_DFS && m_maxTUDepth)<br>
+    {<br>
+        uint32_t log2MaxTrSize = cuGeom.log2CUSize - m_maxTUDepth;<br>
+        bCheckSplit = log2TrSize > log2MaxTrSize;<br>
+    }<br>
     bool bSplitPresentFlag = bCheckSplit && bCheckFull;<br>
<br>
     if (cu.m_partSize[0] != SIZE_2Nx2N && !tuDepth && bCheckSplit)<br>
@@ -3372,6 +3380,11 @@<br>
         uint32_t ycbf = 0, ucbf = 0, vcbf = 0;<br>
         for (uint32_t qIdx = 0, qPartIdx = absPartIdx; qIdx < 4; ++qIdx, qPartIdx += qNumParts)<br>
         {<br>
+            if (m_param->limitTU == X265_TU_LIMIT_DFS && tuDepth == 0 && qIdx == 1)<br>
+            {<br>
+                for (uint32_t i = 0; i < cuGeom.numPartitions / 4; i++)<br>
+                    m_maxTUDepth = X265_MAX(m_maxTUDepth, cu.m_tuDepth[i]);<br>
+            }<br>
             estimateResidualQT(mode, cuGeom, qPartIdx, tuDepth + 1, resiYuv, splitCost, depthRange);<br>
             ycbf |= cu.getCbf(qPartIdx, TEXT_LUMA,     tuDepth + 1);<br>
             if (m_csp != X265_CSP_I400 && m_frame->m_fencPic->m_picCsp != X265_CSP_I400)<br>
diff -r c018bc0ffc15 -r 3ae30a43ac93 source/encoder/search.h<br>
--- a/source/encoder/search.h   Fri Sep 23 14:22:41 2016 +0530<br>
+++ b/source/encoder/search.h   Fri Sep 30 17:55:41 2016 +0530<br>
@@ -274,6 +274,7 @@<br>
     bool            m_bFrameParallel;<br>
     uint32_t        m_numLayers;<br>
     uint32_t        m_refLagPixels;<br>
+    uint32_t        m_maxTUDepth;<br>
<br>
     int16_t         m_sliceMaxY;<br>
     int16_t         m_sliceMinY;<br></div></div>
______________________________<wbr>_________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org" target="_blank">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/l<wbr>istinfo/x265-devel</a><br>
</blockquote></div><br></div>
<br>______________________________<wbr>_________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/<wbr>listinfo/x265-devel</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><span style="color:rgb(0,0,0)">Regards,<br>Kavitha</span></div></div></div></div>
</div>