From 156ea2ce2d72eb36a6b7b57a59ffe78d0b4387bd Mon Sep 17 00:00:00 2001 From: Brian Heng <brian.heng@broadcom.com> Date: Fri, 8 Feb 2019 12:18:36 -0800 Subject: [PATCH] Fix for Ticket #150 - Triangle merge list zero-MV candidates not properly initialized. --- source/Lib/CommonLib/UnitTools.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/Lib/CommonLib/UnitTools.cpp b/source/Lib/CommonLib/UnitTools.cpp index aa9a7d9abb..fe0ab09801 100644 --- a/source/Lib/CommonLib/UnitTools.cpp +++ b/source/Lib/CommonLib/UnitTools.cpp @@ -5154,6 +5154,8 @@ void PU::getTriangleMergeCandidates( const PredictionUnit &pu, MergeCtx& triangl { triangleMrgCtx.interDirNeighbours[triangleMrgCtx.numValidMergeCand] = 1; triangleMrgCtx.mvFieldNeighbours[triangleMrgCtx.numValidMergeCand << 1].setMvField(Mv(0, 0), cnt); + triangleMrgCtx.mvFieldNeighbours[(triangleMrgCtx.numValidMergeCand << 1) + 1].refIdx = NOT_VALID; + triangleMrgCtx.mvFieldNeighbours[(triangleMrgCtx.numValidMergeCand << 1) + 1].mv = Mv(); triangleMrgCtx.numValidMergeCand++; if( triangleMrgCtx.numValidMergeCand == TRIANGLE_MAX_NUM_UNI_CANDS ) @@ -5163,6 +5165,8 @@ void PU::getTriangleMergeCandidates( const PredictionUnit &pu, MergeCtx& triangl triangleMrgCtx.interDirNeighbours[triangleMrgCtx.numValidMergeCand] = 2; triangleMrgCtx.mvFieldNeighbours [(triangleMrgCtx.numValidMergeCand << 1) + 1 ].setMvField(Mv(0, 0), cnt); + triangleMrgCtx.mvFieldNeighbours[triangleMrgCtx.numValidMergeCand << 1].refIdx = NOT_VALID; + triangleMrgCtx.mvFieldNeighbours[triangleMrgCtx.numValidMergeCand << 1].mv = Mv(); triangleMrgCtx.numValidMergeCand++; cnt = (cnt + 1) % numRefIdx; -- GitLab