Skip to content
Snippets Groups Projects

JVET-S0163: On target OLS and sublayers for decoding (Operating Point Information OPI NAL Unit)

Merged Kashyap Kammachi Sreedhar requested to merge ks_kashyap/VVCSoftware_VTM:OPINAL into master

This MR implements: Operation point information (OPI) NAL unit for carrying syntax elements indicating TargetOlsIdx and Htid.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Frank Bossen
  • Frank Bossen
  • Frank Bossen
  • Frank Bossen
  • added 90 commits

    Compare with previous version

  • added 1 commit

    Compare with previous version

  • Frank Bossen resolved all threads

    resolved all threads

    • Resolved by Karsten Suehring

      Will there be nalu.m_nalUnitType == NAL_UNIT_OPI in AnnexBwrite.h?

      #if JVET_S0163_ON_TARGETOLS_SUBLAYERS
          const bool useLongStartCode = (it == au.begin() || nalu.m_nalUnitType == NAL_UNIT_OPI || nalu.m_nalUnitType == NAL_UNIT_DCI || nalu.m_nalUnitType == NAL_UNIT_VPS
                                         || nalu.m_nalUnitType == NAL_UNIT_SPS || nalu.m_nalUnitType == NAL_UNIT_PPS || nalu.m_nalUnitType == NAL_UNIT_PREFIX_APS
                                         || nalu.m_nalUnitType == NAL_UNIT_SUFFIX_APS);
      #else
          const bool useLongStartCode = (it == au.begin() || nalu.m_nalUnitType == NAL_UNIT_DCI || nalu.m_nalUnitType == NAL_UNIT_VPS || nalu.m_nalUnitType == NAL_UNIT_SPS
                                         || nalu.m_nalUnitType == NAL_UNIT_PPS || nalu.m_nalUnitType == NAL_UNIT_PREFIX_APS || nalu.m_nalUnitType == NAL_UNIT_SUFFIX_APS);
      #endif
  • Jamaika
  • Jamaika
  • added 1 commit

    Compare with previous version

  • I'm seeing a crash with this branch (merged into master), reported as follows:

    EncoderApp -c ../cfg/encoder_randomaccess_vtm.cfg -c ../cfg/multi-layer/two_layers.cfg -l0 -c ../cfg/per-sequence/RaceHorses.cfg -l1 -c ../cfg/per-sequence/RaceHorses.cfg -ipp ../../../../svn/origCfP/ -f 17 --SEIDecodedPictureHash=1 -q 55 --Level=3
    
    VVCSoftware: VTM Encoder Version 10.1rc1 [Mac OS X][clang 11.0.0][64 bit] [SIMD=AVX2] 
    
    TOOL CFG: IBD:1 HAD:1 RDQ:1 RDQTS:1 RDpenalty:0 LQP:0 SQP:0 ASR:1 MinSearchWindow:96 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:1 MMVD:1 Affine:1 AffineType:1 PROF:1 SbTMVP:1 DualITree:1 IMV:1 BIO:1 LMChroma:1 HorCollocatedChroma:1 VerCollocatedChroma:0 MTS: 1(intra) 0(inter) SBT:1 ISP:1 SMVD:1 CompositeLTReference:0 Bcw:1 BcwFast:1 LADF:0 CIIP:1 Geo:1 AllowDisFracMMVD:1 AffineAmvr:1 AffineAmvrEncOpt:1 DMVR:1 MmvdDisNum:6 JointCbCr:1 ACT:0 PLT:0 IBC:0 HashME:0 WrapAround:0 VirtualBoundariesEnabledFlag:0 VirtualBoundariesPresentInSPSFlag:1 vertical virtual boundaries:[ ] horizontal virtual boundaries:[ ] Reshape:1 (Signal:SDR Opt:0 CSoffset:6) MRL:1 MIP:1 EncDbOpt:0 
    FAST TOOL CFG: LCTUFast:1 FastMrg:1 PBIntraFast:1 IMV4PelFast:1 MTSMaxCand: 4(intra) 4(inter) ISPFast:0 FastLFNST:0 AMaxBT:1 E0023FastEnc:1 ContentBasedFastQtbt:0 UseNonLinearAlfLuma:1 UseNonLinearAlfChroma:1 MaxNumAlfAlternativesChroma:8 FastMIP:0 FastLocalDualTree:1 NumSplitThreads:1 NumWppThreads:1+0 EnsureWppBitEqual:0 RPR:0 TemporalFilter:0 
    
    
    AddressSanitizer:DEADLYSIGNAL
    =================================================================
    ==74096==ERROR: AddressSanitizer: BUS on unknown address 0x60220000382c (pc 0x000109fdd8b1 bp 0x7ffee6183530 sp 0x7ffee6183450 T0)
        #0 0x109fdd8b0 in VPS::deriveTargetOutputLayerSet(int) Slice.cpp
        #1 0x10a74529c in EncLib::xInitVPS(SPS const&) EncLib.cpp:1054
        #2 0x10a736ebc in EncLib::init(bool, AUWriterIf*) EncLib.cpp:235
        #3 0x109aa5b40 in EncApp::xInitLib(bool) EncApp.cpp:1202
        #4 0x109aa6780 in EncApp::createLib(int) EncApp.cpp:1237
        #5 0x109bf7baa in main encmain.cpp:190
        #6 0x7fff57d213d4 in start (libdyld.dylib:x86_64+0x163d4)
    
    ==74096==Register values:
    rax = 0x0000000000000000  rbx = 0x00007ffee6183860  rcx = 0x000060220000382c  rdx = 0x00000001fffffffc  
    rdi = 0x0000100000000000  rsi = 0x00001c0440000705  rbp = 0x00007ffee6183530  rsp = 0x00007ffee6183450  
     r8 = 0x0000000000000000   r9 = 0x00000fffffffffff  r10 = 0x0000000000000000  r11 = 0xffffffffffffffff  
    r12 = 0x00007ffee61836b0  r13 = 0x00007ffee61836c0  r14 = 0x00007ffee6183680  r15 = 0x00007ffee61836a0  
    AddressSanitizer can not provide additional info.
    SUMMARY: AddressSanitizer: BUS Slice.cpp in VPS::deriveTargetOutputLayerSet(int)
    ==74096==ABORTING
    Abort trap: 6

    targetOlsIdx is a large number in that function and is used to index into a vector of size 2.

  • added 1 commit

    • 064c2d0f - targetOLS index in VPS bug fix

    Compare with previous version

  • str.bin

    The targetOlsIdx in VPS has been fixed now. Was able to encode and decode successfully. Attached is the encoded file with following configuration.

    EncoderApp -c ../cfg/encoder_randomaccess_vtm.cfg -c ../cfg/multi-layer/two_layers.cfg -l0 -c ../cfg/per-sequence/RaceHorses.cfg -l1 -c ../cfg/per-sequence/RaceHorses.cfg -f 17 --SEIDecodedPictureHash=1 -q 55 --Level=3
  • added 92 commits

    Compare with previous version

  • Karsten Suehring resolved all threads

    resolved all threads

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading