Opened 3 months ago

Closed 3 months ago

#424 closed defect (fixed)

Encoder may produce uncompliant sps_log2_diff_max_bt_min_qt_inter_slice

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

Description

Depending on value of CtbLog2SizeY, the reference encoder may violate the upper boundary of sps_log2_diff_max_bt_min_qt_inter_slice. Accordingly to spec:

The value of sps_log2_diff_max_bt_min_qt_inter_slice shall be in the range of 0 to CtbLog2SizeY − MinQtLog2SizeInterY, inclusive

To reproduce the issue, we can use the merge request :
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/merge_requests/624

Let's reproduce with the following command lines:

git fetch https://vcgit.hhi.fraunhofer.de/fbarbier/VVCSoftware_VTM.git compliance_checks
git checkout -b fbarbier/VVCSoftware_VTM-compliance_checks FETCH_HEAD

cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug
make -j 8
cd ..

./bin/EncoderAppStaticd --SourceWidth=16 --SourceHeight=88 --InputChromaFormat=420 --InputBitDepth=10 --Profile=next --FrameRate=60 --FramesToBeEncoded=5 --GOPSize=4 '--Frame1=B 1 5 -6.5 0.2590 0 0 1.0 0 0 0 4 4 1 5 9 13 0 0' '--Frame2=B 2 4 -6.5 0.2590 0 0 1.0 0 0 0 4 4 1 2 6 10 0 0' '--Frame3=B 3 5 -6.5 0.2590 0 0 1.0 0 0 0 4 4 1 3 7 11 0 0' '--Frame4=B 4 1  0.0 0.0    0 0 1.0 0 0 0 4 4 1 4 8 12 0 0' --FastSearch=2 --MaxCUWidth=16 --MaxCUHeight=12 --CTUSize=64 --MaxPartitionDepth=5 --PCMEnabledFlag=0 --SAO=1 --LoopFilterDisable=0 --ALF=0 --DisableIntraInInter=0 --DepQuant=1 --TransformSkip=0 --MaxDeltaQP=0 --MTS=2 --IBC=1 --Triangle=1 --MIP=1 --SMVD=1 --SBT=1 -i source.yuv -b encoded.vvc
./bin/DecoderAppStaticd -b encoded.vvc -o /dev/null

VVCSoftware: VTM Decoder Version 5.2 [Linux][GCC 8.2.0][64 bit] [SIMD=AVX]
terminate called after throwing an instance of 'Exception'

what():

ERROR: In function "parseSPS" in /home/fredb/projects/vtm/source/Lib/DecoderLib/VLCReader.cpp:1221: Invalid code

Attachments (1)

source.yuv (20.6 KB) - added by fbarbier 3 months ago.

Download all attachments as: .zip

Change history (5)

Changed 3 months ago by fbarbier

comment:2 Changed 3 months ago by XiangLi

I got following error with your command line options. Could you provide a cfg file?

command line error: Unknown option 6.5' (value:0.2590')

Moreover, "--MaxCUWidth=16 --MaxCUHeight=12" looks not correct. MaxCUWidth and MaxCUHeight will be overwritten by MaxCUSize. We will remove those two parameters later to avoid confusion.

comment:3 Changed 3 months ago by fbarbier

Ok thanks for the feedback. I think we can avoid using a cfg file here.
Maybe you are under Windows environment ?

Please find the updated cmd lines to avoid config parameters issues:

git fetch https://vcgit.hhi.fraunhofer.de/fbarbier/VVCSoftware_VTM.git compliance_checks
git checkout -b fbarbier/VVCSoftware_VTM-compliance_checks FETCH_HEAD

cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug
make -j 8
cd ..

./bin/EncoderAppStaticd --SourceWidth=16 --SourceHeight=88 --InputChromaFormat=420 --InputBitDepth=10 --Profile=next --FrameRate=60 --FramesToBeEncoded=5 --GOPSize=4 "--Frame1=B 1 5 -6.5 0.2590 0 0 1.0 0 0 0 4 4 1 5 9 13 0 0" "--Frame2=B 2 4 -6.5 0.2590 0 0 1.0 0 0 0 4 4 1 2 6 10 0 0" "--Frame3=B 3 5 -6.5 0.2590 0 0 1.0 0 0 0 4 4 1 3 7 11 0 0" "--Frame4=B 4 1  0.0 0.0    0 0 1.0 0 0 0 4 4 1 4 8 12 0 0" --FastSearch=2 --CTUSize=64 --MaxPartitionDepth=5 --PCMEnabledFlag=0 --SAO=1 --LoopFilterDisable=0 --ALF=0 --DisableIntraInInter=0 --DepQuant=1 --TransformSkip=0 --MaxDeltaQP=0 --MTS=2 --IBC=1 --Triangle=1 --MIP=1 --SMVD=1 --SBT=1 -i source.yuv -b encoded.vvc
./bin/DecoderAppStaticd -b encoded.vvc -o /dev/null

comment:4 Changed 3 months ago by XiangLi

  • Milestone set to VTM-6.0
  • Resolution set to fixed
  • Status changed from new to closed

Fixed as suggested.

Note: See TracTickets for help on using tickets.