Opened 6 years ago

Closed 6 years ago

#129 closed defect (fixed)

CPR in VTM can result in different results depending on platform

Reported by: gordon Owned by:
Priority: minor Milestone: VTM-3.1
Component: VTM Version: VTM-3.0
Keywords: CPR, platform-dependent, encoder-side decisions Cc: ksuehring, XiangLi, fbossen, jvet@…


The use of an unordered_map in InterSearch::xCPREstimation can cause different encoder decisions to be taken if there is more than one minimum-cost entry in the list.
If this is not expected to happen, there should be an assert.
If this is expected behavior, the decisions need to be stabilised by checking (here motion vector) dependent content when the cost being examined is exactly the same as the current minimum cost.
The attached patch shows the principle -- it takes the vector with the minimal mvX or (if equal) with the minimal mvY. Not intended as the best solution, but a solution nonetheless.

Attachments (1)

cpr-patch.patch (781 bytes) - added by gordon 6 years ago.

Download all attachments as: .zip

Change history (2)

Changed 6 years ago by gordon

comment:1 Changed 6 years ago by XiangLi

  • Milestone set to VTM-3.1
  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.