Changeset 300 in SHVCSoftware for branches/SHM-2.1-dev/source


Ignore:
Timestamp:
25 Jun 2013, 20:34:38 (11 years ago)
Author:
suehring
Message:

M0463: VUI extension inter-layer dependency offset signalling

Location:
branches/SHM-2.1-dev/source/Lib
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-2.1-dev/source/Lib/TLibCommon/TComSlice.cpp

    r297 r300  
    18061806, m_vuiParametersPresentFlag  (false)
    18071807, m_vuiParameters             ()
     1808#if M0463_VUI_EXT_ILP_REF
     1809, m_interViewMvVertConstraintFlag (false)
     1810, m_numIlpRestrictedRefLayers ( 0 )
     1811#endif
    18081812#if SVC_EXTENSION
    18091813, m_layerId(0)
     
    18261830  ::memset(m_ltRefPicPocLsbSps, 0, sizeof(m_ltRefPicPocLsbSps));
    18271831  ::memset(m_usedByCurrPicLtSPSFlag, 0, sizeof(m_usedByCurrPicLtSPSFlag));
     1832#if M0463_VUI_EXT_ILP_REF
     1833  for (Int i = 0; i < MAX_LAYERS; i++ )
     1834  {
     1835    m_minSpatialSegmentOffsetPlus1[ i ] = 0;
     1836    m_ctuBasedOffsetEnabledFlag   [ i ] = false;
     1837    m_minHorizontalCtuOffsetPlus1 [ i ] = 0;
     1838  }
     1839#endif
    18281840}
    18291841
  • branches/SHM-2.1-dev/source/Lib/TLibCommon/TComSlice.h

    r299 r300  
    10511051  static const Int   m_winUnitY[MAX_CHROMA_FORMAT_IDC+1];
    10521052  TComPTL     m_pcPTL;
     1053
     1054#if M0463_VUI_EXT_ILP_REF
     1055  Bool        m_interViewMvVertConstraintFlag;
     1056  Int         m_numIlpRestrictedRefLayers        ;
     1057  Int         m_minSpatialSegmentOffsetPlus1[MAX_LAYERS];
     1058  Bool        m_ctuBasedOffsetEnabledFlag   [MAX_LAYERS];
     1059  Int         m_minHorizontalCtuOffsetPlus1 [MAX_LAYERS];
     1060#endif
    10531061
    10541062#if SVC_EXTENSION
     
    11961204
    11971205#if SVC_EXTENSION
     1206#if M0463_VUI_EXT_ILP_REF
     1207  Void setInterViewMvVertConstraintFlag(Bool val) { m_interViewMvVertConstraintFlag = val; }
     1208  Bool getInterViewMvVertConstraintFlag()         { return m_interViewMvVertConstraintFlag;}
     1209
     1210  ////  sps_extension_vui_parameters( )
     1211  Void setNumIlpRestrictedRefLayers   ( Int val )        { m_numIlpRestrictedRefLayers         = val;}
     1212  Int  getNumIlpRestrictedRefLayers   ( )                { return m_numIlpRestrictedRefLayers        ;}
     1213
     1214  Void setMinSpatialSegmentOffsetPlus1( Int i, Int val ) { m_minSpatialSegmentOffsetPlus1[ i ] = val;}
     1215  Int  getMinSpatialSegmentOffsetPlus1( Int i )          { return m_minSpatialSegmentOffsetPlus1[ i ];}
     1216
     1217  Void setCtuBasedOffsetEnabledFlag   ( Int i, Bool flag ) { m_ctuBasedOffsetEnabledFlag   [ i ] = flag;}
     1218  Bool getCtuBasedOffsetEnabledFlag   ( Int i )            { return m_ctuBasedOffsetEnabledFlag   [ i ];}
     1219
     1220  Void setMinHorizontalCtuOffsetPlus1 ( Int i, Int val )   { m_minHorizontalCtuOffsetPlus1 [ i ] = val;}
     1221  Int  getMinHorizontalCtuOffsetPlus1 ( Int i )            { return m_minHorizontalCtuOffsetPlus1 [ i ];}
     1222#endif
    11981223  Void     setLayerId(UInt layerId) { m_layerId = layerId; }
    11991224  UInt     getLayerId() { return m_layerId; }
  • branches/SHM-2.1-dev/source/Lib/TLibCommon/TypeDef.h

    r299 r300  
    4545#if SVC_EXTENSION
    4646#define M0464_TILE_BOUNDARY_ALIGNED_FLAG 1      ///< VUI flag to indicate tile boundary alignment
     47#define M0463_VUI_EXT_ILP_REF            1      ///< VUI extension inter-layer dependency offset signalling
    4748#define SPS_EXTENSION                    1      ///< Define sps_extension() syntax structure
    4849#define SCALED_REF_LAYER_OFFSET_FLAG     0      ///< M0309: Signal scaled reference layer offsets in SPS
  • branches/SHM-2.1-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r299 r300  
    784784  }
    785785#endif
    786 }
    787 #endif
     786#if M0463_VUI_EXT_ILP_REF
     787  ////   sps_extension_vui_parameters( )
     788  if( pcSPS->getVuiParameters()->getBitstreamRestrictionFlag() )
     789  { 
     790    READ_UVLC( uiCode, "num_ilp_restricted_ref_layers" ); pcSPS->setNumIlpRestrictedRefLayers( uiCode );
     791    for( Int i = 0; i < pcSPS->getNumIlpRestrictedRefLayers( ); i++ )
     792    { 
     793      READ_UVLC( uiCode, "min_spatial_segment_offset_plus1" ); pcSPS->setMinSpatialSegmentOffsetPlus1( i, uiCode );
     794      if( pcSPS->getMinSpatialSegmentOffsetPlus1( i ) > 0 )
     795      { 
     796        READ_FLAG( uiCode, "ctu_based_offset_enabled_flag[ i ]"); pcSPS->setCtuBasedOffsetEnabledFlag(i, uiCode == 1 );
     797        if( pcSPS->getCtuBasedOffsetEnabledFlag( i ) ) 
     798        {
     799          READ_UVLC( uiCode, "min_horizontal_ctu_offset_plus1[ i ]"); pcSPS->setMinHorizontalCtuOffsetPlus1( i, uiCode );
     800        }
     801      } 
     802    } 
     803  } 
     804  ////   sps_extension_vui_parameters( ) END
     805#endif
     806}
     807#endif
     808
    788809Void TDecCavlc::parseVPS(TComVPS* pcVPS)
    789810{
  • branches/SHM-2.1-dev/source/Lib/TLibEncoder/TEncCavlc.cpp

    r299 r300  
    603603  }
    604604#endif
     605#if M0463_VUI_EXT_ILP_REF
     606  ////   sps_extension_vui_parameters( )
     607  if( pcSPS->getVuiParameters()->getBitstreamRestrictionFlag() )
     608  { 
     609    WRITE_UVLC( pcSPS->getNumIlpRestrictedRefLayers( ),           "num_ilp_restricted_ref_layers" );
     610    for( Int i = 0; i < pcSPS->getNumIlpRestrictedRefLayers( ); i++ )
     611    { 
     612      WRITE_UVLC( pcSPS->getMinSpatialSegmentOffsetPlus1( i ),    "min_spatial_segment_offset_plus1" );
     613      if( pcSPS->getMinSpatialSegmentOffsetPlus1( i ) > 0 )
     614      { 
     615        WRITE_FLAG( pcSPS->getCtuBasedOffsetEnabledFlag( i ),      "ctu_based_offset_enabled_flag[ i ]");
     616        if( pcSPS->getCtuBasedOffsetEnabledFlag( i ) ) 
     617        {
     618          WRITE_UVLC( pcSPS->getMinHorizontalCtuOffsetPlus1( i ), "min_horizontal_ctu_offset_plus1[ i ]");
     619        }
     620      } 
     621    } 
     622  } 
     623  ////   sps_extension_vui_parameters( ) END
     624#endif
    605625}
    606626#endif
Note: See TracChangeset for help on using the changeset viewer.