[x265] [PATCH RFC] psyrd: remove usage of psyrdcost for merge candidates

sumalatha at multicorewareinc.com sumalatha at multicorewareinc.com
Wed May 21 13:10:26 CEST 2014


# HG changeset patch
# User Sumalatha Polureddy<sumalatha at multicorewareinc.com>
# Date 1400670594 -19800
# Node ID 876eb641b9640cf2821b2302c2a979b8a3330247
# Parent  f39484bb3eecc8cfca0448c63f16fe8dacc54d7f
psyrd: remove usage of psyrdcost for merge candidates

diff -r f39484bb3eec -r 876eb641b964 source/Lib/TLibEncoder/TEncSearch.cpp
--- a/source/Lib/TLibEncoder/TEncSearch.cpp	Tue May 20 22:02:00 2014 -0500
+++ b/source/Lib/TLibEncoder/TEncSearch.cpp	Wed May 21 16:39:54 2014 +0530
@@ -2693,7 +2693,7 @@
 
         cu->m_totalBits       = bits;
         cu->m_totalDistortion = distortion;
-        if (m_rdCost->psyRdEnabled())
+        if (m_rdCost->psyRdEnabled() && cu->getMergeFlag(0) == false)
         {
             int size = g_convertToBit[cu->getCUSize(0)];
             uint32_t psyRdCost = m_rdCost->psyCost(size, fencYuv->getLumaAddr(), fencYuv->getStride(),
@@ -2788,7 +2788,7 @@
     part = partitionFromSizes(width >> cu->getHorzChromaShift(), height >> cu->getVertChromaShift());
     bdist += m_rdCost->scaleChromaDistCb(primitives.sse_pp[part](fencYuv->getCbAddr(), fencYuv->getCStride(), outReconYuv->getCbAddr(), outReconYuv->getCStride()));
     bdist += m_rdCost->scaleChromaDistCr(primitives.sse_pp[part](fencYuv->getCrAddr(), fencYuv->getCStride(), outReconYuv->getCrAddr(), outReconYuv->getCStride()));
-    if (m_rdCost->psyRdEnabled())
+    if (m_rdCost->psyRdEnabled() && cu->getMergeFlag(0) == false)
     {
         int size = g_convertToBit[cu->getCUSize(0)];
         uint32_t psyRdCost = m_rdCost->psyCost(size, fencYuv->getLumaAddr(), fencYuv->getStride(),


More information about the x265-devel mailing list