Index: branches/HTM-15.1-dev0-Disney/cfg/SEI/alternativeDepthInfoSei.cfg
===================================================================
--- branches/HTM-15.1-dev0-Disney/cfg/SEI/alternativeDepthInfoSei.cfg	(revision 1342)
+++ branches/HTM-15.1-dev0-Disney/cfg/SEI/alternativeDepthInfoSei.cfg	(revision 1343)
@@ -1,21 +1,21 @@
 
-PayloadType                     : TBD
+PayloadType                     : 181
 
 #======== Applicability  ==========    ( SEI is only send for pictures in intersection )
-ApplicableLayerIds              : TBD                            # LayerIds      of layers   to which the SEI is added. (all when empty)
-ApplicablePocs                  : TBD                            # POCs          of pictures to which the SEI is added. (all when empty)
-ApplicableTids                  : TBD                            # Tids          of pictures to which the SEI is added. (all when empty)
-ApplicableVclNaluTypes          : TBD                            # NaluUnitTypes of picture  to which the SEI is added. (all when empty)
+ApplicableLayerIds              :                             # LayerIds      of layers   to which the SEI is added. (all when empty)
+ApplicablePocs                  :                             # POCs          of pictures to which the SEI is added. (all when empty)
+ApplicableTids                  :                             # Tids          of pictures to which the SEI is added. (all when empty)
+ApplicableVclNaluTypes          :                             # NaluUnitTypes of picture  to which the SEI is added. (all when empty)
 
 #======== Position in bit stream  ============
-SeiNaluId                       : 0                              # Identifies to which NAL unit  the SEI is added. 
+SeiNaluId                       : 0                              # Identifies to which NAL unit  the SEI is added
 PositionInSeiNalu               : 0                              # Identifies the position within the NAL unit
 
 #======== Payload modification =============
-ModifyByEncoder                 : TBD                            #  0: Use payload as specified in cfg file   1: Modify SEI by encoder.
+ModifyByEncoder                 : 0                            #  0: Use payload as specified in cfg file   1: Modify SEI by encoder.
 
 #======== Payload specification =============
 AlternativeDepthInfoCancelFlag  : 0
-DepthType                       : 0
+DepthType                       : 1
 NumConstituentViewsGvdMinus1    : 0
 DepthPresentGvdFlag             : 0
@@ -54,14 +54,14 @@
 ExpGvdTX                        : 0
 ManGvdTX                        : 0
-MinOffsetXInt                   : 0
-MinOffsetXFrac                  : 0
-MaxOffsetXInt                   : 0
-MaxOffsetXFrac                  : 0
-OffsetYPresentFlag              : 0
-MinOffsetYInt                   : 0
-MinOffsetYFrac                  : 0
-MaxOffsetYInt                   : 0
-MaxOffsetYFrac                  : 0
-WarpMapSizePresentFlag          : 0
-WarpMapWidthMinus2              : 0
-WarpMapHeightMinus2             : 0
+MinOffsetXInt                   : -10
+MinOffsetXFrac                  : 50
+MaxOffsetXInt                   : 70
+MaxOffsetXFrac                  : 30
+OffsetYPresentFlag              : 1
+MinOffsetYInt                   : -20
+MinOffsetYFrac                  : 70
+MaxOffsetYInt                   : 30
+MaxOffsetYFrac                  : 154
+WarpMapSizePresentFlag          : 1
+WarpMapWidthMinus2              : 700
+WarpMapHeightMinus2             : 300
Index: branches/HTM-15.1-dev0-Disney/source/Lib/TLibCommon/SEI.cpp
===================================================================
--- branches/HTM-15.1-dev0-Disney/source/Lib/TLibCommon/SEI.cpp	(revision 1342)
+++ branches/HTM-15.1-dev0-Disney/source/Lib/TLibCommon/SEI.cpp	(revision 1343)
@@ -246,8 +246,6 @@
   case SEI::MULTIVIEW_ACQUISITION_INFO            :               return new SEIMultiviewAcquisitionInfo;
   case SEI::MULTIVIEW_VIEW_POSITION               :               return new SEIMultiviewViewPosition;
-#if NH_MV_SEI_TBD
 #if NH_3D
   case SEI::ALTERNATIVE_DEPTH_INFO                :               return new SEIAlternativeDepthInfo;
-#endif
 #endif
 #endif
@@ -1470,106 +1468,6 @@
 };
 
-#if NH_MV_SEI_TBD
-Void SEIAlternativeDepthInfo::setupFromSlice  ( const TComSlice* slice )
-{
-  sei.m_alternativeDepthInfoCancelFlag =  TBD ;
-  if( sei.m_alternativeDepthInfoCancelFlag  = =  0 )
-  {
-    sei.m_depthType =  TBD ;
-    if( sei.m_depthType  = =  0 )
-    {
-      sei.m_numConstituentViewsGvdMinus1 =  TBD ;
-      sei.m_depthPresentGvdFlag =  TBD ;
-      sei.m_zGvdFlag =  TBD ;
-      sei.m_intrinsicParamGvdFlag =  TBD ;
-      sei.m_rotationGvdFlag =  TBD ;
-      sei.m_translationGvdFlag =  TBD ;
-      if( sei.m_zGvdFlag )
-      {
-        for( Int i = 0; i  <=  sei.m_numConstituentViewsGvdMinus1 + 1; i++ )
-        {
-          sei.m_signGvdZNearFlag[i] =  TBD ;
-          sei.m_expGvdZNear[i] =  TBD ;
-          sei.m_manLenGvdZNearMinus1[i] =  TBD ;
-          sei.m_manGvdZNear[i] =  TBD ;
-          sei.m_signGvdZFarFlag[i] =  TBD ;
-          sei.m_expGvdZFar[i] =  TBD ;
-          sei.m_manLenGvdZFarMinus1[i] =  TBD ;
-          sei.m_manGvdZFar[i] =  TBD ;
-        }
-      }
-      if( sei.m_intrinsicParamGvdFlag )
-      {
-        sei.m_precGvdFocalLength =  TBD ;
-        sei.m_precGvdPrincipalPoint =  TBD ;
-      }
-      if( sei.m_rotationGvdFlag )
-      {
-        sei.m_precGvdRotationParam =  TBD ;
-      }
-      if( sei.m_translationGvdFlag )
-      {
-        sei.m_precGvdTranslationParam =  TBD ;
-      }
-      for( Int i = 0; i  <=  sei.m_numConstituentViewsGvdMinus1 + 1; i++ )
-      {
-        if( sei.m_intrinsicParamGvdFlag )
-        {
-          sei.m_signGvdFocalLengthX[i] =  TBD ;
-          sei.m_expGvdFocalLengthX[i] =  TBD ;
-          sei.m_manGvdFocalLengthX[i] =  TBD ;
-          sei.m_signGvdFocalLengthY[i] =  TBD ;
-          sei.m_expGvdFocalLengthY[i] =  TBD ;
-          sei.m_manGvdFocalLengthY[i] =  TBD ;
-          sei.m_signGvdPrincipalPointX[i] =  TBD ;
-          sei.m_expGvdPrincipalPointX[i] =  TBD ;
-          sei.m_manGvdPrincipalPointX[i] =  TBD ;
-          sei.m_signGvdPrincipalPointY[i] =  TBD ;
-          sei.m_expGvdPrincipalPointY[i] =  TBD ;
-          sei.m_manGvdPrincipalPointY[i] =  TBD ;
-        }
-        if( sei.m_rotationGvdFlag )
-        {
-          for( Int j = 10; j  <=  3; j++ ) /* row */
-          {
-            for( Int k = 10; k  <=  3; k++ )  /* column */
-            {
-              sei.m_signGvdR[i][j][k] =  TBD ;
-              sei.m_expGvdR[i][j][k] =  TBD ;
-              sei.m_manGvdR[i][j][k] =  TBD ;
-            }
-          }
-        }
-        if( sei.m_translationGvdFlag )
-        {
-          sei.m_signGvdTX[i] =  TBD ;
-          sei.m_expGvdTX[i] =  TBD ;
-          sei.m_manGvdTX[i] =  TBD ;
-        }
-      }
-    }
-    if( sei.m_depthType  = =  1 )
-    {
-      sei.m_minOffsetXInt =  TBD ;
-      sei.m_minOffsetXFrac =  TBD ;
-      sei.m_maxOffsetXInt =  TBD ;
-      sei.m_maxOffsetXFrac =  TBD ;
-      sei.m_offsetYPresentFlag =  TBD ;
-      if( sei.m_offsetYPresentFlag )
-      {
-        sei.m_minOffsetYInt =  TBD ;
-        sei.m_minOffsetYFrac =  TBD ;
-        sei.m_maxOffsetYInt =  TBD ;
-        sei.m_maxOffsetYFrac =  TBD ;
-      }
-      sei.m_warpMapSizePresentFlag =  TBD ;
-      if( sei.m_warpMapSizePresentFlag )
-      {
-        sei.m_warpMapWidthMinus2 =  TBD ;
-        sei.m_warpMapHeightMinus2 =  TBD ;
-      }
-    }
-  }
-};
+
+
 Void SEIAlternativeDepthInfo::setupFromCfgFile(const Char* cfgFile)
 { 
@@ -1577,12 +1475,12 @@
   IntAry1d defAppLayerIds, defAppPocs, defAppTids, defAppVclNaluTypes; 
 
-  defAppLayerIds    .push_back( TBD );
-  defAppPocs        .push_back( TBD );
-  defAppTids        .push_back( TBD );
-  defAppVclNaluTypes.push_back( TBD );
-
+  defAppLayerIds    .clear();
+  defAppPocs        .clear();
+  defAppTids        .clear();
+  defAppVclNaluTypes.clear();
+    
   Int      defSeiNaluId                  = 0; 
   Int      defPositionInSeiNalu          = 0; 
-  Bool     defModifyByEncoder            = TBD; 
+  Bool     defModifyByEncoder            = 0; 
 
   // Setup config file options
@@ -1592,5 +1490,6 @@
   opts.addOptions()
     ("AlternativeDepthInfoCancelFlag"   , m_alternativeDepthInfoCancelFlag   , false                            , "AlternativeDepthInfoCancelFlag"   )
-    ("DepthType"                        , m_depthType                        , 0                                , "DepthType"                        )
+    ("DepthType"                        , m_depthType                        , 1                                , "DepthType"                        )
+#if NH_MV_SEI_TBD
     ("NumConstituentViewsGvdMinus1"     , m_numConstituentViewsGvdMinus1     , 0                                , "NumConstituentViewsGvdMinus1"     )
     ("DepthPresentGvdFlag"              , m_depthPresentGvdFlag              , false                            , "DepthPresentGvdFlag"              )
@@ -1629,4 +1528,5 @@
     ("ExpGvdTX"                         , m_expGvdTX                         , IntAry1d (1,0)                   , "ExpGvdTX"                         )
     ("ManGvdTX"                         , m_manGvdTX                         , IntAry1d (1,0)                   , "ManGvdTX"                         )
+#endif
     ("MinOffsetXInt"                    , m_minOffsetXInt                    , 0                                , "MinOffsetXInt"                    )
     ("MinOffsetXFrac"                   , m_minOffsetXFrac                   , 0                                , "MinOffsetXFrac"                   )
@@ -1650,4 +1550,5 @@
 };
 
+
 Bool SEIAlternativeDepthInfo::checkCfg( const TComSlice* slice )
 { 
@@ -1655,11 +1556,10 @@
   Bool wrongConfig = false; 
 
-  // TBD: Add constraints on presence of SEI here. 
-  xCheckCfg     ( wrongConfig, TBD , "TBD" );
-  xCheckCfg     ( wrongConfig, TBD , "TBD" );
+  
+  xCheckCfgRange( wrongConfig, m_alternativeDepthInfoCancelFlag , 0 , 1, "alternative_depth_info_cancel_flag");
+  xCheckCfgRange( wrongConfig, m_depthType                      , 0 , 1, "depth_type"                       );
 
   // TBD: Modify constraints according to the SEI semantics.   
-  xCheckCfgRange( wrongConfig, m_alternativeDepthInfoCancelFlag , MINVAL , MAXVAL, "alternative_depth_info_cancel_flag");
-  xCheckCfgRange( wrongConfig, m_depthType                      , MINVAL , MAXVAL, "depth_type"                       );
+#if NH_MV_SEI_TBD
   xCheckCfgRange( wrongConfig, m_numConstituentViewsGvdMinus1   , MINVAL , MAXVAL, "num_constituent_views_gvd_minus1 ");
   xCheckCfgRange( wrongConfig, m_depthPresentGvdFlag            , MINVAL , MAXVAL, "depth_present_gvd_flag"           );
@@ -1698,21 +1598,18 @@
   xCheckCfgRange( wrongConfig, m_expGvdTX[i]                    , MINVAL , MAXVAL, "exp_gvd_t_x"                      );
   xCheckCfgRange( wrongConfig, m_manGvdTX[i]                    , MINVAL , MAXVAL, "man_gvd_t_x"                      );
-  xCheckCfgRange( wrongConfig, m_minOffsetXInt                  , MINVAL , MAXVAL, "min_offset_x_int"                 );
-  xCheckCfgRange( wrongConfig, m_minOffsetXFrac                 , MINVAL , MAXVAL, "min_offset_x_frac"                );
-  xCheckCfgRange( wrongConfig, m_maxOffsetXInt                  , MINVAL , MAXVAL, "max_offset_x_int"                 );
-  xCheckCfgRange( wrongConfig, m_maxOffsetXFrac                 , MINVAL , MAXVAL, "max_offset_x_frac"                );
-  xCheckCfgRange( wrongConfig, m_offsetYPresentFlag             , MINVAL , MAXVAL, "offset_y_present_flag"            );
-  xCheckCfgRange( wrongConfig, m_minOffsetYInt                  , MINVAL , MAXVAL, "min_offset_y_int"                 );
-  xCheckCfgRange( wrongConfig, m_minOffsetYFrac                 , MINVAL , MAXVAL, "min_offset_y_frac"                );
-  xCheckCfgRange( wrongConfig, m_maxOffsetYInt                  , MINVAL , MAXVAL, "max_offset_y_int"                 );
-  xCheckCfgRange( wrongConfig, m_maxOffsetYFrac                 , MINVAL , MAXVAL, "max_offset_y_frac"                );
-  xCheckCfgRange( wrongConfig, m_warpMapSizePresentFlag         , MINVAL , MAXVAL, "warp_map_size_present_flag"       );
-  xCheckCfgRange( wrongConfig, m_warpMapWidthMinus2             , MINVAL , MAXVAL, "warp_map_width_minus2"            );
-  xCheckCfgRange( wrongConfig, m_warpMapHeightMinus2            , MINVAL , MAXVAL, "warp_map_height_minus2"           );
+#endif  
+  xCheckCfgRange( wrongConfig, m_minOffsetXFrac                 , 0 , 255, "min_offset_x_frac"                );  
+  xCheckCfgRange( wrongConfig, m_maxOffsetXFrac                 , 0 , 255, "max_offset_x_frac"                );
+  xCheckCfgRange( wrongConfig, m_offsetYPresentFlag             , 0 , 1, "offset_y_present_flag"            );  
+  xCheckCfgRange( wrongConfig, m_minOffsetYFrac                 , 0 , 255, "min_offset_y_frac"                );  
+  xCheckCfgRange( wrongConfig, m_maxOffsetYFrac                 , 0 , 255, "max_offset_y_frac"                );
+  xCheckCfgRange( wrongConfig, m_warpMapSizePresentFlag         , 0 , 1, "warp_map_size_present_flag"       );
+  xCheckCfgRange( wrongConfig, m_warpMapWidthMinus2             , 0 , (slice->getSPS()->getPicWidthInLumaSamples()-2), "warp_map_width_minus2"            );
+  xCheckCfgRange( wrongConfig, m_warpMapHeightMinus2            , 0 , ((slice->getSPS()->getPicHeightInLumaSamples()>>(Int)m_offsetYPresentFlag)-2), "warp_map_height_minus2"           );
 
   return wrongConfig; 
 
 };
+
+
 #endif
-
-#endif
Index: branches/HTM-15.1-dev0-Disney/source/Lib/TLibCommon/SEI.h
===================================================================
--- branches/HTM-15.1-dev0-Disney/source/Lib/TLibCommon/SEI.h	(revision 1342)
+++ branches/HTM-15.1-dev0-Disney/source/Lib/TLibCommon/SEI.h	(revision 1343)
@@ -1140,5 +1140,5 @@
 };
 
-#if NH_MV_SEI_TBD
+
 class SEIAlternativeDepthInfo : public SEI
 {
@@ -1149,10 +1149,11 @@
   SEI* getCopy( ) const { return new SEIAlternativeDepthInfo(*this); }; 
 
-  Void setupFromCfgFile( const Char*      cfgFile );
-  Void setupFromSlice  ( const TComSlice* slice   );
-  Bool checkCfg        ( const TComSlice* slice   );
+  Void setupFromCfgFile( const Char*      cfgFile );  
+  Bool checkCfg        ( const TComSlice* slice   );
+
 
   Bool      m_alternativeDepthInfoCancelFlag;
   Int       m_depthType;
+#if NH_MV_SEI_TBD
   Int       m_numConstituentViewsGvdMinus1;
   Bool      m_depthPresentGvdFlag;
@@ -1191,4 +1192,5 @@
   IntAry1d  m_expGvdTX;
   IntAry1d  m_manGvdTX;
+#endif
   Int       m_minOffsetXInt;
   Int       m_minOffsetXFrac;
@@ -1204,5 +1206,5 @@
   Int       m_warpMapHeightMinus2;
 };
-#endif
+
 
 #endif
Index: branches/HTM-15.1-dev0-Disney/source/Lib/TLibDecoder/SEIread.cpp
===================================================================
--- branches/HTM-15.1-dev0-Disney/source/Lib/TLibDecoder/SEIread.cpp	(revision 1342)
+++ branches/HTM-15.1-dev0-Disney/source/Lib/TLibDecoder/SEIread.cpp	(revision 1343)
@@ -387,10 +387,8 @@
       xParseSEIMultiviewViewPosition((SEIMultiviewViewPosition&) *sei, payloadSize, pDecodedMessageOutputStream );
       break;
-#if NH_MV_TBD
     case SEI::ALTERNATIVE_DEPTH_INFO:
       sei = new SEIAlternativeDepthInfo;
       xParseSEIAlternativeDepthInfo((SEIAlternativeDepthInfo&) *sei, payloadSize, pDecodedMessageOutputStream );
       break;
-#endif
 #endif
     default:
@@ -1692,8 +1690,9 @@
 };
 
-#if NH_MV_SEI_TBD
+
 Void SEIReader::xParseSEIAlternativeDepthInfo(SEIAlternativeDepthInfo& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream)
 {
   UInt code;
+  Int scode;
   output_sei_message_header(sei, pDecodedMessageOutputStream, payloadSize);
 
@@ -1702,4 +1701,5 @@
   {
     sei_read_code( pDecodedMessageOutputStream, 2, code, "depth_type" ); sei.m_depthType = code;
+#if NH_MV_SEI_TBD
     if( sei.m_depthType  ==  0 )
     {
@@ -1774,16 +1774,18 @@
       }
     }
+#endif
+
     if( sei.m_depthType  ==  1 )
     {
-      sei_read_svlc( pDecodedMessageOutputStream, code, "min_offset_x_int" ); sei.m_minOffsetXInt = code;
+      sei_read_svlc( pDecodedMessageOutputStream, scode, "min_offset_x_int" ); sei.m_minOffsetXInt = scode;
       sei_read_code( pDecodedMessageOutputStream, 8, code, "min_offset_x_frac" ); sei.m_minOffsetXFrac = code;
-      sei_read_svlc( pDecodedMessageOutputStream, code, "max_offset_x_int" ); sei.m_maxOffsetXInt = code;
+      sei_read_svlc( pDecodedMessageOutputStream, scode, "max_offset_x_int" ); sei.m_maxOffsetXInt = scode;
       sei_read_code( pDecodedMessageOutputStream, 8, code, "max_offset_x_frac" ); sei.m_maxOffsetXFrac = code;
       sei_read_flag( pDecodedMessageOutputStream, code, "offset_y_present_flag" ); sei.m_offsetYPresentFlag = (code == 1);
       if( sei.m_offsetYPresentFlag )
       {
-        sei_read_svlc( pDecodedMessageOutputStream, code, "min_offset_y_int" ); sei.m_minOffsetYInt = code;
+        sei_read_svlc( pDecodedMessageOutputStream, scode, "min_offset_y_int" ); sei.m_minOffsetYInt = scode;
         sei_read_code( pDecodedMessageOutputStream, 8, code, "min_offset_y_frac" ); sei.m_minOffsetYFrac = code;
-        sei_read_svlc( pDecodedMessageOutputStream, code, "max_offset_y_int" ); sei.m_maxOffsetYInt = code;
+        sei_read_svlc( pDecodedMessageOutputStream, scode, "max_offset_y_int" ); sei.m_maxOffsetYInt = scode;
         sei_read_code( pDecodedMessageOutputStream, 8, code, "max_offset_y_frac" ); sei.m_maxOffsetYFrac = code;
       }
@@ -1797,5 +1799,5 @@
   }
 };
-#endif
+
 
 //! \}
Index: branches/HTM-15.1-dev0-Disney/source/Lib/TLibDecoder/SEIread.h
===================================================================
--- branches/HTM-15.1-dev0-Disney/source/Lib/TLibDecoder/SEIread.h	(revision 1342)
+++ branches/HTM-15.1-dev0-Disney/source/Lib/TLibDecoder/SEIread.h	(revision 1343)
@@ -129,7 +129,5 @@
   Void xParseSEIMultiviewViewPosition         (SEIMultiviewViewPosition& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
 #endif
-#if NH_MV_SEI_TBD
   Void xParseSEIAlternativeDepthInfo          (SEIAlternativeDepthInfo& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream);
-#endif
 
   Void sei_read_code(std::ostream *pOS, UInt uiLength, UInt& ruiCode, const Char *pSymbolName);
Index: branches/HTM-15.1-dev0-Disney/source/Lib/TLibEncoder/SEIwrite.cpp
===================================================================
--- branches/HTM-15.1-dev0-Disney/source/Lib/TLibEncoder/SEIwrite.cpp	(revision 1342)
+++ branches/HTM-15.1-dev0-Disney/source/Lib/TLibEncoder/SEIwrite.cpp	(revision 1343)
@@ -180,9 +180,7 @@
      xWriteSEIMultiviewViewPosition(*static_cast<const SEIMultiviewViewPosition*>(&sei));
      break; 
-#if NH_MV_SEI_TBD
    case SEI::ALTERNATIVE_DEPTH_INFO:
      xWriteSEIAlternativeDepthInfo(*static_cast<const SEIAlternativeDepthInfo*>(&sei));
      break; 
-#endif
 #endif
 
@@ -1309,5 +1307,5 @@
 #endif
 
-#if NH_MV_SEI_TBD
+
 Void SEIWriter::xWriteSEIAlternativeDepthInfo( const SEIAlternativeDepthInfo& sei)
 {
@@ -1316,4 +1314,6 @@
   {
     WRITE_CODE( sei.m_depthType, 2, "depth_type" );
+
+#if NH_MV_SEI_TBD
     if( sei.m_depthType  ==  0 )
     {
@@ -1388,4 +1388,6 @@
       }
     }
+#endif
+
     if( sei.m_depthType  ==  1 )
     {
@@ -1412,5 +1414,5 @@
 };
 
-#endif
+
 
 //! \}
Index: branches/HTM-15.1-dev0-Disney/source/Lib/TLibEncoder/SEIwrite.h
===================================================================
--- branches/HTM-15.1-dev0-Disney/source/Lib/TLibEncoder/SEIwrite.h	(revision 1342)
+++ branches/HTM-15.1-dev0-Disney/source/Lib/TLibEncoder/SEIwrite.h	(revision 1343)
@@ -107,7 +107,5 @@
   Void xWriteSEIMultiviewAcquisitionInfo      ( const SEIMultiviewAcquisitionInfo& sei);
   Void xWriteSEIMultiviewViewPosition         ( const SEIMultiviewViewPosition& sei);
-#if NH_MV_SEI_TBD
   Void xWriteSEIAlternativeDepthInfo          ( const SEIAlternativeDepthInfo& sei);
-#endif
   Void xWriteByteAlign();
 };
