# HG changeset patch # User Kavitha Sampath <kavi...@multicorewareinc.com> # Date 1386753758 -19800 # Wed Dec 11 14:52:38 2013 +0530 # Node ID 40895c94da21aed021097f40a62f921c8056ca61 # Parent a1e7aac486a726ff6951ac7a4b19f902b633737a log: fix memory overread issue
diff -r a1e7aac486a7 -r 40895c94da21 source/Lib/TLibEncoder/TEncCu.cpp --- a/source/Lib/TLibEncoder/TEncCu.cpp Wed Dec 11 14:25:52 2013 +0530 +++ b/source/Lib/TLibEncoder/TEncCu.cpp Wed Dec 11 14:52:38 2013 +0530 @@ -356,17 +356,20 @@ m_temporalSAD = 0; // analysis of CU +#if LOG_CU_STATISTICS + int numPartition = cu->getTotalNumPart(); +#endif if (m_bestCU[0]->getSlice()->getSliceType() == I_SLICE) { xCompressIntraCU(m_bestCU[0], m_tempCU[0], 0); #if LOG_CU_STATISTICS int i = 0, part; - part = cu->getDepth(i); do { m_log->totalCu++; - int next = cu->getTotalNumPart() >> (part * 2); + part = cu->getDepth(i); + int next = numPartition >> (part * 2); if (part == g_maxCUDepth - 1 && cu->getPartitionSize(i) != SIZE_2Nx2N) { m_log->cntIntraNxN++; @@ -380,9 +383,8 @@ m_log->cuIntraDistribution[part][cu->getLumaIntraDir()[i]]++; } i += next; - part = cu->getDepth(i); } - while (part < g_maxCUDepth); + while (i < numPartition); #endif } else @@ -399,11 +401,11 @@ xCompressCU(m_bestCU[0], m_tempCU[0], 0); #if LOG_CU_STATISTICS int i = 0, part; - part = cu->getDepth(i); do { + part = cu->getDepth(i); m_log->cntTotalCu[part]++; - int next = cu->getTotalNumPart() >> (part * 2); + int next = numPartition >> (part * 2); if (cu->isSkipped(i)) { m_log->cntSkipCu[part]++; @@ -436,9 +438,8 @@ } } i = i + next; - part = cu->getDepth(i); } - while (part < g_maxCUDepth); + while (i < numPartition); #endif } } _______________________________________________ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel