[x265] [PATCH] check dqp for best CU

sumalatha at multicorewareinc.com sumalatha at multicorewareinc.com
Fri Dec 6 06:17:34 CET 2013


# HG changeset patch
# User Sumalatha Polureddy
# Date 1386307042 -19800
# Node ID 34efe6f8175c220816f9ae78e137d51f2a625e48
# Parent  3e6be1e1172086537ab3fb5aabb7d03ad5ce56fb
check dqp for best CU

Removed the check for dqp after each encode and added it at end only for best CU

diff -r 3e6be1e11720 -r 34efe6f8175c source/encoder/compress.cpp
--- a/source/encoder/compress.cpp	Thu Dec 05 22:37:33 2013 -0600
+++ b/source/encoder/compress.cpp	Fri Dec 06 10:47:22 2013 +0530
@@ -74,7 +74,6 @@
 
     cu->m_totalBits = m_entropyCoder->getNumberOfWrittenBits();
     cu->m_totalCost = m_rdCost->calcRdCost(cu->m_totalDistortion, cu->m_totalBits);
-    xCheckDQP(cu);
 }
 
 void TEncCu::xComputeCostIntraInInter(TComDataCU* cu, PartSize partSize)
@@ -304,7 +303,6 @@
 
         //No-residue mode
         m_search->encodeResAndCalcRdInterCU(outTempCU, m_origYuv[depth], bestPredYuv, m_tmpResiYuv[depth], m_bestResiYuv[depth], m_tmpRecoYuv[depth], true);
-        xCheckDQP(outTempCU);
 
         tmp = outTempCU;
         outTempCU = outBestCU;
@@ -316,7 +314,6 @@
 
         //Encode with residue
         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
         {
@@ -491,7 +488,6 @@
 
                     m_search->encodeResAndCalcRdInterCU(outBestCU, m_origYuv[depth], m_bestPredYuv[depth], m_tmpResiYuv[depth],
                                                         m_bestResiYuv[depth], m_bestRecoYuv[depth], false);
-                    xCheckDQP(outBestCU);
                 }
                 if (m_bestMergeCU[depth]->m_totalCost < outBestCU->m_totalCost)
                 {
@@ -565,7 +561,6 @@
 
                     m_search->encodeResAndCalcRdInterCU(outBestCU, m_origYuv[depth], m_bestPredYuv[depth], m_tmpResiYuv[depth],
                                                         m_bestResiYuv[depth], m_bestRecoYuv[depth], false);
-                    xCheckDQP(outBestCU);
                 }
                 else
                 {
@@ -596,6 +591,7 @@
                     }
                 }
             }
+            xCheckDQP(outBestCU);
             /* Disable recursive analysis for whole CUs temporarily */
             if ((outBestCU != 0) && (outBestCU->isSkipped(0)))
                 bSubBranch = false;


More information about the x265-devel mailing list