[x265] [PATCH] analysis: fix output mismatch and crash for rd level 5 and 6 in ANALYSIS_SAVE/LOAD
sagar at multicorewareinc.com
sagar at multicorewareinc.com
Tue Dec 15 13:14:52 CET 2015
# HG changeset patch
# User Sagar Kotecha<sagar at multicorewareinc.com>
# 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)
More information about the x265-devel
mailing list