Opened 6 years ago
Last modified 6 years ago
#247 closed defect
Fix of size constraint for triangle merge mode when MMVD is disabled in SPS — at Initial Version
Reported by: | ewchen | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | VTM-5.0 |
Component: | VTM | Version: | VTM-4.2 |
Keywords: | Cc: | ksuehring, XiangLi, fbossen, jvet@… |
Description
With the integration of JVET-N0127 and JVET-N0324, when MMVD is not enabled in the SPS, the triangle merge modes can now be signaled for blocks smaller than previously allowed (i.e. 4x8 triangle), which breaks current restrictions. Additional conditions should be inserted to fix this issue.
For example, the following code tries to solve this issue:
#if JVET_N0127_MMVD_SPS_FLAG_FIX
if (!cu.cs->slice->getSPS()->getUseMMVD()&& cu.firstPU->lwidth() * cu.firstPU->lheight() == 32)
{
cu.firstPU->regularMergeFlag = true;
}
else
{
#endif
unsigned regularMergeFlag = (m_BinDecoder.decodeBin(Ctx::RegularMergeFlag(0)));
DTRACE(g_trace_ctx, D_SYNTAX, "regular_merge_flag() ctx=%d regularMergeFlag=%d\n", 0, regularMergeFlag?1:0);
cu.firstPU->regularMergeFlag = regularMergeFlag;
#if JVET_N0127_MMVD_SPS_FLAG_FIX
}
#endif