Changeset 894 in SHVCSoftware for branches/SHM-dev/source/Lib/TLibCommon


Ignore:
Timestamp:
26 Sep 2014, 03:22:40 (11 years ago)
Author:
qualcomm
Message:

JCTVC-R0231: Signalling of VPS VUI BSP HRD parameters and other related changes (Macro: VPS_VUI_BSP_HRD_PARAMS)

This patch includes some of the signalling changes in the VPS VUI BSP HRD parameters in R0231, and related adoptions.

From: Adarsh K. Ramasubramonian <aramasub@…>

Location:
branches/SHM-dev/source/Lib/TLibCommon
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-dev/source/Lib/TLibCommon/SEI.h

    r884 r894  
    592592  Bool  m_callerOwnsSEIs;
    593593  SEIMessages m_nestedSEIs;
     594#if VPS_VUI_BSP_HRD_PARAMS
     595  Int  m_seiPartitioningSchemeIdx;
     596  Int  m_seiOlsIdx;
     597#endif
    594598};
    595599
  • branches/SHM-dev/source/Lib/TLibCommon/TComSlice.cpp

    r890 r894  
    31753175}
    31763176#endif
     3177
    31773178#if RESOLUTION_BASED_DPB
    31783179// RepFormat Assignment operator
  • branches/SHM-dev/source/Lib/TLibCommon/TComSlice.h

    r890 r894  
    370370  UInt getNumDU                              ( )            { return m_numDU;          }
    371371  Bool getCpbDpbDelaysPresentFlag() { return getNalHrdParametersPresentFlag() || getVclHrdParametersPresentFlag(); }
     372
     373#if VPS_VUI_BSP_HRD_PARAMS
     374Void copyCommonInformation( TComHRD *refHrd )
     375{
     376  m_nalHrdParametersPresentFlag         = refHrd->getNalHrdParametersPresentFlag();
     377  m_vclHrdParametersPresentFlag         = refHrd->getVclHrdParametersPresentFlag();
     378  m_subPicCpbParamsPresentFlag          = refHrd->getSubPicCpbParamsPresentFlag();
     379  m_tickDivisorMinus2                   = refHrd->getTickDivisorMinus2();
     380  m_duCpbRemovalDelayLengthMinus1       = refHrd->getDuCpbRemovalDelayLengthMinus1();
     381  m_subPicCpbParamsInPicTimingSEIFlag   = refHrd->getSubPicCpbParamsInPicTimingSEIFlag();
     382  m_dpbOutputDelayDuLengthMinus1        = refHrd->getDpbOutputDelayDuLengthMinus1();
     383  m_bitRateScale                        = refHrd->getBitRateScale();
     384  m_cpbSizeScale                        = refHrd->getCpbSizeScale();
     385  m_ducpbSizeScale                      = refHrd->getDuCpbSizeScale();
     386  m_initialCpbRemovalDelayLengthMinus1  = refHrd->getInitialCpbRemovalDelayLengthMinus1();
     387  m_cpbRemovalDelayLengthMinus1         = refHrd->getCpbRemovalDelayLengthMinus1();
     388  m_dpbOutputDelayLengthMinus1          = refHrd->getDpbOutputDelayLengthMinus1();
     389}
     390#endif
    372391};
    373392
     
    814833#if O0164_MULTI_LAYER_HRD
    815834  Bool       m_vpsVuiBspHrdPresentFlag;
     835#if VPS_VUI_BSP_HRD_PARAMS
     836  Int                 m_vpsNumAddHrdParams;
     837  std::vector<Bool>   m_cprmsAddPresentFlag;
     838  std::vector<Int>    m_numSubLayerHrdMinus1;
     839  std::vector<TComHRD> m_bspHrd;
     840  Int    m_numSignalledPartitioningSchemes[MAX_VPS_OUTPUT_LAYER_SETS_PLUS1];
     841  Int    m_numPartitionsInSchemeMinus1    [MAX_VPS_OUTPUT_LAYER_SETS_PLUS1][16];
     842  Int    m_layerIncludedInPartitionFlag   [MAX_VPS_OUTPUT_LAYER_SETS_PLUS1][16][MAX_LAYERS][MAX_LAYERS];
     843  Int    m_numBspSchedulesMinus1          [MAX_VPS_OUTPUT_LAYER_SETS_PLUS1][16][MAX_TLAYER];
     844  Int    m_bspHrdIdx                      [MAX_VPS_OUTPUT_LAYER_SETS_PLUS1][16][MAX_TLAYER][31][MAX_LAYERS];
     845  Int    m_bspSchedIdx                    [MAX_VPS_OUTPUT_LAYER_SETS_PLUS1][16][MAX_TLAYER][31][MAX_LAYERS];
     846#else
    816847  UInt       m_vpsNumBspHrdParametersMinus1;
    817848  Bool       m_bspCprmsPresentFlag[MAX_VPS_LAYER_SETS_PLUS1];
     
    823854  UInt       m_bspCombSchedIdx[MAX_VPS_LAYER_SETS_PLUS1][16][16];
    824855#endif
     856#endif
    825857
    826858#if P0182_VPS_VUI_PS_FLAG
     
    867899  Void    createBspHrdParamBuffer(UInt numHrds)
    868900  {
     901#if VPS_VUI_BSP_HRD_PARAMS
     902    m_bspHrd.resize( numHrds );
     903    m_cprmsAddPresentFlag.resize( numHrds );
     904    m_numSubLayerHrdMinus1.resize( numHrds );
     905#else
    869906    m_bspHrd    = new TComHRD[ numHrds ];
     907#endif
    870908//    m_hrdOpSetIdx      = new UInt   [ getNumHrdParameters() ];
    871909//    m_cprmsPresentFlag = new Bool   [ getNumHrdParameters() ];
     
    875913  Int getBspHrdParamBufferCpbCntMinus1(UInt i, UInt sl)
    876914  {
     915#if VPS_VUI_BSP_HRD_PARAMS
     916    return m_bspHrd[i].getCpbCntMinus1(sl);
     917#else
    877918    return m_bspHrd->getCpbCntMinus1(sl);
     919#endif
    878920  }
    879921#endif
     
    11961238  Bool     getVpsVuiBspHrdPresentFlag()                         { return m_vpsVuiBspHrdPresentFlag;      }
    11971239  Void     setVpsVuiBspHrdPresentFlag(Bool x)                   { m_vpsVuiBspHrdPresentFlag = x;         }
     1240#if VPS_VUI_BSP_HRD_PARAMS
     1241  Int      getVpsNumAddHrdParams()                              { return m_vpsNumAddHrdParams; }
     1242  Void     setVpsNumAddHrdParams(Int  i)                   { m_vpsNumAddHrdParams = i;    }
     1243
     1244  Bool     getCprmsAddPresentFlag(Int i)                        { return m_cprmsAddPresentFlag[i];       }
     1245  Void     setCprmsAddPresentFlag(Int  i, Bool  val)  { m_cprmsAddPresentFlag[i] = val;        }
     1246
     1247  Int      getNumSubLayerHrdMinus1(Int i)           { return m_numSubLayerHrdMinus1[i]; }
     1248  Void     setNumSubLayerHrdMinus1(Int i, Int val)  { m_numSubLayerHrdMinus1[i] = val; }
     1249
     1250  TComHRD*  getBspHrd(Int i)           {return &m_bspHrd[i];}
     1251
     1252  Int      getNumSignalledPartitioningSchemes(Int  i)                    { return m_numSignalledPartitioningSchemes[i];    }
     1253  Void     setNumSignalledPartitioningSchemes(Int  i, Int  val)          { m_numSignalledPartitioningSchemes[i] = val;     }
     1254
     1255  Int      getNumPartitionsInSchemeMinus1(Int  i, Int j)  { return m_numPartitionsInSchemeMinus1[i][j];}
     1256  Void     setNumPartitionsInSchemeMinus1(Int i, Int j, Int val) { m_numPartitionsInSchemeMinus1[i][j] = val; }
     1257
     1258  Int      getLayerIncludedInPartitionFlag(Int  i, Int j, Int k, Int l)  { return m_layerIncludedInPartitionFlag[i][j][k][l];}
     1259  Void     setLayerIncludedInPartitionFlag(Int i, Int j, Int k, Int l, Int val) { m_layerIncludedInPartitionFlag[i][j][k][l] = val; }
     1260
     1261  Int      getNumBspSchedulesMinus1(Int  i, Int j, Int k)         { return m_numBspSchedulesMinus1[i][j][k];}
     1262  Void     setNumBspSchedulesMinus1(Int i, Int j, Int k, Int val) { m_numBspSchedulesMinus1[i][j][k] = val; }
     1263
     1264  Int      getBspSchedIdx(Int  i, Int j, Int k, Int l, Int m)  { return m_bspSchedIdx[i][j][k][l][m];}
     1265  Void     setBspSchedIdx(Int  i, Int j, Int k, Int l, Int m, Int val) { m_bspSchedIdx[i][j][k][l][m] = val; }
     1266
     1267  Int      getBspHrdIdx(Int  i, Int j, Int k, Int l, Int m)  { return m_bspHrdIdx[i][j][k][l][m];}
     1268  Void     setBspHrdIdx(Int  i, Int j, Int k, Int l, Int m, Int val) { m_bspHrdIdx[i][j][k][l][m] = val; }
     1269#else
    11981270  UInt     getVpsNumBspHrdParametersMinus1()                    { return m_vpsNumBspHrdParametersMinus1; }
    11991271  Void     setVpsNumBspHrdParametersMinus1(UInt i)              { m_vpsNumBspHrdParametersMinus1 = i;    }
     
    12111283  UInt     getBspCombSchedIdx(UInt h, UInt i, UInt j)           { return m_bspCombSchedIdx[h][i][j];     }
    12121284  Void     setBspCombSchedIdx(UInt h, UInt i, UInt j, UInt val) { m_bspCombSchedIdx[h][i][j] = val;      }
     1285#endif
    12131286#endif
    12141287#if P0182_VPS_VUI_PS_FLAG
  • branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h

    r893 r894  
    6666#define BSP_INIT_ARRIVAL_SEI             1      ///< JCTVC-R0231: Make signalling of vcl_initial_arrival_delay independent of NalHrdBpPresentFlag
    6767#define SUB_LAYERS_IN_LAYER_SET          1      ///< Move calculation of MaxSubLayerInLayerSets to a separate function
     68#define VPS_VUI_BSP_HRD_PARAMS           1      ///< JCTVC-R0231: Define the VPS VUI BSP hrd_params() as a separate function, and apply changes adopted.
    6869#define O0137_MAX_LAYERID                1      ///< JCTVC-O0137, JCTVC-O0200, JCTVC-O0223: restrict nuh_layer_id and vps_max_layers_minus1
    6970
     
    493494typedef       double              Double;
    494495typedef       float               Float;
    495 
    496496// ====================================================================================================================
    497497// 64-bit integer type
Note: See TracChangeset for help on using the changeset viewer.