[x265-commits] [x265] Backed out changeset: cb3a2795a60e

Steve Borho steve at borho.org
Fri Feb 21 10:06:41 CET 2014


details:   http://hg.videolan.org/x265/rev/5e2043f89aa1
branches:  
changeset: 6233:5e2043f89aa1
user:      Steve Borho <steve at borho.org>
date:      Fri Feb 21 03:05:48 2014 -0600
description:
Backed out changeset: cb3a2795a60e

This was found to change output bitstreams, so the vectors must not have beeen
always zero

diffstat:

 source/Lib/TLibCommon/TComDataCU.h    |  9 +++++++++
 source/Lib/TLibEncoder/TEncSearch.cpp |  6 +++++-
 2 files changed, 14 insertions(+), 1 deletions(-)

diffs (49 lines):

diff -r 13f73b241382 -r 5e2043f89aa1 source/Lib/TLibCommon/TComDataCU.h
--- a/source/Lib/TLibCommon/TComDataCU.h	Fri Feb 21 02:25:58 2014 -0600
+++ b/source/Lib/TLibCommon/TComDataCU.h	Fri Feb 21 03:05:48 2014 -0600
@@ -135,6 +135,9 @@ private:
     TComDataCU*   m_cuAbove;         ///< pointer of above CU
     TComDataCU*   m_cuLeft;          ///< pointer of left CU
     TComDataCU*   m_cuColocated[2];  ///< pointer of temporally colocated CU's for both directions
+    TComMvField   m_mvFieldA;        ///< motion vector of position A
+    TComMvField   m_mvFieldB;        ///< motion vector of position B
+    TComMvField   m_mvFieldC;        ///< motion vector of position C
 
     // -------------------------------------------------------------------------------------------------------------------
     // coding tool information
@@ -385,6 +388,12 @@ public:
 
     void          clipMv(MV& outMV);
 
+    void          getMvPredLeft(MV& mvPred)       { mvPred = m_mvFieldA.mv; }
+
+    void          getMvPredAbove(MV& mvPred)      { mvPred = m_mvFieldB.mv; }
+
+    void          getMvPredAboveRight(MV& mvPred) { mvPred = m_mvFieldC.mv; }
+
     // -------------------------------------------------------------------------------------------------------------------
     // utility functions for neighboring information
     // -------------------------------------------------------------------------------------------------------------------
diff -r 13f73b241382 -r 5e2043f89aa1 source/Lib/TLibEncoder/TEncSearch.cpp
--- a/source/Lib/TLibEncoder/TEncSearch.cpp	Fri Feb 21 02:25:58 2014 -0600
+++ b/source/Lib/TLibEncoder/TEncSearch.cpp	Fri Feb 21 03:05:48 2014 -0600
@@ -2602,6 +2602,10 @@ void TEncSearch::predInterSearch(TComDat
         Pel* pu = fenc->getLumaAddr(cu->getAddr(), cu->getZorderIdxInCU() + partAddr);
         m_me.setSourcePU(pu - fenc->getLumaAddr(), roiWidth, roiHeight);
 
+        cu->getMvPredLeft(m_mvPredictors[0]);
+        cu->getMvPredAbove(m_mvPredictors[1]);
+        cu->getMvPredAboveRight(m_mvPredictors[2]);
+
         bool bTestNormalMC = true;
 
         if (bUseMRG && cu->getWidth(0) > 8 && numPart == 2)
@@ -2633,7 +2637,7 @@ void TEncSearch::predInterSearch(TComDat
                     MV mvmin, mvmax;
                     xSetSearchRange(cu, mvp, merange, mvmin, mvmax);
                     int satdCost = m_me.motionEstimate(m_mref[list][idx],
-                                                       mvmin, mvmax, mvp, 0, m_mvPredictors, merange, outmv);
+                                                       mvmin, mvmax, mvp, 3, m_mvPredictors, merange, outmv);
 
                     /* Get total cost of partition, but only include MV bit cost once */
                     bitsTemp += m_me.bitcost(outmv);


More information about the x265-commits mailing list