[x265] [PATCH] limitTU: fix energy calculation used in limiting TU recursion

bhavna at multicorewareinc.com bhavna at multicorewareinc.com
Fri Oct 14 15:50:21 CEST 2016


# HG changeset patch
# User Bhavna Hariharan <bhavna at multicorewareinc.com>
# Date 1476275329 -19800
#      Wed Oct 12 17:58:49 2016 +0530
# Node ID 854149baceefa075c3b1af12433680ffda2e3b64
# Parent  c97805dad9148ad3cddba10a67ed5596508e8f86
limitTU: fix energy calculation used in limiting TU recursion

This commit changes the output of limit TU

diff -r c97805dad914 -r 854149baceef source/encoder/search.cpp
--- a/source/encoder/search.cpp	Thu Oct 13 17:53:48 2016 +0800
+++ b/source/encoder/search.cpp	Wed Oct 12 17:58:49 2016 +0530
@@ -3420,14 +3420,15 @@
         if (m_param->limitTU && bCheckSplit)
         {
             // Stop recursion if the TU's energy level is minimal
+            uint32_t numCoeff = trSize * trSize;
             if (cbfFlag[TEXT_LUMA][0] == 0)
                 bCheckSplit = false;
-            else if (numSig[TEXT_LUMA][0] < (cuGeom.numPartitions / 16))
+            else if (numSig[TEXT_LUMA][0] < (numCoeff / 64))
             {
                 uint32_t energy = 0;
-                for (uint32_t i = 0; i < cuGeom.numPartitions; i++)
+                for (uint32_t i = 0; i < numCoeff; i++)
                     energy += abs(coeffCurY[i]);
-                if (energy < numSig[TEXT_LUMA][0])
+                if (energy == numSig[TEXT_LUMA][0])
                     bCheckSplit = false;
             }
         }


More information about the x265-devel mailing list