Opened 3 years ago
Closed 3 years ago
#1501 closed defect (fixed)
Wrong slice type when GDR enabled in LDP configuration
Reported by: | saurabh.puri | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | VTM | Version: | VTM-13.0 |
Keywords: | GDR LDP | Cc: | jvet@…, ksuehring, XiangLi, fbossen |
Description
Two defects were noticed in the latest VTM-13.0 and are related to GDR tool being enabled in LDP config.
With GDR tool enabled in LDP, the inter-picture is wrongly marked as B-SLICE and therefore, enables bi-directional prediction as shown below.
$ ./EncoderApp.exe -c ~/source/repos/cloudgamingcodec/cfg/encoder_lowdelay_P_vtm.cfg -c ~/source/repos/cloudgamingcodec/cfg/per-sequence/BQSquare.cfg -ipp ../../../../../../../video_sequences/ -f 10 --GdrEnabled=1 --GdrPocStart=0 --GdrPeriod=32 --GdrInterval=16 VVCSoftware: VTM Encoder Version 13.0 [Windows][VS 1929][64 bit] [SIMD=AVX2] TOOL CFG: IBD:1 HAD:1 RDQ:1 RDQTS:1 RDpenalty:0 LQP:0 SQP:0 ASR:0 MinSearchWindow:8 RestrictMESampling:0 FEN:1 ECU:0 FDM:1 ESD:0 TransformSkip:1 TransformSkipFast:1 TransformSkipLog2MaxSize:5 ChromaTS:1 BDPCM:0 Tiles: 1x1 Slices: 1 MCTS:0 SAO:1 ALF:1 CCALF:1 WPP:0 WPB:0 PME:2 WaveFrontSynchro:0 WaveFrontSubstreams:1 ScalingList:0 TMVPMode:1 DQ:1 SignBitHidingFlag:0 RecalQP:0 TOOL CFG: LFNST:0 MMVD:1 Affine:1 AffineType:1 PROF:1 SbTMVP:1 DualITree:1 IMV:1 BIO:0 LMChroma:1 HorCollocatedChroma:1 VerCollocatedChroma:0 MTS: 1(intra) 0(inter) SBT:1 ISP:1 SMVD:0 CompositeLTReference:0 Bcw:0 BcwFast:0 LADF:0 CIIP:1 Geo:0 AllowDisFracMMVD:1 AffineAmvr:0 AffineAmvrEncOpt:0 DMVR:0 MmvdDisNum:6 JointCbCr:1 ACT:0 PLT:0 IBC:0 HashME:0 WrapAround:0 VirtualBoundariesEnabledFlag:1 VirtualBoundariesPresentInSPSFlag:0 Reshape:1 (Signal:SDR Opt:0 CSoffset:1) MRL:1 MIP:0 EncDbOpt:0 FAST TOOL CFG: LCTUFast:1 FastMrg:1 PBIntraFast:1 IMV4PelFast:1 MTSMaxCand: 3(intra) 4(inter) ISPFast:0 AMaxBT:1 E0023FastEnc:1 ContentBasedFastQtbt:0 UseNonLinearAlfLuma:1 UseNonLinearAlfChroma:1 MaxNumAlfAlternativesChroma:8 FastLocalDualTree:2 RPR:0 TemporalFilter:0 started @ Tue Aug 3 15:59:56 2021 POC 0 LId: 0 TId: 0 ( IDR_N_LP, I-SLICE, QP 32 ) 82056 bits [Y 33.8351 dB U 40.0469 dB V 40.1413 dB] [ET 17 ] [L0] [L1] POC 1 LId: 0 TId: 0 ( TRAIL, B-SLICE, QP 32 ) 10080 bits [Y 33.3199 dB U 40.0073 dB V 40.1417 dB] [ET 10 ] [L0 0] [L1 0c] POC 2 LId: 0 TId: 0 ( TRAIL, B-SLICE, QP 32 ) 15816 bits [Y 33.3283 dB U 39.8815 dB V 40.1432 dB] [ET 15 ] [L0 1 0] [L1 1c 0] POC 3 LId: 0 TId: 0 ( TRAIL, B-SLICE, QP 32 ) 16584 bits [Y 33.2873 dB U 39.9254 dB V 40.0040 dB] [ET 14 ] [L0 2 1 0] [L1 2c 1 0]
From code, it seems the slice type for inter-picture is hard coded as 'B' when GDR is enabled.
Removing the hard coded value in the code seems to fix the above issue but leads to segmentation fault after I frame.
started @ Tue Aug 3 16:09:56 2021 POC 0 LId: 0 TId: 0 ( IDR_N_LP, I-SLICE, QP 32 ) 82056 bits [Y 33.8351 dB U 40.0469 dB V 40.1413 dB] [ET 18 ] [L0] [L1] Segmentation fault
It is noticed that segmentation fault only happens in Affine mode. When the Affine tool is turned OFF in LDP + GDR configuration, the segmentation fault is not observed.
This may be due to some missing condition (in the GDR part of the affine tool implementation) which is allowing bi-prediction even when LDP mode is used with GDR.
Change history (3)
comment:1 Changed 3 years ago by seuhong
comment:2 Changed 3 years ago by seuhong
Fix is in below MR
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/-/merge_requests/2115
comment:3 Changed 3 years ago by fbossen
- Resolution set to fixed
- Status changed from new to closed
The problems could be easily reproduced and all your observations are correct. We will work on the solution.