Opened 4 months ago
Last modified 4 weeks ago
#1631 new defect
Should "Motion vector storing process for geometric partitioning mode" store HpelIfIdx?
Reported by: | peterderivaz | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | H.266/VVC v4 |
Component: | spec | Version: | H.266/VVC v3 |
Keywords: | Cc: | ksuehring, bbross, XiangLi, fbossen, jvet@… |
Description
In the General clause of "Decoding process for inter blocks", the array HpelIfIdx is written at the same time as other motion vector information is stored:
MvL0[ xSb + x ][ ySb + y ] = mvL0[ xSbIdx ][ ySbIdx ] (887) MvL1[ xSb + x ][ ySb + y ] = mvL1[ xSbIdx ][ ySbIdx ] (888) MvDmvrL0[ xSb + x ][ ySb + y ] = refMvL0[ xSbIdx ][ ySbIdx ] (889) MvDmvrL1[ xSb + x ][ ySb + y ] = refMvL1[ xSbIdx ][ ySbIdx ] (890) RefIdxL0[ xSb + x ][ ySb + y ] = refIdxL0 (891) RefIdxL1[ xSb + x ][ ySb + y ] = refIdxL1 (892) PredFlagL0[ xSb + x ][ ySb + y ] = predFlagL0[ xSbIdx ][ ySbIdx ] (893) PredFlagL1[ xSb + x ][ ySb + y ] = predFlagL1[ xSbIdx ][ ySbIdx ] (894) HpelIfIdx[ xSb + x ][ ySb + y ] = hpelIfIdx (895) BcwIdx[ xSb + x ][ ySb + y ] = bcwIdx (896)
However, in the "Motion vector storing process for geometric partitioning mode", HpelIfIdx is not written:
MvL0[ ( xSbIdx << 2 ) + x ][ ( ySbIdx << 2 ) + y ] = mvL0 (1045) MvL1[ ( xSbIdx << 2 ) + x ][ ( ySbIdx << 2 ) + y ] = mvL1 (1046) MvDmvrL0[ ( xSbIdx << 2 ) + x ][ ( ySbIdx << 2 ) + y ] = mvL0 (1047) MvDmvrL1[ ( xSbIdx << 2 ) + x ][ ( ySbIdx << 2 ) + y ] = mvL1 (1048) RefIdxL0[ ( xSbIdx << 2 ) + x ][ ( ySbIdx << 2 ) + y ] = refIdxL0 (1049) RefIdxL1[ ( xSbIdx << 2 ) + x ][ ( ySbIdx << 2 ) + y ] = refIdxL1 (1050) PredFlagL0[ ( xSbIdx << 2 ) + x ][ ( ySbIdx << 2 ) + y ] = predFlagL0 (1051) PredFlagL1[ ( xSbIdx << 2 ) + x ][ ( ySbIdx << 2 ) + y ] = predFlagL1 (1052) BcwIdx[ ( xSbIdx << 2 ) + x ][ ( ySbIdx << 2 ) + y ] = 0 (1053)
As far as I can understand, I think it is possible for these unspecified HpelIfIdx values to affect the decoding process?
Change history (1)
comment:1 Changed 4 weeks ago by bbross
- Milestone set to H.266/VVC v4
- Version set to H.266/VVC v3
Note: See TracTickets for help on using tickets.
Good catch, thanks! HpekIfIdx should always be written since it might be accessed later so it is definitely missing in "Motion vector storing process for geometric partitioning mode" and shall be added for v4.