JVET-AJ0082: Multi-model EIP (Test 2.19a)
Merge request reports
Activity
mentioned in commit 2d83a127
@LaiZhang , it seems this MR leads to encoder/decoder mismatch in low-delay. Can you please have a look? Here is a fast encoder command line where the mismatch happens at POC 2.
Thank you in advance, best regards, Fabrice.
../bin/EncoderAppStatic -c ../cfg/encoder_lowdelay_P_ecm.cfg -c ../cfg/per-sequence/RaceHorsesC.cfg -i /mnt/c/home/orig/C_RaceHorses_832x480_30.yuv -ip -1 -fs 0 -q 37 -b str.bin -f 150 --InternalBitDepth=10 --OutputBitDepth=10 --SEIDecodedPictureHash=1 --SIMD=AVX2 --Verbosity=6 --PrintHexPSNR=1 --MaxMTTHierarchyDepthISliceL=1 --MaxMTTHierarchyDepthISliceC=1 --MaxMTTHierarchyDepthByTid=111111 -f 3 -o rec.yuv
Edited by Fabrice Le Léannec
Hi @LaiZhang you are right with the current HEAD of master branch the above command line does not have any issue anymore. But the following command line has an encoder/decoder mismatch at POC 2: ../bin/EncoderAppStatic -c ../cfg/encoder_lowdelay_P_ecm.cfg -c ../cfg/per-sequence/BQMall.cfg -i /mnt/c/home/orig/C_BQMall_832x480_60.yuv -ip -1 -fs 0 -q 32 -b str.bin -f 300 --InternalBitDepth=10 --OutputBitDepth=10 --SEIDecodedPictureHash=1 --SIMD=AVX2 --Verbosity=6 --PrintHexPSNR=1 --MaxMTTHierarchyDepthISliceL=1 --MaxMTTHierarchyDepthISliceC=1 --MaxMTTHierarchyDepthByTid=111111 -f 3 -o /dev/null
The mismatch is observed with commit 11a625c8 It happens first in slice with POC 2 and at CU with position (364,272), which is a CU in EIP mode.
Can you please have a look?
Best regards, Fabrice
Hi Fabrice, thanks for your information, you are right. A conditional check "if ((cu.lfnstIdx || cu.mtsFlag) && cu.eipModel.eipDimdMode == -1)" in IntraSearch.cpp causes the mismatch. It should be changed to "if (cu.eipModel.eipDimdMode == -1)". I will run more tests and submit a fix if no error is found.
@LaiZhang, can you please submit a merge request with the fix even it is not fully confirmed? We will also run tests. You may mark it as draft.
Edited by Vadim Seregin