Opened 3 months ago

Last modified 3 months ago

#404 new defect

Issue in residual coding

Reported by: forayr Owned by:
Priority: minor Milestone:
Component: spec Version: VVC D6 vE
Keywords: Cc: ksuehring, bbross, XiangLi, fbossen, jvet@…

Description

In spec:

for( n = numSbCoeff − 1; n  >=  firstPosMode1; n− − ) {
  xC = ( xS << log2SbW ) + DiagScanOrder[ log2SbW ][ log2SbH ][ n ][ 0 ] 
  yC = ( yS << log2SbH ) + DiagScanOrder[ log2SbW ][ log2SbH ][ n ][ 1 ]
  if( abs_level_gtx_flag[ n ][ 1 ] )
    abs_remainder[ n ]
  AbsLevel[ xC ][ yC ] = AbsLevelPass1[ xC ][ yC ] +2 * abs_remainder[ n ]
}
for( n = firstPosMode1; n >= 0; n− − ) {
  xC = ( xS << log2SbW ) + DiagScanOrder[ log2SbW ][ log2SbH ][ n ][ 0 ] 
  yC = ( yS << log2SbH ) + DiagScanOrder[ log2SbW ][ log2SbH ][ n ][ 1 ]
  dec_abs_level[ n ]
...

The range of these two for loop include both firstPosMode1, which seems troublesome as this is two different way to code AbsLevel[n].
In vtm, the first loop do not include firstPosMode1.

Change history (1)

comment:1 Changed 3 months ago by forayr

There is also another issue which happens after O0052 integration.

A subblock fulfilling all the following conditions could happen:

  • not the last subblock
  • coded_sub_block_flag = 0
  • remBinsPass1 < 4

In this case firstPosMode1 = numSbCoeff - 1, therefore no abs_remainder are parsed, but dec_abs_level are, which seems to be an issue as coded_sub_block_flag = 0 !
In the vtm, as soon as coded_sub_block_flag = 0, nothing is parsed.

Note: See TracTickets for help on using tickets.