Opened 5 years ago
Closed 5 years ago
#280 closed defect (fixed)
MIsmatch on expGoOrderY and expGoOrderC derivation between VTM and spec
Reported by: | forayr | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | spec | Version: | VVC D5 v6 |
Keywords: | Cc: | ksuehring, bbross, XiangLi, fbossen, jvet@… |
Description
In specification:
expGoOrderY[ i ] = alf_luma_min_eg_order_minus1 + 1 + alf_luma_eg_order_increase_flag[ i ]
In Vtm (kMinTab derivation):
READ_UVLC( code, isChroma ? "alf_chroma_min_eg_order_minus1" : "alf_luma_min_eg_order_minus1" ); int kMin = code + 1; static int kMinTab[MAX_NUM_ALF_COEFF]; const int numFilters = isChroma ? 1 : alfSliceParam.numLumaFilters; short* coeff = isChroma ? alfSliceParam.chromaCoeff : alfSliceParam.lumaCoeff; #if JVET_N0242_NON_LINEAR_ALF short* clipp = isChroma ? alfSliceParam.chromaClipp : alfSliceParam.lumaClipp; #endif for( int idx = 0; idx < maxGolombIdx; idx++ ) { READ_FLAG( code, isChroma ? "alf_chroma_eg_order_increase_flag" : "alf_luma_eg_order_increase_flag" ); CHECK( code > 1, "Wrong golomb_order_increase_flag" ); kMinTab[idx] = kMin + code; kMin = kMinTab[idx]; }
which corresponds in pseudo-code to:
if(i == 0) expGoOrderY[i] = alf_luma_min_eg_order_minus1 + 1 + alf_luma_eg_order_increase_flag; else expGoOrderY[i] = expGoOrderY[ i-1 ] + alf_luma_eg_order_increase_flag;
Same issue for expGoOrderC
Change history (2)
comment:1 Changed 5 years ago by nanhu
comment:2 Changed 5 years ago by bbross
- Resolution set to fixed
- Status changed from new to closed
Fixed in D5 v7
Note: See TracTickets for help on using tickets.
The fix looks correct.
To be specific, equation (7-65) could be fixed as
if(i == 0)
else
(7-74) could be fixed as
if(i == 0)
else
(7-78) could be fixed as
if(i == 0)
else
(7-82) could be fixed as
if(i == 0)
else