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@… |
Description
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)
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
Fixed in https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/merge_requests/132.