Index: branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
===================================================================
--- branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp	(revision 937)
+++ branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp	(revision 941)
@@ -1375,8 +1375,12 @@
   {
     vps->setProfilePresentFlag(1, false);
+#if !MULTIPLE_PTL_SUPPORT
     vps->getPTLForExtnPtr()->empty();
     vps->getPTLForExtnPtr()->resize(2);
     vps->getPTLForExtn(1)->copyProfileInfo( vps->getPTL() );
     parsePTL( vps->getPTLForExtn(1), vps->getProfilePresentFlag(1), vps->getMaxTLayers() - 1 );
+#else
+    parsePTL( vps->getPTL(1), vps->getProfilePresentFlag(1), vps->getMaxTLayers() - 1 );
+#endif
   }
 #endif
@@ -1600,10 +1604,15 @@
   READ_CODE(  6, uiCode, "vps_num_profile_tier_level_minus1"); vps->setNumProfileTierLevel( uiCode + 1 );
 #else
-  READ_UVLC(  uiCode, "vps_num_profile_tier_level_minus1"); vps->setNumProfileTierLevel( uiCode + 1 );
+  READ_UVLC(  uiCode, "vps_num_profile_tier_level_minus1"); 
+  vps->setNumProfileTierLevel( uiCode + 1 );
+  //vps->setNumProfileTierLevel( 3 );
+  int aa = vps->getNumProfileTierLevel();
 #endif
 #if PER_LAYER_PTL
   Int const numBitsForPtlIdx = vps->calculateLenOfSyntaxElement( vps->getNumProfileTierLevel() );
 #endif
+#if !MULTIPLE_PTL_SUPPORT
   vps->getPTLForExtnPtr()->resize(vps->getNumProfileTierLevel());
+#endif 
 #if LIST_OF_PTL
   for(Int idx = vps->getBaseLayerInternalFlag() ? 2 : 1; idx <= vps->getNumProfileTierLevel() - 1; idx++)
@@ -1612,10 +1621,15 @@
 #endif
   {
-    READ_FLAG( uiCode, "vps_profile_present_flag[i]" ); vps->setProfilePresentFlag(idx, uiCode ? true : false);
+    READ_FLAG( uiCode, "vps_profile_present_flag[i]" ); 
+    vps->setProfilePresentFlag(idx, uiCode ? true : false);
     if( !vps->getProfilePresentFlag(idx) )
     {
 #if P0048_REMOVE_PROFILE_REF
       // Copy profile information from previous one
+#if !MULTIPLE_PTL_SUPPORT
       vps->getPTLForExtn(idx)->copyProfileInfo( (idx==1) ? vps->getPTL() : vps->getPTLForExtn( idx - 1 ) );
+#else
+      vps->getPTL(idx)->copyProfileInfo( vps->getPTL( idx - 1 ) );
+#endif
 #else
       READ_CODE( 6, uiCode, "profile_ref_minus1[i]" ); vps->setProfileLayerSetRef(idx, uiCode + 1);
@@ -1629,5 +1643,9 @@
 #endif
     }
+#if !MULTIPLE_PTL_SUPPORT
     parsePTL( vps->getPTLForExtn(idx), vps->getProfilePresentFlag(idx), vps->getMaxTLayers() - 1 );
+#else
+    parsePTL( vps->getPTL(idx), vps->getProfilePresentFlag(idx), vps->getMaxTLayers() - 1 );
+#endif
   }
 #endif
@@ -1673,5 +1691,6 @@
   if( vps->getNumLayerSets() > 1 )
   {
-    READ_UVLC( uiCode, "num_add_olss" );            vps->setNumAddOutputLayerSets( uiCode );
+    READ_UVLC( uiCode, "num_add_olss" );            
+    vps->setNumAddOutputLayerSets( uiCode );
     READ_CODE( 2, uiCode, "default_output_layer_idc" );   vps->setDefaultTargetOutputLayerIdc( uiCode );
   }
Index: branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.cpp
===================================================================
--- branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.cpp	(revision 937)
+++ branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.cpp	(revision 941)
@@ -354,5 +354,4 @@
 #else
     m_iMaxRefPicNum = pcSlice->getVPS()->getMaxVpsDecPicBufferingMinus1( getCommonDecoderParams()->getTargetOutputLayerSetIdx(), pcSlice->getLayerId(), pcSlice->getTLayer() ) + 1; // m_uiMaxDecPicBuffering has the space for the picture currently being decoded
-    //TODO: HENDRY -- Do the checking here.
 #endif
   }
@@ -1088,7 +1087,4 @@
     m_isNoOutputPriorPics = false;
   }
-
-  //TODO: HENDRY -- Probably do the checking for max number of positive and negative pics here
-
 
   //For inference of PicOutputFlag
