# HG changeset patch # User Aarthi Thirumalai # Date 1408946307 -19800 # Mon Aug 25 11:28:27 2014 +0530 # Node ID c71cf2abe789b7bb7696201c9cff99c438109a0a # Parent 6e6756f94b27c3ef30f6159f1880112a7ff978e3 rc: write I/i slice in stats file based on whether openGop is enabled or not.
diff -r 6e6756f94b27 -r c71cf2abe789 source/encoder/ratecontrol.cpp --- a/source/encoder/ratecontrol.cpp Fri Aug 22 15:53:34 2014 -0500 +++ b/source/encoder/ratecontrol.cpp Mon Aug 25 11:28:27 2014 +0530 @@ -320,6 +320,7 @@ m_startEndOrder.set(0); m_bTerminated = false; m_finalFrameCount = 0; + m_numEntries = 0; if (m_param->rc.rateControlMode == X265_RC_CRF) { m_param->rc.qp = (int)m_param->rc.rfConstant; @@ -1033,7 +1034,7 @@ m_param->bframes = 1; return X265_TYPE_AUTO; } - int frameType = m_rce2Pass[frameNum].sliceType == I_SLICE ? (m_rce2Pass[frameNum].poc == 0 ? X265_TYPE_I : X265_TYPE_IDR) + int frameType = m_rce2Pass[frameNum].sliceType == I_SLICE ? (frameNum > 0 && m_param->bOpenGOP ? X265_TYPE_I : X265_TYPE_IDR) : m_rce2Pass[frameNum].sliceType == P_SLICE ? X265_TYPE_P : (m_rce2Pass[frameNum].sliceType == B_SLICE && m_rce2Pass[frameNum].keptAsRef? X265_TYPE_BREF : X265_TYPE_B); return frameType; @@ -2080,7 +2081,7 @@ // Write frame stats into the stats file if 2 pass is enabled. if (m_param->rc.bStatWrite) { - char cType = rce->sliceType == I_SLICE ? (rce->poc == 0 ? 'I' : 'i') + char cType = rce->sliceType == I_SLICE ? (rce->poc > 0 && m_param->bOpenGOP ? 'i' : 'I') : rce->sliceType == P_SLICE ? 'P' : IS_REFERENCED(slice) ? 'B' : 'b'; if (fprintf(m_statFileOut, _______________________________________________ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel