Opened 4 months ago

Closed 4 months ago

#269 closed defect (fixed)

Mismatch between VTM and specification on allowBtSplit derivation

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

Description

In spec JVET-N1001-v5.docx ,
6.4.2 Allowed binary split process

The variable allowBtSplit is derived as follows:
  - If one or more of the following conditions are true, allowBtSplit is set equal to FALSE:
    • cbSize is less than or equal to MinBtSizeY
    • cbWidth is greater than maxBtSize
    • cbHeight is greater than maxBtSize
    • mttDepth is greater than or equal to maxMttDepth"

In VTM , in file source/Lib/CommonLib/UnitPartitioner.cpp:396, function (QTBTPartitioner::canSplit)

if( area.height <= minBtSize || area.height > maxBtSize )   canBh = false;
...
if( area.width <= minBtSize || area.width > maxBtSize )     canBv = false;
...

To match specification, I think it should be :

  if( area.width > maxBtSize || area.height > maxBtSize )
  {
    canBh = canBv = false;
  }
  ...
  if( area.height <= minBtSize )    canBh = false;
  if( area.width <= minBtSize )     canBv = false;

Change history (1)

comment:1 Changed 4 months ago by XiangLi

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