Opened 3 months ago

Last modified 2 months ago

#1501 new defect

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


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 (2)

comment:1 Changed 3 months ago by seuhong

The problems could be easily reproduced and all your observations are correct. We will work on the solution.

Note: See TracTickets for help on using tickets.