# HG changeset patch
# User Sagar Kotecha<[email protected]>
# Date 1450181661 -19800
#      Tue Dec 15 17:44:21 2015 +0530
# Node ID b8954d4b24a6b35901fe05bb6a2b39997f06486a
# Parent  e951ab673b1c3d41ef86bc623f20ecc768d3f5c5
analysis: fix output mismatch and crash for rd level 5 and 6 in 
ANALYSIS_SAVE/LOAD

diff -r e951ab673b1c -r b8954d4b24a6 source/encoder/analysis.cpp
--- a/source/encoder/analysis.cpp       Fri Dec 11 07:33:41 2015 +0530
+++ b/source/encoder/analysis.cpp       Tue Dec 15 17:44:21 2015 +0530
@@ -1296,6 +1296,8 @@
 
     bool mightSplit = !(cuGeom.flags & CUGeom::LEAF);
     bool mightNotSplit = !(cuGeom.flags & CUGeom::SPLIT_MANDATORY);
+    bool foundSkip = false;
+    bool splitIntra = true;
 
     if (m_param->analysisMode == X265_ANALYSIS_LOAD)
     {
@@ -1316,13 +1318,9 @@
             // increment zOrder offset to point to next best depth in 
sharedDepth buffer
             zOrder += g_depthInc[g_maxCUDepth - 1][reuseDepth[zOrder]];
 
-            mightSplit = false;
-            mightNotSplit = false;
+            foundSkip = true;
         }
-    }
-
-    bool foundSkip = false;
-    bool splitIntra = true;
+    }  
 
     SplitData splitData[4];
     splitData[0].initSplitCUData();
@@ -1796,16 +1794,6 @@
     {
         first = *m_reuseBestMergeCand;
         last = first + 1;
-        int numPred = m_slice->isInterB() + 1;
-        /* skip refs and mvs used for 2Nx2N, Nx2N, 2NxN inter predictions if 
best mode is SKIP */
-        m_reuseRef += numPred;
-        m_reuseMv += numPred;
-        if (m_param->bEnableRectInter)
-        {
-           int inc = numPred * 2 * 2;
-            m_reuseRef += inc;
-            m_reuseMv += inc;
-        }
     }
     int safeX, maxSafeMv;
     if (m_param->bIntraRefresh && m_slice->m_sliceType == P_SLICE)
_______________________________________________
x265-devel mailing list
[email protected]
https://mailman.videolan.org/listinfo/x265-devel

Reply via email to