[x265] [PATCH] aq: bug fix for hash mismatch between recon with decoded output

Aarthi Thirumalai aarthi at multicorewareinc.com
Tue Dec 3 12:01:50 CET 2013


# HG changeset patch
# User Aarthi Thirumalai
# Date 1386068495 -19800
#      Tue Dec 03 16:31:35 2013 +0530
# Node ID 660ec2c027982db73366560ca8f600e5d86cc2e3
# Parent  86d23688b0174e06f3949c81ac182ba3e83908d1
aq: bug fix for hash mismatch between recon with decoded output

diff -r 86d23688b017 -r 660ec2c02798 source/encoder/compress.cpp
--- a/source/encoder/compress.cpp	Tue Dec 03 11:24:15 2013 +0530
+++ b/source/encoder/compress.cpp	Tue Dec 03 16:31:35 2013 +0530
@@ -74,6 +74,7 @@
 
     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)
@@ -302,6 +303,7 @@
 
     //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;
@@ -313,6 +315,7 @@
 
     //Encode with residue
     m_search->estimateRDInterCU(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
     {
@@ -485,6 +488,7 @@
 
                 m_search->estimateRDInterCU(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)
                 {


More information about the x265-devel mailing list