Index: /branches/SHM-dev/source/Lib/TLibCommon/SEI.cpp
===================================================================
--- /branches/SHM-dev/source/Lib/TLibCommon/SEI.cpp	(revision 1095)
+++ /branches/SHM-dev/source/Lib/TLibCommon/SEI.cpp	(revision 1096)
@@ -151,7 +151,4 @@
     case SEI::BSP_NESTING:                          return "Bitstream parition nesting";
     case SEI::BSP_INITIAL_ARRIVAL_TIME:             return "Bitstream parition initial arrival time";
-#if !REMOVE_BSP_HRD_SEI
-    case SEI::BSP_HRD:                              return "Bitstream parition HRD parameters";
-#endif
 #endif
 #if Q0078_ADD_LAYER_SETS
Index: /branches/SHM-dev/source/Lib/TLibCommon/SEI.h
===================================================================
--- /branches/SHM-dev/source/Lib/TLibCommon/SEI.h	(revision 1095)
+++ /branches/SHM-dev/source/Lib/TLibCommon/SEI.h	(revision 1096)
@@ -103,7 +103,4 @@
     BSP_NESTING                          = 145,
     BSP_INITIAL_ARRIVAL_TIME             = 146,
-#if !REMOVE_BSP_HRD_SEI
-    BSP_HRD                              = 147,
-#endif
 #endif
 #if Q0074_COLOUR_REMAPPING_SEI
@@ -909,28 +906,4 @@
   UInt m_vclInitialArrivalDelay[256];
 };
-
-#if !REMOVE_BSP_HRD_SEI
-class SEIBspHrd : public SEI
-{
-public:
-  PayloadType payloadType() const { return BSP_HRD; }
-
-  SEIBspHrd () {}
-  virtual ~SEIBspHrd () {}
-
-  UInt m_seiNumBspHrdParametersMinus1;
-  Bool m_seiBspCprmsPresentFlag[MAX_VPS_LAYER_SETS_PLUS1];
-  UInt m_seiNumBitstreamPartitionsMinus1[MAX_VPS_LAYER_SETS_PLUS1];
-  Bool m_seiLayerInBspFlag[MAX_VPS_LAYER_SETS_PLUS1][8][MAX_LAYERS];
-  UInt m_seiNumBspSchedCombinationsMinus1[MAX_VPS_LAYER_SETS_PLUS1];
-  UInt m_seiBspCombHrdIdx[MAX_VPS_LAYER_SETS_PLUS1][16][16];
-  UInt m_seiBspCombScheddx[MAX_VPS_LAYER_SETS_PLUS1][16][16];
-  UInt m_vpsMaxLayers;
-  Bool m_layerIdIncludedFlag[MAX_VPS_LAYER_SETS_PLUS1][MAX_VPS_LAYER_IDX_PLUS1];
-
-  TComHRD *hrd;
-};
-#endif
-
 #endif
 
Index: /branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h
===================================================================
--- /branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h	(revision 1095)
+++ /branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h	(revision 1096)
@@ -56,5 +56,4 @@
 #define VPS_VUI_VST_PARAMS               1      ///< JCTVC-R0227: Related to signalling of VST parameters of the base layer.
 #define VPS_VUI_OFFSET                   1      ///< N0085: Signal VPS VUI offset in the VPS extension 
-#define REMOVE_BSP_HRD_SEI               1      ///< R0010: Remove bitstream partition HRD SEI message.
 #define NESTING_SEI_EXTENSIBILITY        1      ///< R0221: Signalling the number of SEI messages in bitstream partition nesting SEI message
 #define POC_RESET_RESTRICTIONS           1      ///< Restrictions on semantics of POC reset-related syntax elements, including one item from R0223
Index: /branches/SHM-dev/source/Lib/TLibDecoder/SEIread.cpp
===================================================================
--- /branches/SHM-dev/source/Lib/TLibDecoder/SEIread.cpp	(revision 1095)
+++ /branches/SHM-dev/source/Lib/TLibDecoder/SEIread.cpp	(revision 1096)
@@ -350,10 +350,4 @@
      xParseSEIBspInitialArrivalTime((SEIBspInitialArrivalTime&) *sei, vps, sps, *nestingSei, *bspNestingSei, pDecodedMessageOutputStream);
      break;
-#if !REMOVE_BSP_HRD_SEI
-   case SEI::BSP_HRD:
-     sei = new SEIBspHrd;
-     xParseSEIBspHrd((SEIBspHrd&) *sei, sps, *nestingSei, pDecodedMessageOutputStream);
-     break;
-#endif
 #endif
 #if Q0078_ADD_LAYER_SETS
@@ -1664,92 +1658,4 @@
 }
 
-#if !REMOVE_BSP_HRD_SEI
-Void SEIReader::xParseSEIBspHrd(SEIBspHrd &sei, TComSPS *sps, const SEIScalableNesting &nestingSei, std::ostream *pDecodedMessageOutputStream)
-{
-  UInt uiCode;
-  sei_read_uvlc( pDecodedMessageOutputStream, uiCode, "sei_num_bsp_hrd_parameters_minus1" ); sei.m_seiNumBspHrdParametersMinus1 = uiCode;
-  for (UInt i = 0; i <= sei.m_seiNumBspHrdParametersMinus1; i++)
-  {
-    if (i > 0)
-    {
-      sei_read_flag( pDecodedMessageOutputStream, uiCode, "sei_bsp_cprms_present_flag" ); sei.m_seiBspCprmsPresentFlag[i] = uiCode;
-    }
-    xParseHrdParameters(sei.hrd, i==0 ? 1 : sei.m_seiBspCprmsPresentFlag[i], nestingSei.m_nestingMaxTemporalIdPlus1[0]-1);
-  }
-  for (UInt h = 0; h <= nestingSei.m_nestingNumOpsMinus1; h++)
-  {
-    UInt lsIdx = nestingSei.m_nestingOpIdx[h];
-    sei_read_uvlc( pDecodedMessageOutputStream, uiCode, "num_sei_bitstream_partitions_minus1[i]"); sei.m_seiNumBitstreamPartitionsMinus1[lsIdx] = uiCode;
-#if HRD_BPB
-    Int chkPart=0;
-#endif
-    UInt i;
-    for(i = 0; i <= sei.m_seiNumBitstreamPartitionsMinus1[lsIdx]; i++)
-    {
-#if HRD_BPB
-      UInt nl=0; UInt j;
-      for(j = 0; j < sei.m_vpsMaxLayers; j++)
-      {
-        if (sei.m_layerIdIncludedFlag[lsIdx][j])
-        {
-          nl++;
-        }
-      }
-      for (j = 0; j < nl; j++)
-      {
-#else
-      for (UInt j = 0; j < sei.m_vpsMaxLayers; j++)
-      {
-        if (sei.m_layerIdIncludedFlag[lsIdx][j])
-        {
-#endif
-          sei_read_flag( pDecodedMessageOutputStream, uiCode, "sei_layer_in_bsp_flag[lsIdx][i][j]" ); sei.m_seiLayerInBspFlag[lsIdx][i][j] = uiCode;
-        }
-#if !HRD_BPB
-      }
-#endif
-#if HRD_BPB
-      chkPart+=sei.m_seiLayerInBspFlag[lsIdx][i][j];
-#endif
-    }
-#if HRD_BPB
-    assert(chkPart<=1);
-#endif
-#if HRD_BPB
-    if(sei.m_seiNumBitstreamPartitionsMinus1[lsIdx]==0)
-    {
-      Int chkPartition1=0; Int chkPartition2=0;
-      for (UInt j = 0; j < sei.m_vpsMaxLayers; j++)
-      {
-        if( sei.m_layerIdIncludedFlag[lsIdx][j] )
-        {
-          chkPartition1+=sei.m_seiLayerInBspFlag[lsIdx][0][j];
-          chkPartition2++;
-        }
-      }
-      assert(chkPartition1!=chkPartition2);
-    }
-#endif
-      
-    sei_read_uvlc( pDecodedMessageOutputStream, uiCode, "sei_num_bsp_sched_combinations_minus1[i]"); sei.m_seiNumBspSchedCombinationsMinus1[lsIdx] = uiCode;
-    for (i = 0; i <= sei.m_seiNumBspSchedCombinationsMinus1[lsIdx]; i++)
-    {
-      for (UInt j = 0; j <= sei.m_seiNumBitstreamPartitionsMinus1[lsIdx]; j++)
-      {
-        sei_read_uvlc( pDecodedMessageOutputStream, uiCode, "sei_bsp_comb_hrd_idx[lsIdx][i][j]"); sei.m_seiBspCombHrdIdx[lsIdx][i][j] = uiCode;
-#if HRD_BPB
-        assert(uiCode <= sei.m_seiNumBspHrdParametersMinus1);
-#endif
-        sei_read_uvlc( pDecodedMessageOutputStream, uiCode, "sei_bsp_comb_sched_idx[lsIdx][i][j]"); sei.m_seiBspCombScheddx[lsIdx][i][j] = uiCode;
-#if HRD_BPB
-        assert(uiCode <= sei.hrd->getCpbCntMinus1( sps->getMaxTLayers()-1 ));
-#endif
-
-      }
-    }
-  }
-}
-#endif
-
 Void SEIReader::xParseHrdParameters(TComHRD *hrd, Bool commonInfPresentFlag, UInt maxNumSubLayersMinus1, std::ostream *pDecodedMessageOutputStream)
 {
Index: /branches/SHM-dev/source/Lib/TLibDecoder/SEIread.h
===================================================================
--- /branches/SHM-dev/source/Lib/TLibDecoder/SEIread.h	(revision 1095)
+++ /branches/SHM-dev/source/Lib/TLibDecoder/SEIread.h	(revision 1096)
@@ -134,7 +134,4 @@
 #endif
   Void xParseSEIBspInitialArrivalTime         (SEIBspInitialArrivalTime &sei, TComVPS *vps, TComSPS *sps, const SEIScalableNesting &nestingSei, const SEIBspNesting &bspNestingSei, std::ostream *pDecodedMessageOutputStream);
-#if !REMOVE_BSP_HRD_SEI
-  Void xParseSEIBspHrd(SEIBspHrd &sei, TComSPS *sps, const SEIScalableNesting &nestingSei, std::ostream *pDecodedMessageOutputStream);
-#endif
   Void xParseHrdParameters                    (TComHRD *hrd, Bool commonInfPresentFlag, UInt maxNumSubLayersMinus1, std::ostream *pDecodedMessageOutputStream);
 #endif
Index: /branches/SHM-dev/source/Lib/TLibEncoder/SEIwrite.cpp
===================================================================
--- /branches/SHM-dev/source/Lib/TLibEncoder/SEIwrite.cpp	(revision 1095)
+++ /branches/SHM-dev/source/Lib/TLibEncoder/SEIwrite.cpp	(revision 1096)
@@ -185,9 +185,4 @@
      xWriteSEIBspInitialArrivalTime(*static_cast<const SEIBspInitialArrivalTime*>(&sei), vps, sps, nestingSei, bspNestingSei);
      break;
-#if !REMOVE_BSP_HRD_SEI
-   case SEI::BSP_HRD:
-     xWriteSEIBspHrd(*static_cast<const SEIBspHrd*>(&sei), sps, nestingSei);
-     break;
-#endif
 #endif
 #if Q0078_ADD_LAYER_SETS
@@ -1262,58 +1257,4 @@
 }
 
-#if !REMOVE_BSP_HRD_SEI
-Void SEIWriter::xWriteSEIBspHrd(const SEIBspHrd &sei, TComSPS *sps, const SEIScalableNesting &nestingSei)
-{
-  WRITE_UVLC( sei.m_seiNumBspHrdParametersMinus1, "sei_num_bsp_hrd_parameters_minus1" );
-  for (UInt i = 0; i <= sei.m_seiNumBspHrdParametersMinus1; i++)
-  {
-    if (i > 0)
-    {
-      WRITE_FLAG( sei.m_seiBspCprmsPresentFlag[i], "sei_bsp_cprms_present_flag" );
-    }
-    xCodeHrdParameters(sei.hrd, i==0 ? 1 : sei.m_seiBspCprmsPresentFlag[i], nestingSei.m_nestingMaxTemporalIdPlus1[0]-1);
-  }
-  for (UInt h = 0; h <= nestingSei.m_nestingNumOpsMinus1; h++)
-  {
-    UInt lsIdx = nestingSei.m_nestingOpIdx[h];
-    WRITE_UVLC( sei.m_seiNumBitstreamPartitionsMinus1[lsIdx], "num_sei_bitstream_partitions_minus1[i]");
-    for (UInt i = 0; i <= sei.m_seiNumBitstreamPartitionsMinus1[lsIdx]; i++)
-    {
-#if HRD_BPB
-      UInt nl=0;
-      for (UInt j = 0; j < sei.m_vpsMaxLayers; j++)
-      {
-        if (sei.m_layerIdIncludedFlag[lsIdx][j])
-        {
-          nl++;
-        }
-      }
-      for (UInt j = 0; j < nl; j++)
-      {
-#else
-      for (UInt j = 0; j < sei.m_vpsMaxLayers; j++)
-      {
-        if (sei.m_layerIdIncludedFlag[lsIdx][j])
-        {
-#endif
-          WRITE_FLAG( sei.m_seiLayerInBspFlag[lsIdx][i][j], "sei_layer_in_bsp_flag[lsIdx][i][j]" );
-        }
-#if !HRD_BPB
-      }
-#endif
-    }
-    WRITE_UVLC( sei.m_seiNumBspSchedCombinationsMinus1[lsIdx], "sei_num_bsp_sched_combinations_minus1[i]");
-    for (UInt i = 0; i <= sei.m_seiNumBspSchedCombinationsMinus1[lsIdx]; i++)
-    {
-      for (UInt j = 0; j <= sei.m_seiNumBitstreamPartitionsMinus1[lsIdx]; j++)
-      {
-        WRITE_UVLC( sei.m_seiBspCombHrdIdx[lsIdx][i][j], "sei_bsp_comb_hrd_idx[lsIdx][i][j]");
-        WRITE_UVLC( sei.m_seiBspCombScheddx[lsIdx][i][j], "sei_bsp_comb_sched_idx[lsIdx][i][j]");
-      }
-    }
-  }
-}
-#endif
-
 Void SEIWriter::xCodeHrdParameters( TComHRD *hrd, Bool commonInfPresentFlag, UInt maxNumSubLayersMinus1 )
 {
Index: /branches/SHM-dev/source/Lib/TLibEncoder/SEIwrite.h
===================================================================
--- /branches/SHM-dev/source/Lib/TLibEncoder/SEIwrite.h	(revision 1095)
+++ /branches/SHM-dev/source/Lib/TLibEncoder/SEIwrite.h	(revision 1096)
@@ -122,7 +122,4 @@
   Void xWriteSEIBspNesting(TComBitIf& bs, const SEIBspNesting &sei, TComVPS *vps, TComSPS *sps, const SEIScalableNesting &nestingSei);
   Void xWriteSEIBspInitialArrivalTime(const SEIBspInitialArrivalTime &sei, TComVPS *vps, TComSPS *sps, const SEIScalableNesting &nestingSei, const SEIBspNesting &bspNestingSei);
-#if !REMOVE_BSP_HRD_SEI
-  Void xWriteSEIBspHrd(const SEIBspHrd &sei, TComSPS *sps, const SEIScalableNesting &nestingSei);
-#endif
   Void xCodeHrdParameters( TComHRD *hrd, Bool commonInfPresentFlag, UInt maxNumSubLayersMinus1 );
 #endif
