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


Ignore:
Timestamp:
5 Sep 2013, 23:09:52 (11 years ago)
Author:
qualcomm
Message:

Integration of N0160_TILE_BOUNDARY_ALIGNED_FLAG and N0160_VUI_EXT_ILP_REF

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

Legend:

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

    r381 r382  
    11451145  READ_FLAG(uiCode, "single_layer_for_non_irap_flag" ); vps->setSingleLayerForNonIrapFlag(uiCode == 1 ? true : false);
    11461146#endif
    1147 }
    1148 #endif
    1149 
     1147
     1148  READ_FLAG( uiCode,  "vps_vui_present_flag" );
     1149  if (uiCode)
     1150  {
     1151#if VPS_VUI
     1152    parseVPSVUI(vps);
     1153#endif
     1154  }
     1155}
     1156#endif
     1157
     1158#if VPS_VUI
     1159Void TDecCavlc::parseVPSVUI(TComVPS *vps)
     1160{
     1161  UInt i,j;
     1162  UInt uiCode;
     1163#if N0160_TILE_BOUNDARY_ALIGNED_FLAG
     1164  for(i = 1; i < vps->getMaxLayers(); i++)
     1165  {
     1166    for(j = 0; j < vps->getNumDirectRefLayers(vps->getLayerIdInNuh(i)); j++)
     1167    {
     1168      READ_FLAG( uiCode, "tile_boundaries_aligned_flag[i][j]" ); vps->setTileBoundariesAlignedFlag(i,j,(uiCode == 1));     
     1169    }
     1170  } 
     1171#endif
     1172#if N0160_VUI_EXT_ILP_REF
     1173    READ_FLAG( uiCode, "num_ilp_restricted_ref_layers" ); vps->setNumIlpRestrictedRefLayers( uiCode == 1 );
     1174  if( vps->getNumIlpRestrictedRefLayers())
     1175  {
     1176    for(i = 1; i < vps->getMaxLayers(); i++)
     1177    {
     1178      for(j = 0; j < vps->getNumDirectRefLayers(vps->getLayerIdInNuh(i)); j++)
     1179      {
     1180        READ_UVLC( uiCode, "min_spatial_segment_offset_plus1[i][j]" ); vps->setMinSpatialSegmentOffsetPlus1( i, j, uiCode );
     1181        if( vps->getMinSpatialSegmentOffsetPlus1(i,j ) > 0 )
     1182        { 
     1183          READ_FLAG( uiCode, "ctu_based_offset_enabled_flag[i][j]"); vps->setCtuBasedOffsetEnabledFlag(i, j, uiCode == 1 );
     1184          if(vps->getCtuBasedOffsetEnabledFlag(i,j)) 
     1185          {
     1186            READ_UVLC( uiCode, "min_horizontal_ctu_offset_plus1[i][j]"); vps->setMinHorizontalCtuOffsetPlus1( i,j, uiCode );
     1187          }
     1188        } 
     1189      } 
     1190    }
     1191  }
     1192#endif
     1193}
     1194#endif
    11501195Void TDecCavlc::parseSliceHeader (TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager)
    11511196{
  • branches/SHM-3.1-dev/source/Lib/TLibDecoder/TDecCAVLC.h

    r345 r382  
    7575  Void  parseVPSExtension   ( TComVPS* pcVPS );
    7676#endif
     77#if VPS_VUI
     78  Void  parseVPSVUI   ( TComVPS* pcVPS );
     79#endif
    7780#if SPS_SUB_LAYER_INFO
    7881  Void  parseSPS            ( TComSPS* pcSPS, ParameterSetManagerDecoder *parameterSetManager );
Note: See TracChangeset for help on using the changeset viewer.