Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#361 closed defect (fixed)

Mismatch with spec on MergeTriangleFlag derivation

Reported by: forayr Owned by:
Priority: minor Milestone: VTM-6.0
Component: VTM Version: VTM-5.0
Keywords: Cc: ksuehring, XiangLi, fbossen, jvet@…

Description

In spec:

If all the following conditions are true, MergeTriangleFlag[ x0 ][ y0 ] is set equal to 1:
    • sps_triangle_enabled_flag is equal to 1.
    • slice_type is equal to B.
    • general_merge_flag[ x0 ][ y0 ] is equal to 1.
    • MaxNumTriangleMergeCand is greater than or equal to 2.
    • cbWidth * cbHeight is greater than or equal to 64.
    • regular_merge_flag[ x0 ][ y0 ] is equal to 0.
    • mmvd_merge_flag[ x0 ][ y0 ] is equal to 0.
    • merge_subblock_flag[ x0 ][ y0 ] is equal to 0.
    • ciip_flag[ x0 ][ y0 ] is equal to 0.
Otherwise, MergeTriangleFlag[ x0 ][ y0 ] is set equal to 0.

In vtm (CABACReader.cpp):

pu.cu->triangle = pu.cu->cs->slice->getSPS()->getUseTriangle() &&
 pu.cu->cs->slice->isInterB() &&
 !pu.cu->affine &&
 !pu.mmvdMergeFlag &&
 !pu.cu->mmvdSkip;

Especially the condition on MaxNumTriangleMergeCand is missing when decoding.

Change history (3)

comment:2 Changed 2 years ago by ksuehring

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

MR was merged

comment:3 Changed 2 years ago by ksuehring

  • Milestone set to VTM-6.0
Note: See TracTickets for help on using tickets.