[x265] [PATCH] psyrd: fix for inconsistent output
sumalatha at multicorewareinc.com
sumalatha at multicorewareinc.com
Fri Jun 27 10:46:37 CEST 2014
# HG changeset patch
# User Sumalatha Polureddy<sumalatha at multicorewareinc.com>
# Date 1403858781 -19800
# Node ID a789870889fcc9a31deff7fc6961d143b0db86c1
# Parent 1b669c33ff3a8d8f6c9bd1e18979c009baed2433
psyrd: fix for inconsistent output
maximum buffer size for zeropel is MAX_CU_SIZExMAX_CU_SIZE. since stride was wrong,
it was accessing out of boundary memory which was different for each run, so inconsistent output
diff -r 1b669c33ff3a -r a789870889fc source/Lib/TLibEncoder/TEncSearch.cpp
--- a/source/Lib/TLibEncoder/TEncSearch.cpp Wed Jun 25 22:46:45 2014 +0530
+++ b/source/Lib/TLibEncoder/TEncSearch.cpp Fri Jun 27 14:16:21 2014 +0530
@@ -3035,7 +3035,7 @@
{
int size = g_convertToBit[trSize];
psyEnergyY = m_rdCost->psyCost(size, fencYuv->getLumaAddr(absPartIdx), fencYuv->getStride(),
- (pixel*)RDCost::zeroPel, cu->getPic()->getPicYuvRec()->getStride()); // need to check whether zero distortion is similar to psyenergy of fenc
+ (pixel*)RDCost::zeroPel, trSize); // need to check whether zero distortion is similar to psyenergy of fenc
}
int16_t *curResiY = m_qtTempShortYuv[qtLayer].getLumaAddr(absPartIdx);
X265_CHECK(m_qtTempShortYuv[qtLayer].m_width == MAX_CU_SIZE, "width not full CU\n");
More information about the x265-devel
mailing list