Changeset 874 in SHVCSoftware for branches/SHM-dev/source/Lib/TLibDecoder


Ignore:
Timestamp:
28 Aug 2014, 00:57:07 (11 years ago)
Author:
qualcomm
Message:

Removal of avc_base_layer_flag. This flag was in the earlier version of spec but have been replaced by two other flags vps_base_layer_internal_flag and vps_base_layer_available_flag
(MACRO: VPS_AVC_BL_FLAG_REMOVAL)

From: Hendry (fhendry@…)

Location:
branches/SHM-dev/source/Lib/TLibDecoder
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r872 r874  
    10021002  READ_FLAG( uiCode, "vps_base_layer_internal_flag");             pcVPS->setBaseLayerInternalFlag( uiCode ? true : false );
    10031003  READ_FLAG( uiCode, "vps_base_layer_available_flag");            pcVPS->setBaseLayerAvailableFlag( uiCode ? true : false );
     1004#if VPS_AVC_BL_FLAG_REMOVAL
     1005  pcVPS->setNonHEVCBaseLayerFlag( (pcVPS->getBaseLayerAvailableFlag() && !pcVPS->getBaseLayerInternalFlag()) ? true : false);
     1006#endif
    10041007#else
    10051008  READ_CODE( 2,  uiCode,  "vps_reserved_three_2bits" );           assert(uiCode == 3);
     
    11781181  UInt numScalabilityTypes = 0, i = 0, j = 0;
    11791182
     1183#if !VPS_AVC_BL_FLAG_REMOVAL
    11801184  READ_FLAG( uiCode, "avc_base_layer_flag" ); vps->setAvcBaseLayerFlag(uiCode ? true : false);
     1185#endif
    11811186
    11821187#if !P0307_REMOVE_VPS_VUI_OFFSET
  • branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.cpp

    r873 r874  
    347347#else
    348348    m_iMaxRefPicNum = pcSlice->getVPS()->getMaxVpsDecPicBufferingMinus1( getCommonDecoderParams()->getTargetOutputLayerSetIdx(), pcSlice->getLayerId(), pcSlice->getTLayer() ) + 1; // m_uiMaxDecPicBuffering has the space for the picture currently being decoded
     349    //TODO: HENDRY -- Do the checking here.
    349350#endif
    350351  }
     
    742743
    743744    // When avc_base_layer_flag is equal to 1, it is a requirement of bitstream conformance that the value of sps_scaling_list_ref_layer_id shall be greater than 0
     745#if VPS_AVC_BL_FLAG_REMOVAL
     746    if( activeVPS->getNonHEVCBaseLayerFlag() )
     747#else
    744748    if( activeVPS->getAvcBaseLayerFlag() )
     749#endif
    745750    {
    746751      assert( refLayerId > 0 );
     
    771776
    772777    // When avc_base_layer_flag is equal to 1, it is a requirement of bitstream conformance that the value of sps_scaling_list_ref_layer_id shall be greater than 0
     778#if VPS_AVC_BL_FLAG_REMOVAL
     779    if( activeVPS->getNonHEVCBaseLayerFlag() )
     780#else
    773781    if( activeVPS->getAvcBaseLayerFlag() )
     782#endif
    774783    {
    775784      assert( refLayerId > 0 );
     
    797806
    798807#if AVC_BASE
     808#if VPS_AVC_BL_FLAG_REMOVAL
     809  if( activeVPS->getNonHEVCBaseLayerFlag() )
     810#else
    799811  if( activeVPS->getAvcBaseLayerFlag() )
     812#endif
    800813  {
    801814    TComPic* pBLPic = (*m_ppcTDecTop[0]->getListPic()->begin());
     
    10591072    m_isNoOutputPriorPics = false;
    10601073  }
     1074
     1075  //TODO: HENDRY -- Probably do the checking for max number of positive and negative pics here
     1076
    10611077
    10621078  //For inference of PicOutputFlag
     
    15801596  {
    15811597#if AVC_BASE
     1598#if VPS_AVC_BL_FLAG_REMOVAL
     1599    if( m_layerId == 1 && m_parameterSetManagerDecoder.getPrefetchedVPS(0)->getNonHEVCBaseLayerFlag() )
     1600#else
    15821601    if( m_layerId == 1 && m_parameterSetManagerDecoder.getPrefetchedVPS(0)->getAvcBaseLayerFlag() )
     1602#endif
    15831603    {
    15841604      TComPic* pBLPic = (*m_ppcTDecTop[0]->getListPic()->begin());
     
    19411961        UInt refLayerId = pcSlice->getVPS()->getRefLayerId(m_layerId, refLayerIdc);
    19421962#if AVC_BASE
     1963#if VPS_AVC_BL_FLAG_REMOVAL
     1964        if( refLayerId == 0 && m_parameterSetManagerDecoder.getActiveVPS()->getNonHEVCBaseLayerFlag() )
     1965#else
    19431966        if( refLayerId == 0 && m_parameterSetManagerDecoder.getActiveVPS()->getAvcBaseLayerFlag() )
     1967#endif
    19441968        {         
    19451969          TComPic* pic = *m_ppcTDecTop[0]->getListPic()->begin();
     
    21162140        UInt refLayerIdc = pcSlice->getInterLayerPredLayerIdc(i);
    21172141#if AVC_BASE
     2142#if VPS_AVC_BL_FLAG_REMOVAL
     2143        if( pcSlice->getVPS()->getRefLayerId( m_layerId, refLayerIdc ) == 0 && m_parameterSetManagerDecoder.getActiveVPS()->getNonHEVCBaseLayerFlag() )
     2144#else
    21182145        if( pcSlice->getVPS()->getRefLayerId( m_layerId, refLayerIdc ) == 0 && m_parameterSetManagerDecoder.getActiveVPS()->getAvcBaseLayerFlag() )
     2146#endif
    21192147        {
    21202148          pcSlice->setBaseColPic ( refLayerIdc, *m_ppcTDecTop[0]->getListPic()->begin() );
     
    24372465#endif
    24382466#if AVC_BASE
     2467#if VPS_AVC_BL_FLAG_REMOVAL
     2468      if( m_parameterSetManagerDecoder.getPrefetchedVPS(0)->getNonHEVCBaseLayerFlag() )
     2469#else
    24392470      if( m_parameterSetManagerDecoder.getPrefetchedVPS(0)->getAvcBaseLayerFlag() )
     2471#endif
    24402472      {
    24412473        if( !m_ppcTDecTop[0]->getBLReconFile()->good() )
Note: See TracChangeset for help on using the changeset viewer.