Changeset 744 in SHVCSoftware


Ignore:
Timestamp:
25 Apr 2014, 20:16:53 (11 years ago)
Author:
sharp
Message:

JCTVC-Q0102 Proposal 3 - S. Deshpande <sdeshpande@…>

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

Legend:

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

    r723 r744  
    514514  UInt       m_layerIdInVps[MAX_VPS_LAYER_ID_PLUS1];            // Maps layer_id_in_nuh with the layer ID in the VPS
    515515#endif
     516#if BITRATE_PICRATE_SIGNALLING
     517  UInt       m_maxSLInLayerSetMinus1[MAX_VPS_LAYER_SETS_PLUS1];
     518#endif
     519   
    516520#if ILP_SSH_SIG
    517521  Bool       m_ilpSshSignalingEnabledFlag;
     
    835839  Void   setLayerIdInVps(Int id, UInt x)                        { m_layerIdInVps[id] = x;          }
    836840#endif
     841#if BITRATE_PICRATE_SIGNALLING
     842    UInt   getMaxSLayersInLayerSetMinus1(Int ls)                { return m_maxSLInLayerSetMinus1[ls];    }
     843    Void   setMaxSLayersInLayerSetMinus1(Int ls, Int x)         { m_maxSLInLayerSetMinus1[ls] = x;       }
     844#endif
    837845#if ILP_SSH_SIG
    838846  Bool   getIlpSshSignalingEnabledFlag()                      { return m_ilpSshSignalingEnabledFlag;}
  • branches/SHM-6-dev/source/Lib/TLibCommon/TypeDef.h

    r742 r744  
    273273#define P0138_USE_ALT_CPB_PARAMS_FLAG    1      ///< JCTVC-P0138: use_alt_cpb_params_flag syntax in buffering period SEI message extension
    274274#define P0166_MODIFIED_PPS_EXTENSION     1      ///< JCTVC-P0166: add pps_extension_type_flag
     275#define BITRATE_PICRATE_SIGNALLING       1      ///< JCTVC-Q0102 Proposal 3 signal bitrate, picrate only up to the maximum temporal sub-layers in the corresponding layer set
    275276
    276277#if VIEW_ID_RELATED_SIGNALING
  • branches/SHM-6-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r742 r744  
    19361936  UInt uiCode;
    19371937#if DPB_PARAMS_MAXTLAYERS
     1938#if BITRATE_PICRATE_SIGNALLING
     1939    Int * MaxSubLayersInLayerSetMinus1 = new Int[vps->getNumLayerSets()];
     1940    for(Int i = 0; i < vps->getNumLayerSets(); i++)
     1941#else
    19381942    Int * MaxSubLayersInLayerSetMinus1 = new Int[vps->getNumOutputLayerSets()];
    19391943    for(Int i = 1; i < vps->getNumOutputLayerSets(); i++)
     1944#endif
    19401945    {
    19411946        UInt maxSLMinus1 = 0;
     
    19451950        Int optLsIdx = i;
    19461951#endif
     1952#if BITRATE_PICRATE_SIGNALLING
     1953        optLsIdx = i;
     1954#endif
    19471955        for(Int k = 0; k < vps->getNumLayersInIdList(optLsIdx); k++ ) {
    19481956            Int  lId = vps->getLayerSetLayerIdList(optLsIdx, k);
     
    19501958        }
    19511959        MaxSubLayersInLayerSetMinus1[ i ] = maxSLMinus1;
     1960#if BITRATE_PICRATE_SIGNALLING
     1961        vps->setMaxSLayersInLayerSetMinus1(i,MaxSubLayersInLayerSetMinus1[ i ]);
     1962#endif
    19521963    }
    19531964#endif
     
    19631974    READ_FLAG( uiCode, "sub_layer_flag_info_present_flag[i]");  vps->setSubLayerFlagInfoPresentFlag( i, uiCode ? true : false );
    19641975#if DPB_PARAMS_MAXTLAYERS
     1976#if BITRATE_PICRATE_SIGNALLING
     1977    for(Int j = 0; j <= MaxSubLayersInLayerSetMinus1[ vps->getOutputLayerSetIdx( i ) ]; j++)
     1978#else
    19651979    for(Int j = 0; j <= MaxSubLayersInLayerSetMinus1[ i ]; j++)
     1980#endif
    19661981#else
    19671982    for(Int j = 0; j <= vps->getMaxTLayers(); j++)
     
    20852100    for( i = 0; i < vps->getNumLayerSets(); i++ )
    20862101    {
     2102#if BITRATE_PICRATE_SIGNALLING
     2103      for( j = 0; j <= vps->getMaxSLayersInLayerSetMinus1(i); j++ )
     2104#else
    20872105      for( j = 0; j < vps->getMaxTLayers(); j++ )
     2106#endif
    20882107      {
    20892108        if( parseFlag && vps->getBitRatePresentVpsFlag() )
  • branches/SHM-6-dev/source/Lib/TLibEncoder/TEncCavlc.cpp

    r742 r744  
    13711371{
    13721372#if DPB_PARAMS_MAXTLAYERS
     1373#if BITRATE_PICRATE_SIGNALLING
     1374    Int * MaxSubLayersInLayerSetMinus1 = new Int[vps->getNumLayerSets()];
     1375    for(Int i = 0; i < vps->getNumLayerSets(); i++)
     1376#else
    13731377    Int * MaxSubLayersInLayerSetMinus1 = new Int[vps->getNumOutputLayerSets()];
    13741378    for(Int i = 1; i < vps->getNumOutputLayerSets(); i++)
     1379#endif
    13751380    {
    13761381        UInt maxSLMinus1 = 0;
     
    13801385        Int optLsIdx = i;
    13811386#endif
     1387#if BITRATE_PICRATE_SIGNALLING
     1388        optLsIdx = i;
     1389#endif
    13821390        for(Int k = 0; k < vps->getNumLayersInIdList(optLsIdx); k++ ) {
    13831391            Int  lId = vps->getLayerSetLayerIdList(optLsIdx, k);
     
    13851393        }
    13861394        MaxSubLayersInLayerSetMinus1[ i ] = maxSLMinus1;
    1387     }
    1388 #endif
     1395#if BITRATE_PICRATE_SIGNALLING
     1396        vps->setMaxSLayersInLayerSetMinus1(i,MaxSubLayersInLayerSetMinus1[ i ]);
     1397#endif
     1398    }
     1399#endif
     1400   
    13891401   
    13901402  for(Int i = 1; i < vps->getNumOutputLayerSets(); i++)
     
    13951407    WRITE_FLAG( vps->getSubLayerFlagInfoPresentFlag( i ), "sub_layer_flag_info_present_flag[i]");
    13961408#if DPB_PARAMS_MAXTLAYERS
     1409#if BITRATE_PICRATE_SIGNALLING
     1410    for(Int j = 0; j <= MaxSubLayersInLayerSetMinus1[ vps->getOutputLayerSetIdx( i ) ]; j++)
     1411#else
    13971412    for(Int j = 0; j <= MaxSubLayersInLayerSetMinus1[ i ]; j++)
     1413#endif
    13981414#else
    13991415    for(Int j = 0; j < vps->getMaxTLayers(); j++)
     
    14631479    for( i = 0; i < vps->getNumLayerSets(); i++ )
    14641480    {
     1481#if BITRATE_PICRATE_SIGNALLING
     1482      for( j = 0; j <= vps->getMaxSLayersInLayerSetMinus1(i); j++ )
     1483#else
    14651484      for( j = 0; j < vps->getMaxTLayers(); j++ )
     1485#endif
    14661486      {
    14671487        if( vps->getBitRatePresentVpsFlag() )
Note: See TracChangeset for help on using the changeset viewer.