[x265] [PATCH 1 of 4] Enable topskip and earlyexit for all rd levels <= 4 (output changes for presets faster than "slow")
deepthidevaki at multicorewareinc.com
deepthidevaki at multicorewareinc.com
Wed Dec 4 08:37:46 CET 2013
# HG changeset patch
# User Deepthi Devaki <deepthidevaki at multicorewareinc.com>
# Date 1386142479 -19800
# Node ID 57a4555507b0a15d388b8c0cf26f752918fd3f74
# Parent 1d2d60f4eb81882fa0f3ba6c4e7aa9a220968f7a
Enable topskip and earlyexit for all rd levels <= 4 (output changes for presets faster than "slow")
Also use the encodeResandCalcRDInter instead of the refactored estimate function.
diff -r 1d2d60f4eb81 -r 57a4555507b0 source/encoder/compress.cpp
--- a/source/encoder/compress.cpp Tue Dec 03 23:56:22 2013 -0600
+++ b/source/encoder/compress.cpp Wed Dec 04 13:04:39 2013 +0530
@@ -26,8 +26,8 @@
/* Lambda Partition Select adjusts the threshold value for Early Exit in No-RDO flow */
#define LAMBDA_PARTITION_SELECT 0.9
-#define EARLY_EXIT 0
-#define TOPSKIP 0
+#define EARLY_EXIT 1
+#define TOPSKIP 1
using namespace x265;
@@ -314,7 +314,7 @@
m_tmpRecoYuv[depth] = yuv;
//Encode with residue
- m_search->estimateRDInterCU(outTempCU, m_origYuv[depth], bestPredYuv, m_tmpResiYuv[depth], m_bestResiYuv[depth], m_tmpRecoYuv[depth], false);
+ m_search->encodeResAndCalcRdInterCU(outTempCU, m_origYuv[depth], bestPredYuv, m_tmpResiYuv[depth], m_bestResiYuv[depth], m_tmpRecoYuv[depth], false);
xCheckDQP(outTempCU);
if (outTempCU->m_totalCost < outBestCU->m_totalCost) //Choose best from no-residue mode and residue mode
@@ -486,7 +486,7 @@
m_search->motionCompensation(outBestCU, m_bestPredYuv[depth], REF_PIC_LIST_X, partIdx, false, true);
}
- m_search->estimateRDInterCU(outBestCU, m_origYuv[depth], m_bestPredYuv[depth], m_tmpResiYuv[depth],
+ m_search->encodeResAndCalcRdInterCU(outBestCU, m_origYuv[depth], m_bestPredYuv[depth], m_tmpResiYuv[depth],
m_bestResiYuv[depth], m_bestRecoYuv[depth], false);
xCheckDQP(outBestCU);
More information about the x265-devel
mailing list