[x265] [PATCH] RD: change cost measurements for inter
deepthi at multicorewareinc.com
deepthi at multicorewareinc.com
Thu Nov 28 07:15:13 CET 2013
# HG changeset patch
# User Deepthi Nandakumar <deepthi at multicorewareinc.com>
# Date 1385619283 -19800
# Node ID 0ab1c01bf952412026ce5b6928d1a8a61014ec51
# Parent 949f85337789c8d00f39ed1a010990efe67ebcf4
RD: change cost measurements for inter
The cost calculation for inter modes now use cost = satd(orig, pred) + lambda*mebits.
This is an estimation to the actual RD-cost.
diff -r 949f85337789 -r 0ab1c01bf952 source/encoder/compress.cpp
--- a/source/encoder/compress.cpp Wed Nov 27 18:10:14 2013 -0600
+++ b/source/encoder/compress.cpp Thu Nov 28 11:44:43 2013 +0530
@@ -211,12 +211,9 @@
outTempCU->m_totalBits = 0;
m_search->predInterSearch(outTempCU, outPredYuv, bUseMRG, true, false);
int part = partitionFromSizes(outTempCU->getWidth(0), outTempCU->getHeight(0));
- uint32_t distortion = primitives.sse_pp[part](m_origYuv[depth]->getLumaAddr(), m_origYuv[depth]->getStride(),
+ uint32_t distortion = primitives.satd[part](m_origYuv[depth]->getLumaAddr(), m_origYuv[depth]->getStride(),
outPredYuv->getLumaAddr(), outPredYuv->getStride());
- m_rdGoOnSbacCoder->load(m_rdSbacCoders[outTempCU->getDepth(0)][CI_CURR_BEST]);
- outTempCU->m_totalBits = m_search->xSymbolBitsInter(outTempCU);
-
- outTempCU->m_totalCost = m_rdCost->calcRdCost(distortion, outTempCU->m_totalBits);
+ outTempCU->m_totalCost = m_rdCost->calcRdSADCost(distortion, outTempCU->m_totalBits);
}
void TEncCu::xComputeCostMerge2Nx2N(TComDataCU*& outBestCU, TComDataCU*& outTempCU, bool* earlyDetectionSkip, TComYuv*& bestPredYuv, TComYuv*& yuvReconBest)
More information about the x265-devel
mailing list