Ignore:
Timestamp:
2 Oct 2015, 16:44:04 (9 years ago)
Author:
disney-htm
Message:

Disney's part of AlternativeDepthInfo SEI message integrated

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-15.1-dev0-Disney/source/Lib/TLibCommon/SEI.cpp

    r1342 r1343  
    246246  case SEI::MULTIVIEW_ACQUISITION_INFO            :               return new SEIMultiviewAcquisitionInfo;
    247247  case SEI::MULTIVIEW_VIEW_POSITION               :               return new SEIMultiviewViewPosition;
    248 #if NH_MV_SEI_TBD
    249248#if NH_3D
    250249  case SEI::ALTERNATIVE_DEPTH_INFO                :               return new SEIAlternativeDepthInfo;
    251 #endif
    252250#endif
    253251#endif
     
    14701468};
    14711469
    1472 #if NH_MV_SEI_TBD
    1473 Void SEIAlternativeDepthInfo::setupFromSlice  ( const TComSlice* slice )
    1474 {
    1475   sei.m_alternativeDepthInfoCancelFlag =  TBD ;
    1476   if( sei.m_alternativeDepthInfoCancelFlag  = =  0 )
    1477   {
    1478     sei.m_depthType =  TBD ;
    1479     if( sei.m_depthType  = =  0 )
    1480     {
    1481       sei.m_numConstituentViewsGvdMinus1 =  TBD ;
    1482       sei.m_depthPresentGvdFlag =  TBD ;
    1483       sei.m_zGvdFlag =  TBD ;
    1484       sei.m_intrinsicParamGvdFlag =  TBD ;
    1485       sei.m_rotationGvdFlag =  TBD ;
    1486       sei.m_translationGvdFlag =  TBD ;
    1487       if( sei.m_zGvdFlag )
    1488       {
    1489         for( Int i = 0; i  <=  sei.m_numConstituentViewsGvdMinus1 + 1; i++ )
    1490         {
    1491           sei.m_signGvdZNearFlag[i] =  TBD ;
    1492           sei.m_expGvdZNear[i] =  TBD ;
    1493           sei.m_manLenGvdZNearMinus1[i] =  TBD ;
    1494           sei.m_manGvdZNear[i] =  TBD ;
    1495           sei.m_signGvdZFarFlag[i] =  TBD ;
    1496           sei.m_expGvdZFar[i] =  TBD ;
    1497           sei.m_manLenGvdZFarMinus1[i] =  TBD ;
    1498           sei.m_manGvdZFar[i] =  TBD ;
    1499         }
    1500       }
    1501       if( sei.m_intrinsicParamGvdFlag )
    1502       {
    1503         sei.m_precGvdFocalLength =  TBD ;
    1504         sei.m_precGvdPrincipalPoint =  TBD ;
    1505       }
    1506       if( sei.m_rotationGvdFlag )
    1507       {
    1508         sei.m_precGvdRotationParam =  TBD ;
    1509       }
    1510       if( sei.m_translationGvdFlag )
    1511       {
    1512         sei.m_precGvdTranslationParam =  TBD ;
    1513       }
    1514       for( Int i = 0; i  <=  sei.m_numConstituentViewsGvdMinus1 + 1; i++ )
    1515       {
    1516         if( sei.m_intrinsicParamGvdFlag )
    1517         {
    1518           sei.m_signGvdFocalLengthX[i] =  TBD ;
    1519           sei.m_expGvdFocalLengthX[i] =  TBD ;
    1520           sei.m_manGvdFocalLengthX[i] =  TBD ;
    1521           sei.m_signGvdFocalLengthY[i] =  TBD ;
    1522           sei.m_expGvdFocalLengthY[i] =  TBD ;
    1523           sei.m_manGvdFocalLengthY[i] =  TBD ;
    1524           sei.m_signGvdPrincipalPointX[i] =  TBD ;
    1525           sei.m_expGvdPrincipalPointX[i] =  TBD ;
    1526           sei.m_manGvdPrincipalPointX[i] =  TBD ;
    1527           sei.m_signGvdPrincipalPointY[i] =  TBD ;
    1528           sei.m_expGvdPrincipalPointY[i] =  TBD ;
    1529           sei.m_manGvdPrincipalPointY[i] =  TBD ;
    1530         }
    1531         if( sei.m_rotationGvdFlag )
    1532         {
    1533           for( Int j = 10; j  <=  3; j++ ) /* row */
    1534           {
    1535             for( Int k = 10; k  <=  3; k++ )  /* column */
    1536             {
    1537               sei.m_signGvdR[i][j][k] =  TBD ;
    1538               sei.m_expGvdR[i][j][k] =  TBD ;
    1539               sei.m_manGvdR[i][j][k] =  TBD ;
    1540             }
    1541           }
    1542         }
    1543         if( sei.m_translationGvdFlag )
    1544         {
    1545           sei.m_signGvdTX[i] =  TBD ;
    1546           sei.m_expGvdTX[i] =  TBD ;
    1547           sei.m_manGvdTX[i] =  TBD ;
    1548         }
    1549       }
    1550     }
    1551     if( sei.m_depthType  = =  1 )
    1552     {
    1553       sei.m_minOffsetXInt =  TBD ;
    1554       sei.m_minOffsetXFrac =  TBD ;
    1555       sei.m_maxOffsetXInt =  TBD ;
    1556       sei.m_maxOffsetXFrac =  TBD ;
    1557       sei.m_offsetYPresentFlag =  TBD ;
    1558       if( sei.m_offsetYPresentFlag )
    1559       {
    1560         sei.m_minOffsetYInt =  TBD ;
    1561         sei.m_minOffsetYFrac =  TBD ;
    1562         sei.m_maxOffsetYInt =  TBD ;
    1563         sei.m_maxOffsetYFrac =  TBD ;
    1564       }
    1565       sei.m_warpMapSizePresentFlag =  TBD ;
    1566       if( sei.m_warpMapSizePresentFlag )
    1567       {
    1568         sei.m_warpMapWidthMinus2 =  TBD ;
    1569         sei.m_warpMapHeightMinus2 =  TBD ;
    1570       }
    1571     }
    1572   }
    1573 };
     1470
     1471
    15741472Void SEIAlternativeDepthInfo::setupFromCfgFile(const Char* cfgFile)
    15751473{
     
    15771475  IntAry1d defAppLayerIds, defAppPocs, defAppTids, defAppVclNaluTypes;
    15781476
    1579   defAppLayerIds    .push_back( TBD );
    1580   defAppPocs        .push_back( TBD );
    1581   defAppTids        .push_back( TBD );
    1582   defAppVclNaluTypes.push_back( TBD );
    1583 
     1477  defAppLayerIds    .clear();
     1478  defAppPocs        .clear();
     1479  defAppTids        .clear();
     1480  defAppVclNaluTypes.clear();
     1481   
    15841482  Int      defSeiNaluId                  = 0;
    15851483  Int      defPositionInSeiNalu          = 0;
    1586   Bool     defModifyByEncoder            = TBD;
     1484  Bool     defModifyByEncoder            = 0;
    15871485
    15881486  // Setup config file options
     
    15921490  opts.addOptions()
    15931491    ("AlternativeDepthInfoCancelFlag"   , m_alternativeDepthInfoCancelFlag   , false                            , "AlternativeDepthInfoCancelFlag"   )
    1594     ("DepthType"                        , m_depthType                        , 0                                , "DepthType"                        )
     1492    ("DepthType"                        , m_depthType                        , 1                                , "DepthType"                        )
     1493#if NH_MV_SEI_TBD
    15951494    ("NumConstituentViewsGvdMinus1"     , m_numConstituentViewsGvdMinus1     , 0                                , "NumConstituentViewsGvdMinus1"     )
    15961495    ("DepthPresentGvdFlag"              , m_depthPresentGvdFlag              , false                            , "DepthPresentGvdFlag"              )
     
    16291528    ("ExpGvdTX"                         , m_expGvdTX                         , IntAry1d (1,0)                   , "ExpGvdTX"                         )
    16301529    ("ManGvdTX"                         , m_manGvdTX                         , IntAry1d (1,0)                   , "ManGvdTX"                         )
     1530#endif
    16311531    ("MinOffsetXInt"                    , m_minOffsetXInt                    , 0                                , "MinOffsetXInt"                    )
    16321532    ("MinOffsetXFrac"                   , m_minOffsetXFrac                   , 0                                , "MinOffsetXFrac"                   )
     
    16501550};
    16511551
     1552
    16521553Bool SEIAlternativeDepthInfo::checkCfg( const TComSlice* slice )
    16531554{
     
    16551556  Bool wrongConfig = false;
    16561557
    1657   // TBD: Add constraints on presence of SEI here.
    1658   xCheckCfg     ( wrongConfig, TBD , "TBD" );
    1659   xCheckCfg     ( wrongConfig, TBD , "TBD" );
     1558 
     1559  xCheckCfgRange( wrongConfig, m_alternativeDepthInfoCancelFlag , 0 , 1, "alternative_depth_info_cancel_flag");
     1560  xCheckCfgRange( wrongConfig, m_depthType                      , 0 , 1, "depth_type"                      );
    16601561
    16611562  // TBD: Modify constraints according to the SEI semantics.   
    1662   xCheckCfgRange( wrongConfig, m_alternativeDepthInfoCancelFlag , MINVAL , MAXVAL, "alternative_depth_info_cancel_flag");
    1663   xCheckCfgRange( wrongConfig, m_depthType                      , MINVAL , MAXVAL, "depth_type"                       );
     1563#if NH_MV_SEI_TBD
    16641564  xCheckCfgRange( wrongConfig, m_numConstituentViewsGvdMinus1   , MINVAL , MAXVAL, "num_constituent_views_gvd_minus1 ");
    16651565  xCheckCfgRange( wrongConfig, m_depthPresentGvdFlag            , MINVAL , MAXVAL, "depth_present_gvd_flag"           );
     
    16981598  xCheckCfgRange( wrongConfig, m_expGvdTX[i]                    , MINVAL , MAXVAL, "exp_gvd_t_x"                      );
    16991599  xCheckCfgRange( wrongConfig, m_manGvdTX[i]                    , MINVAL , MAXVAL, "man_gvd_t_x"                      );
    1700   xCheckCfgRange( wrongConfig, m_minOffsetXInt                  , MINVAL , MAXVAL, "min_offset_x_int"                 );
    1701   xCheckCfgRange( wrongConfig, m_minOffsetXFrac                 , MINVAL , MAXVAL, "min_offset_x_frac"                );
    1702   xCheckCfgRange( wrongConfig, m_maxOffsetXInt                  , MINVAL , MAXVAL, "max_offset_x_int"                 );
    1703   xCheckCfgRange( wrongConfig, m_maxOffsetXFrac                 , MINVAL , MAXVAL, "max_offset_x_frac"                );
    1704   xCheckCfgRange( wrongConfig, m_offsetYPresentFlag             , MINVAL , MAXVAL, "offset_y_present_flag"            );
    1705   xCheckCfgRange( wrongConfig, m_minOffsetYInt                  , MINVAL , MAXVAL, "min_offset_y_int"                 );
    1706   xCheckCfgRange( wrongConfig, m_minOffsetYFrac                 , MINVAL , MAXVAL, "min_offset_y_frac"                );
    1707   xCheckCfgRange( wrongConfig, m_maxOffsetYInt                  , MINVAL , MAXVAL, "max_offset_y_int"                 );
    1708   xCheckCfgRange( wrongConfig, m_maxOffsetYFrac                 , MINVAL , MAXVAL, "max_offset_y_frac"                );
    1709   xCheckCfgRange( wrongConfig, m_warpMapSizePresentFlag         , MINVAL , MAXVAL, "warp_map_size_present_flag"       );
    1710   xCheckCfgRange( wrongConfig, m_warpMapWidthMinus2             , MINVAL , MAXVAL, "warp_map_width_minus2"            );
    1711   xCheckCfgRange( wrongConfig, m_warpMapHeightMinus2            , MINVAL , MAXVAL, "warp_map_height_minus2"           );
     1600#endif 
     1601  xCheckCfgRange( wrongConfig, m_minOffsetXFrac                 , 0 , 255, "min_offset_x_frac"                ); 
     1602  xCheckCfgRange( wrongConfig, m_maxOffsetXFrac                 , 0 , 255, "max_offset_x_frac"                );
     1603  xCheckCfgRange( wrongConfig, m_offsetYPresentFlag             , 0 , 1, "offset_y_present_flag"            ); 
     1604  xCheckCfgRange( wrongConfig, m_minOffsetYFrac                 , 0 , 255, "min_offset_y_frac"                ); 
     1605  xCheckCfgRange( wrongConfig, m_maxOffsetYFrac                 , 0 , 255, "max_offset_y_frac"                );
     1606  xCheckCfgRange( wrongConfig, m_warpMapSizePresentFlag         , 0 , 1, "warp_map_size_present_flag"       );
     1607  xCheckCfgRange( wrongConfig, m_warpMapWidthMinus2             , 0 , (slice->getSPS()->getPicWidthInLumaSamples()-2), "warp_map_width_minus2"            );
     1608  xCheckCfgRange( wrongConfig, m_warpMapHeightMinus2            , 0 , ((slice->getSPS()->getPicHeightInLumaSamples()>>(Int)m_offsetYPresentFlag)-2), "warp_map_height_minus2"           );
    17121609
    17131610  return wrongConfig;
    17141611
    17151612};
     1613
     1614
    17161615#endif
    1717 
    1718 #endif
Note: See TracChangeset for help on using the changeset viewer.