<div dir="ltr">can you resend this patch, conflicts with your earlier one.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Nov 24, 2015 at 11:47 PM,  <span dir="ltr"><<a href="mailto:aarthi@multicorewareinc.com" target="_blank">aarthi@multicorewareinc.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"># HG changeset patch<br>
# User Aarthi Thirumalai <<a href="mailto:aarthi@multicorewareinc.com">aarthi@multicorewareinc.com</a>><br>
<span class=""># Date 1448384595 -19800<br>
#      Tue Nov 24 22:33:15 2015 +0530<br>
# Branch stable<br>
</span># Node ID d17f491e06152f4627152a36169c272651bd5e3d<br>
<span class=""># Parent  0c49c9cc75e4c1ef9534a28b49b97b9107636f5d<br>
rc: record RF details in csv for 2 pass CRF<br>
<br>
</span>diff -r 0c49c9cc75e4 -r d17f491e0615 source/encoder/ratecontrol.cpp<br>
<span class="">--- a/source/encoder/ratecontrol.cpp    Mon Nov 23 14:06:10 2015 +0530<br>
+++ b/source/encoder/ratecontrol.cpp    Tue Nov 24 22:33:15 2015 +0530<br>
@@ -1141,6 +1141,7 @@<br>
     }<br>
     if (!m_isAbr && m_2pass && m_param->rc.rateControlMode == X265_RC_CRF)<br>
     {<br>
+        rce->oldQScale = rce->qScale;<br>
         rce->qScale = rce->newQScale;<br>
         rce->qpaRc = curEncData.m_avgQpRc = curEncData.m_avgQpAq = x265_qScale2qp(rce->newQScale);<br>
         m_qp = int(rce->qpaRc + 0.5);<br>
</span>@@ -1704,6 +1705,7 @@<br>
             bool isFrameAfterScenecut = m_sliceType!= I_SLICE && m_curSlice->m_refPicList[0][0]->m_lowres.bScenecut;<br>
             if (!m_2pass && m_isVbv && isFrameAfterScenecut)<br>
                 q = x265_clip3(lqmin, lqmax, q);<br>
+            rce->qScale = q;<br>
         }<br>
         m_lastQScaleFor[m_sliceType] = q;<br>
         if ((m_curSlice->m_poc == 0 || m_lastQScaleFor[P_SLICE] < q) && !(m_2pass && !m_isVbv))<br>
@@ -2337,10 +2339,12 @@<br>
<span class="">     {<br>
         if (m_param->rc.rateControlMode == X265_RC_ABR && !m_param->rc.bStatRead)<br>
             checkAndResetABR(rce, true);<br>
+    }<br>
<br>
-        if (m_param->rc.rateControlMode == X265_RC_CRF)<br>
+     if (m_param->rc.rateControlMode == X265_RC_CRF)<br>
         {<br>
-            if (int(curEncData.m_avgQpRc + 0.5) == slice->m_sliceQp)<br>
+            if ((int(curEncData.m_avgQpRc + 0.5) == slice->m_sliceQp && !m_2pass) ||<br>
+                (rce->oldQScale == rce->qScale))<br>
                 curEncData.m_rateFactor = m_rateFactorConstant;<br>
             else<br>
             {<br>
</span>@@ -2351,7 +2355,6 @@<br>
<span class="">                     x265_qp2qScale(int(curEncData.m_avgQpRc + 0.5) + mbtree_offset);<br>
             }<br>
         }<br>
-    }<br>
<br>
     if (m_isAbr && !m_isAbrReset)<br>
     {<br>
</span>diff -r 0c49c9cc75e4 -r d17f491e0615 source/encoder/ratecontrol.h<br>
<div class="HOEnZb"><div class="h5">--- a/source/encoder/ratecontrol.h      Mon Nov 23 14:06:10 2015 +0530<br>
+++ b/source/encoder/ratecontrol.h      Tue Nov 24 22:33:15 2015 +0530<br>
@@ -101,6 +101,7 @@<br>
     double   qScale;<br>
     double   newQScale;<br>
     double   newQp;<br>
+    double   oldQScale;<br>
     int      mvBits;<br>
     int      miscBits;<br>
     int      coeffBits;<br>
_______________________________________________<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/listinfo/x265-devel</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr"><div><div>Deepthi Nandakumar<br></div>Engineering Manager, x265<br></div>Multicoreware, Inc<br></div></div>
</div>