[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