Opened 3 years ago
Closed 3 years ago
#1536 closed defect (fixed)
VTM encoder generates non decodable stream because of incorrect numExpSliceInTile
Reported by: | iole_moccagatta | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | VTM-15.0 |
Component: | VTM | Version: | VTM-15.0 |
Keywords: | numExpSliceInTile | Cc: | ksuehring, fbossen, XiangLi, jvet@… |
Description
VTM encoder command:
EncoderAppStatic -c BasketballDrill.cfg -c encoder_randomaccess_vtm_IM.cfg -c test_rect_slice-2-2-1-1.cfg -i test.yuv -wdt 128 -hgt 192 -f 1
VTM decoder command and error:
DecoderAppStatic -b str.bin -o dec_str.yuv
VVCSoftware: VTM Decoder Version 15.2 [Linux][GCC 5.5.0][64 bit] [SIMD=AVX2]
ERROR: In function "getTileRowBd" in /users/HOME/iole/VTM/VVCSoftware_VTM_15.2/VVCSoftware_VTM/source/Lib/CommonLib/Slice.h:2178: Tile row index exceeds valid range
Possible root cause:
we suspect a bug in VLCWriter.cpp when calculating numExpSliceInTile.
In the attached config files CTU = 32 and frame size=128x192, so frame size in CTU unit is 4x6.
In test_rect_slice-2-2-1-1.cfg 4 slices’ height in CTU unit is 2,2,1,1. So, numExpSliceInTile should be 3, and the encoder should encode
pps_exp_slice_height_in_ctus_minus1[0] = 1
pps_exp_slice_height_in_ctus_minus1[1] = 1
pps_exp_slice_height_in_ctus_minus1[2] = 0
in pps header, the height of the last slice is derived by decoder
It seems the VTM Encoder compute numExpSliceInTile as 2, and encodes
pps_exp_slice_height_in_ctus_minus1[0] = 1
pps_exp_slice_height_in_ctus_minus1[1] = 1
into pps header
Therefore VTM decoder's slice layout is 3 slices with 2 CTU height each, and an error is detected.
One possible fix is to add “else {break;}” under line 380.
Attachments (4)
Change history (7)
Changed 3 years ago by iole_moccagatta
Changed 3 years ago by iole_moccagatta
Changed 3 years ago by iole_moccagatta
Changed 3 years ago by iole_moccagatta
comment:1 Changed 3 years ago by fbossen
comment:2 Changed 3 years ago by iole_moccagatta
I confirm MR2184 fixes the problem. Thanks for the quick turn around.
comment:3 Changed 3 years ago by ksuehring
- Resolution set to fixed
- Status changed from new to closed
The suggested fix was merged.
Suggested fix:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/-/merge_requests/2184