# 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