Opened 11 years ago

Closed 11 years ago

#116 closed enhancement (fixed)

Unnecessary testing of MVs

Reported by: fbossen Owned by:
Priority: minor Milestone:
Component: HM Version:
Keywords: Cc: fbossen, ksuehring, davidf, jct-vc@…


As reported by Woo-Jin:
After looking at the code, we found that the code was designed to check other motion vector candidates inside the ME function using m_cMvFieldA, m_cMvFieldB and m_cMvFieldC to enlarge the possibility to find the best MV, which came from the JSVM code. However, in the current HM code, m_cMvFieldA, m_cMvFieldB and m_cMvFieldC were not initialized at all, which results in setting all variables to be equal to zero motion vector. Here is the related code segment you indicated:

In TEncSearch::xTZSearch:

test whether one of PRED_A, PRED_B, PRED_C MV is better start point than Median predictor
if ( bTestOtherPredictedMV )

for ( UInt index = 0; index < 3; index++ )

TComMv cMv = m_acMvPredictors[index];
pcCU->clipMv( cMv );
cMv >>= 2;
xTZSearchHelp( pcPatternKey, cStruct, cMv.getHor(), cMv.getVer(), 0, 0 );



In the above code, m_acMvPredictors were initialized by m_cMvFieldA, m_cMvFieldB and m_cMvFieldC, however, those variables were not initialized thus they are equal to the zero vector. Since the zero-vector testing is done again just after the above code segment, I think that the above code is not needed. (Or it can be initialized correctly to use the actual motion vector candidates used in the AMVP, but the difference seems negligible from quick testing) I prefer simply to delete the above code or set bTestOtherPredictedMV to be zero as:

From "const Bool bTestOtherPredictedMV = 1" to "const Bool bTestOtherPredictedMV = 0"

The above change should reduce the encoding time as you indicated.

Change History (4)

comment:1 Changed 11 years ago by fbossen

  • Resolution set to fixed
  • Status changed from new to closed

Fixed in r423

comment:2 Changed 10 years ago by davidf

  • Component set to HM

Updating component after adding WD (Text) tickets

comment:3 Changed 9 years ago by davidf

  • Cc fbossen ksuehring davidf added

comment:4 Changed 9 years ago by davidf

  • Cc jct-vc@… added
Note: See TracTickets for help on using tickets.

This list contains all users that will be notified about changes made to this ticket.

These roles will be notified: Reporter, Owner, Subscriber, Participant

  • David Flynn(Subscriber, Participant)
  • Frank Bossen(Reporter, Subscriber, Participant)
  • jct-vc@…(Subscriber)
  • karl.sharman@…(Always)
  • Karsten Suehring(Subscriber, Always)