# HG changeset patch
# User Divya Manivannan <di...@multicorewareinc.com>
# Date 1474457686 -19800
#      Wed Sep 21 17:04:46 2016 +0530
# Branch stable
# Node ID e76d00a928b2c37299ad99defee3ba5217191419
# Parent  eceb4f1ee953237781d68be333ee0b7a69d42448
rc: fix average P-frame qp in 2-pass

diff -r eceb4f1ee953 -r e76d00a928b2 source/encoder/ratecontrol.cpp
--- a/source/encoder/ratecontrol.cpp    Wed Sep 21 10:46:14 2016 +0530
+++ b/source/encoder/ratecontrol.cpp    Wed Sep 21 17:04:46 2016 +0530
@@ -1718,6 +1718,15 @@
                 q = X265_MIN(x265_qp2qScale(ABR_INIT_QP_GRAIN_MAX), q);
 
             rce->qpNoVbv = x265_qScale2qp(q);
+            if ((m_sliceType == I_SLICE && m_param->keyframeMax > 1
+                && m_lastNonBPictType != I_SLICE && !m_isAbrReset) || 
(m_isNextGop && !m_framesDone))
+                m_avgPFrameQp = 0;
+            if (m_sliceType == P_SLICE)
+            {
+                m_avgPFrameQp = m_avgPFrameQp == 0 ? rce->qpNoVbv : 
m_avgPFrameQp;
+                m_avgPFrameQp = (m_avgPFrameQp + rce->qpNoVbv) / 2;
+            }
+
             if (m_isVbv)
             {
                 /* Do not overflow vbv */
_______________________________________________
x265-devel mailing list
x265-devel@videolan.org
https://mailman.videolan.org/listinfo/x265-devel

Reply via email to