Changeset 1179 in 3DVCSoftware for trunk/source/App


Ignore:
Timestamp:
7 Apr 2015, 17:05:30 (10 years ago)
Author:
tech
Message:

Merged branch 13.1-dev0@1178.

Location:
trunk/source/App
Files:
20 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/App/TAppDecoder/TAppDecCfg.cpp

    r1084 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppDecoder/TAppDecCfg.h

    r1084 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppDecoder/TAppDecTop.cpp

    r1084 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    248248            {
    249249              m_tDecTop[decIdx]->setTargetOptLayerSetIdx( m_targetOptLayerSetIdx );
     250#if H_3D_ANNEX_SELECTION_FIX
     251              m_tDecTop[decIdx]->setProfileIdc( );
     252#endif
    250253            }
    251254
     
    10501053    m_tDecTop[ decIdx ]->setLayerInitilizedFlags( m_layerInitilizedFlags );
    10511054    m_tDecTop[ decIdx ]->setTargetOptLayerSetIdx( m_targetOptLayerSetIdx );   
     1055#if H_3D_ANNEX_SELECTION_FIX
     1056    m_tDecTop[ decIdx ]->setProfileIdc           ( );   
     1057#endif
    10521058
    10531059#if H_3D
  • trunk/source/App/TAppDecoder/TAppDecTop.h

    r976 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppDecoder/decmain.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppEncoder/TAppEncCfg.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    225225  }
    226226#endif
     227#if HHI_INTER_COMP_PRED_K0052
     228#if H_3D
     229  in>>entry.m_interCompPredFlag;
     230#endif
     231#endif
    227232  return in;
    228233}
     
    477482  ("FastSearch",              m_iFastSearch,                1, "0:Full search  1:Diamond  2:PMVFAST")
    478483  ("SearchRange,-sr",         m_iSearchRange,              96, "Motion search range")
     484#if SONY_MV_V_CONST_C0078
     485  ("DispSearchRangeRestriction",  m_bUseDisparitySearchRangeRestriction, false, "restrict disparity search range")
     486  ("VerticalDispSearchRange",     m_iVerticalDisparitySearchRange, 56, "vertical disparity search range")
     487#endif
    479488  ("BipredSearchRange",       m_bipredSearchRange,          4, "Motion search range for bipred refinement")
    480489  ("HadamardME",              m_bUseHADME,               true, "Hadamard ME for fractional-pel")
     
    785794  ("QtPredFlag"            , m_qtPredFlag            , true                                           , "Quad tree prediction from texture to depth")
    786795  ("InterSdcFlag"          , m_interSdcFlag          , true                                           , "Inter depth DCs"                           )
     796#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     797  ("DepthIntraSkip"        , m_depthIntraSkipFlag    , true                                           , "Depth intra skip mode"                     )
     798#else
    787799  ("IntraSingleFlag"       , m_intraSingleFlag       , true                                           , "Intra single mode"                         )
     800#endif
    788801#endif //H_3D
    789802  ;
     
    15461559    {
    15471560      xConfirmPara( m_directRefLayers[i][j] < 0 || m_directRefLayers[i][j] >= i , "Reference layer id shall be greater than or equal to 0 and less than dependent layer id");
    1548       xConfirmPara( m_dependencyTypes[i][j] < 0 || m_dependencyTypes[i][j] >  2 , "Dependency type shall be greater than or equal to 0 and less than 3");
     1561#if H_3D_DIRECT_DEP_TYPE
     1562      xConfirmPara( m_dependencyTypes[i][j] < 0 || m_dependencyTypes[i][j] >  6 , "Dependency type shall be greater than or equal to 0 and less than 7");
     1563#else
     1564      xConfirmPara( m_dependencyTypes[i][j] < 0 || m_dependencyTypes[i][j] >  2 , "Dependency type shall be greater than or equal to 0 and less than 3");
     1565#endif
    15491566    }       
    15501567  } 
     
    15821599  xConfirmPara( m_iSearchRange < 0 ,                                                        "Search Range must be more than 0" );
    15831600  xConfirmPara( m_bipredSearchRange < 0 ,                                                   "Search Range must be more than 0" );
     1601#if SONY_MV_V_CONST_C0078
     1602  xConfirmPara( m_iVerticalDisparitySearchRange <= 0 ,                                      "Vertical Disparity Search Range must be more than 0" );
     1603#endif
    15841604  xConfirmPara( m_iMaxDeltaQP > 7,                                                          "Absolute Delta QP exceeds supported range (0 to 7)" );
    15851605  xConfirmPara( m_iMaxCuDQPDepth > m_uiMaxCUDepth - 1,                                          "Absolute depth for a minimum CuDQP exceeds maximum coding unit depth" );
     
    16971717  xConfirmPara( m_pchBaseViewCameraNumbers  == 0                ,   "BaseViewCameraNumbers must be given" );
    16981718#if BUG_FIX_TK65
     1719#if HHI_CAM_PARA_K0052
     1720  xConfirmPara( m_iNumberOfViews != m_cCameraData.getBaseViewNumbers().size() ,   "Number of Views in BaseViewCameraNumbers must be equal to NumberOfViews" );
     1721#else
    16991722  xConfirmPara( ( ((UInt) m_numberOfLayers >> 1 ) != m_cCameraData.getBaseViewNumbers().size() ) && ( m_numberOfLayers != m_cCameraData.getBaseViewNumbers().size() ),   "Number of Views in BaseViewCameraNumbers must be equal to NumberOfViews" );
     1723#endif
    17001724#else
    17011725  xConfirmPara( ((UInt) m_numberOfLayers >> 1 ) != m_cCameraData.getBaseViewNumbers().size(),   "Number of Views in BaseViewCameraNumbers must be equal to NumberOfViews" );
     
    24532477  printf("Min PCM size                 : %d\n", 1 << m_uiPCMLog2MinSize);
    24542478  printf("Motion search range          : %d\n", m_iSearchRange );
     2479#if SONY_MV_V_CONST_C0078
     2480  printf("Disp search range restriction: %d\n", m_bUseDisparitySearchRangeRestriction );
     2481  printf("Vertical disp search range   : %d\n", m_iVerticalDisparitySearchRange );
     2482#endif
    24552483#if H_MV
    24562484  xPrintParaVector( "Intra period", m_iIntraPeriod );
     
    26042632  printf( "QtPred:%d "                 , m_qtPredFlag             ? 1 : 0 );
    26052633  printf( "InterSdc:%d "               , m_interSdcFlag           ? 1 : 0 );
     2634#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     2635  printf( "DepthIntraSkip:%d "         , m_depthIntraSkipFlag     ? 1 : 0 );
     2636#else
    26062637  printf( "IntraSingle:%d "            , m_intraSingleFlag        ? 1 : 0 );
     2638#endif
    26072639#endif
    26082640
  • trunk/source/App/TAppEncoder/TAppEncCfg.h

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    289289  Int       m_iSearchRange;                                   ///< ME search range
    290290  Int       m_bipredSearchRange;                              ///< ME search range for bipred refinement
     291#if SONY_MV_V_CONST_C0078
     292  Bool      m_bUseDisparitySearchRangeRestriction;            ///< restrict vertical search range for inter-view prediction
     293  Int       m_iVerticalDisparitySearchRange;                  ///< ME vertical search range for inter-view prediction
     294#endif
    291295  Bool      m_bUseFastEnc;                                    ///< flag for using fast encoder setting
    292296  Bool      m_bUseEarlyCU;                                    ///< flag for using Early CU setting
     
    484488  Bool                   m_qtPredFlag;
    485489  Bool                   m_interSdcFlag;
     490#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     491  Bool                   m_depthIntraSkipFlag;
     492#else
    486493  Bool                   m_intraSingleFlag;
    487 
     494#endif
    488495#endif
    489496  // internal member functions
  • trunk/source/App/TAppEncoder/TAppEncTop.cpp

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    140140  xSetVPSVUI               ( vps );
    141141#if H_3D
     142#if HHI_CAM_PARA_K0052
     143  xSetCamPara              ( vps );
     144#endif
     145#endif
     146#if H_3D
    142147  m_ivPicLists.setVPS      ( &vps );
    143148  xDeriveDltArray          ( vps, dlt );
     
    196201      m_sps3dExtension.setQtPredFlag            ( d, m_qtPredFlag            );
    197202      m_sps3dExtension.setInterSdcFlag          ( d, m_interSdcFlag          );
     203#if SEC_DEPTH_INTRA_SKIP_MODE_K0033
     204      m_sps3dExtension.setDepthIntraSkipFlag    ( d, m_depthIntraSkipFlag    ); 
     205#else
    198206      m_sps3dExtension.setIntraSingleFlag       ( d, m_intraSingleFlag       ); 
    199     }
    200   }
    201 #endif
    202 
     207#endif
     208    }
     209  }
     210#endif
    203211  for(Int layerIdInVps = 0; layerIdInVps < m_numberOfLayers; layerIdInVps++)
    204212  {
     
    221229    //====== Camera Parameters =========
    222230    m_cTEncTop.setCameraParameters             ( &m_cCameraData );     
     231#if !HHI_CAM_PARA_K0052
    223232    m_cTEncTop.setCamParPrecision              ( m_cCameraData.getCamParsCodedPrecision  () );
    224233    m_cTEncTop.setCamParInSliceHeader          ( m_cCameraData.getVaryingCameraParameters() );
     234
    225235    m_cTEncTop.setCodedScale                   ( m_cCameraData.getCodedScale             () );
    226236    m_cTEncTop.setCodedOffset                  ( m_cCameraData.getCodedOffset            () );
     237#endif
    227238#if H_3D_VSO
    228239    //====== VSO =========
     
    348359  m_cTEncTop.setBipredSearchRange            ( m_bipredSearchRange );
    349360
     361#if SONY_MV_V_CONST_C0078
     362  m_cTEncTop.setUseDisparitySearchRangeRestriction ( m_bUseDisparitySearchRangeRestriction );
     363  m_cTEncTop.setVerticalDisparitySearchRange ( m_iVerticalDisparitySearchRange );
     364#endif
    350365  //====== Quality control ========
    351366  m_cTEncTop.setMaxDeltaQP                   ( m_iMaxDeltaQP  );
     
    636651  }
    637652#endif
     653#if H_3D_ANNEX_SELECTION_FIX
     654#if H_3D
     655 /// SET Profiles
     656  for(Int layerIdInVps = 0; layerIdInVps < m_numberOfLayers; layerIdInVps++)
     657  {
     658    Int profileIdc = -1;
     659    for (Int olsIdx = 0; olsIdx < vps.getNumOutputLayerSets(); olsIdx++ )
     660    {   
     661      Int lsIdx = vps.olsIdxToLsIdx( olsIdx );
     662      for(Int i = 0; i < vps.getNumLayersInIdList( lsIdx ); i++ )
     663      {
     664        if( vps.getLayerIdInNuh( layerIdInVps) == vps.getLayerSetLayerIdList(lsIdx, i) )
     665        {
     666          Int ptlIdx = vps.getProfileTierLevelIdx( olsIdx, i );
     667          if ( ptlIdx != -1 )
     668          {
     669            Int curProfileIdc = vps.getPTL(ptlIdx)->getGeneralPTL()->getProfileIdc();
     670            if (profileIdc == -1)   
     671            {
     672              profileIdc = curProfileIdc;
     673            }
     674            else
     675            {   
     676              if ( profileIdc != curProfileIdc )
     677              {             
     678                fprintf(stderr, "Error: ProfileIdc for layer with index %d in VPS not equal in all OLSs. \n", layerIdInVps );
     679                exit(EXIT_FAILURE);
     680              }
     681            }
     682          }
     683        }
     684      }
     685    }
     686    if (profileIdc == -1 )
     687    {
     688      fprintf(stderr, "Error: No profile given for layer with index %d in VPS not equal in all OLS. \n", layerIdInVps );
     689      exit(EXIT_FAILURE);
     690    }
     691    m_acTEncTopList[ layerIdInVps ]->setProfileIdc( profileIdc );
     692  }
     693#endif
     694#endif
    638695#if H_3D_VSO
    639696  if ( m_bUseVSO )
     
    742799{
    743800#if H_3D
     801#if !HHI_CAM_PARA_K0052
    744802  for ( Int viewIndex = 0; viewIndex < m_vps->getNumViews(); viewIndex++ )
    745803  {
     
    747805      m_cCameraData.getVaryingCameraParameters(), m_cCameraData.getCodedScale(), m_cCameraData.getCodedOffset() );
    748806  }
     807#endif
    749808#endif
    750809
     
    13291388
    13301389  assert( m_iNumberOfViews == vps.getNumViews() );
     1390
     1391
     1392#if HHI_INTER_COMP_PRED_K0052
     1393#if H_3D
     1394  vps.initViewCompLayer( );
     1395#endif
     1396#endif
    13311397}
    13321398
     
    13461412  Bool defaultDirectDependencyFlag = false;
    13471413
     1414#if H_3D_DIRECT_DEP_TYPE
     1415  Int directDepTypeLenMinus2 = 0; 
     1416#endif
    13481417  for( Int depLayer = 1; depLayer < m_numberOfLayers; depLayer++ )
    13491418  {
     
    13551424      vps.setDirectDependencyFlag( depLayer, refLayer, true);
    13561425      Int curDirectDependencyType = m_dependencyTypes[depLayer][i];
    1357 
     1426#if H_3D_DIRECT_DEP_TYPE       
     1427      directDepTypeLenMinus2 = std::max( directDepTypeLenMinus2, gCeilLog2( curDirectDependencyType + 1  ) - 2 ); 
     1428#endif
    13581429      if ( defaultDirectDependencyType != -1 )   
    13591430      {
     
    13721443  vps.setDefaultDirectDependencyFlag( defaultDirectDependencyFlag );       
    13731444  vps.setDefaultDirectDependencyType( defaultDirectDependencyFlag ? defaultDirectDependencyType : -1 );       
     1445
     1446#if H_3D_DIRECT_DEP_TYPE       
     1447  assert( directDepTypeLenMinus2 <= 1 );
     1448  vps.setDirectDepTypeLenMinus2( directDepTypeLenMinus2 );
     1449#endif
     1450
    13741451
    13751452  vps.setRefLayers();
     
    14181495#endif
    14191496              {
     1497#if !HHI_INTER_COMP_PRED_K0052               
    14201498                Bool refAlwaysIntra = ( i == getGOPSize() ) && ( m_iIntraPeriod[ curLayerIdInVps ] % m_iIntraPeriod[ refLayerIdInVps ] == 0 );
     1499#endif
    14211500                Bool refLayerZero   = ( i == getGOPSize() ) && ( refLayerIdInVps == 0 );
     1501#if HHI_INTER_COMP_PRED_K0052
     1502                // refAlwaysIntra actually not needed, since TemporalIds need to be aligned within an AU.
     1503                // Thus, reference pictures of IRAP pictures have TemporalId equal to 0.
     1504                maxTid = std::max( maxTid, refLayerZero ? 0 : geRef.m_temporalId );
     1505#else
    14221506                maxTid = std::max( maxTid, ( refAlwaysIntra || refLayerZero ) ? 0 : geRef.m_temporalId );
     1507#endif
    14231508              }
    14241509            }
     
    14281513        else
    14291514        {       
     1515#if HHI_INTER_COMP_PRED_K0052
     1516          if( m_depthFlag[ curLayerIdInVps ] && ( m_mpiFlag|| m_qtPredFlag || m_intraContourFlag ) )
     1517          {         
     1518            Int nuhLayerIdTex = vps.getLayerIdInNuh( vps.getViewIndex( curLayerIdInNuh ), false );
     1519            if ( nuhLayerIdTex == refLayerIdInNuh )
     1520            {
     1521              for( Int i = 0; i < ( getGOPSize() + 1); i++ )
     1522              {       
     1523                GOPEntry geCur =  m_GOPListMvc[curLayerIdInVps][( i < getGOPSize()  ? i : MAX_GOP )];
     1524                GOPEntry geRef =  m_GOPListMvc[refLayerIdInVps][( i < getGOPSize()  ? i : MAX_GOP )];
     1525                if ( geCur.m_interCompPredFlag )
     1526                {
     1527                  Bool refLayerZero   = ( i == getGOPSize() ) && ( refLayerIdInVps == 0 );
     1528                  maxTid = std::max( maxTid, refLayerZero ? 0 : geRef.m_temporalId );
     1529                }
     1530              }
     1531            }
     1532          }
     1533          if( !m_depthFlag[ curLayerIdInVps ] && vps.getNumRefListLayers( curLayerIdInNuh) > 0  && ( m_depthRefinementFlag || m_viewSynthesisPredFlag || m_depthBasedBlkPartFlag ) )
     1534          {             
     1535            for( Int i = 0; i < ( getGOPSize() + 1); i++ )
     1536            {       
     1537              GOPEntry geCur =  m_GOPListMvc[curLayerIdInVps][( i < getGOPSize()  ? i : MAX_GOP )];
     1538              GOPEntry geRef =  m_GOPListMvc[refLayerIdInVps][( i < getGOPSize()  ? i : MAX_GOP )];
     1539
     1540              if ( geCur.m_interCompPredFlag )
     1541              {
     1542                for (Int j = 0; j < geCur.m_numActiveRefLayerPics; j++ )
     1543                {
     1544                  Int nuhLayerIdDep = vps.getLayerIdInNuh( vps.getViewIndex( vps.getIdRefListLayer( curLayerIdInNuh, geCur.m_interLayerPredLayerIdc[j] ) ), true );
     1545                  if ( nuhLayerIdDep == refLayerIdInNuh )
     1546                  {
     1547                    Bool refLayerZero   = ( i == getGOPSize() ) && ( refLayerIdInVps == 0 );
     1548                    maxTid = std::max( maxTid, refLayerZero ? 0 : geRef.m_temporalId );
     1549                  }
     1550                }
     1551              }
     1552            }
     1553          }       
     1554#else
    14301555          if( m_depthFlag[ curLayerIdInVps ] && ( m_mpiFlag|| m_qtPredFlag || m_intraContourFlag ) )
    14311556          {         
     
    14581583            }
    14591584          }       
     1585#endif
    14601586        }
    1461       }
     1587      } // if ( vps.getDirectDependencyFlag( curLayerIdInVps, refLayerIdInVps ) )
    14621588      vps.setMaxTidIlRefPicsPlus1( refLayerIdInVps, curLayerIdInVps, maxTid + 1 );
    14631589#endif
    1464     }   
    1465   }
     1590    }  // Loop curLayerIdInVps
     1591  } // Loop refLayerIdInVps
    14661592
    14671593  // Max temporal id for inter layer reference pictures presence flag
     
    16731799Void TAppEncTop::xSetRepFormat( TComVPS& vps )
    16741800{
     1801
     1802#if H_3D_DISABLE_CHROMA
     1803  Bool anyDepth = false;
     1804  for ( Int i = 0; i < m_numberOfLayers; i++ )
     1805  {
     1806    vps.setVpsRepFormatIdx( i, m_depthFlag[ i ] ? 1 : 0 );
     1807    anyDepth = anyDepth || m_depthFlag[ i ];
     1808  } 
     1809
     1810  vps.setRepFormatIdxPresentFlag( anyDepth );
     1811  vps.setVpsNumRepFormatsMinus1 ( anyDepth ? 1 : 0  );
     1812
     1813  for ( Int j = 0; j <= vps.getVpsNumRepFormatsMinus1(); j++ )
     1814  {
     1815    TComRepFormat* repFormat = new TComRepFormat;
     1816
     1817    repFormat->setBitDepthVpsChromaMinus8   ( g_bitDepthC - 8 );
     1818    repFormat->setBitDepthVpsLumaMinus8     ( g_bitDepthY - 8 );
     1819    repFormat->setChromaFormatVpsIdc        ( j == 1 ? CHROMA_400 : CHROMA_420 );
     1820    repFormat->setPicHeightVpsInLumaSamples ( m_iSourceHeight );
     1821    repFormat->setPicWidthVpsInLumaSamples  ( m_iSourceWidth  );   
     1822    repFormat->setChromaAndBitDepthVpsPresentFlag( true );   
     1823    // ToDo not supported yet.
     1824    //repFormat->setSeparateColourPlaneVpsFlag( );
     1825#if H_MV_FIX_CONF_WINDOW
     1826    Bool conformanceWindowVpsFlag = ( m_confWinBottom != 0 ) || ( m_confWinRight != 0 ) || ( m_confWinTop != 0 ) || ( m_confWinBottom != 0 );
     1827    repFormat->setConformanceWindowVpsFlag( conformanceWindowVpsFlag );
     1828    if ( conformanceWindowVpsFlag )
     1829    {   
     1830      repFormat->setConfWinVpsLeftOffset    ( m_confWinLeft   / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() ) );
     1831      repFormat->setConfWinVpsRightOffset   ( m_confWinRight  / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() )  );
     1832      repFormat->setConfWinVpsTopOffset     ( m_confWinTop    / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() )  );
     1833      repFormat->setConfWinVpsBottomOffset  ( m_confWinBottom / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() ) );
     1834    }
     1835#else
     1836    repFormat->setConformanceWindowVpsFlag( true );
     1837    repFormat->setConfWinVpsLeftOffset    ( m_confWinLeft   / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() ) );
     1838    repFormat->setConfWinVpsRightOffset   ( m_confWinRight  / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() )  );
     1839    repFormat->setConfWinVpsTopOffset     ( m_confWinTop    / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() )  );
     1840    repFormat->setConfWinVpsBottomOffset  ( m_confWinBottom / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() ) );
     1841#endif
     1842    assert( vps.getRepFormat( j ) == NULL );
     1843    vps.setRepFormat( j , repFormat );
     1844  };
     1845
     1846
     1847#else
    16751848  vps.setRepFormatIdxPresentFlag( false );
    16761849  vps.setVpsNumRepFormatsMinus1 ( 0    );
     
    17011874  assert( vps.getRepFormat( 0 ) == NULL );
    17021875  vps.setRepFormat( 0 , repFormat );
     1876#endif
    17031877}
    17041878
     
    20752249  }
    20762250}
     2251
     2252#if HHI_CAM_PARA_K0052
     2253#if H_3D
     2254Void TAppEncTop::xSetCamPara                ( TComVPS& vps )
     2255{
     2256  vps.setCpPrecision( m_cCameraData.getCamParsCodedPrecision());
     2257
     2258  for ( Int n = 1; n < vps.getNumViews(); n++ )
     2259  { 
     2260    Int i      = vps.getViewOIdxList( n );
     2261    Int iInVps = vps.getVoiInVps    ( i );
     2262    vps.setNumCp( iInVps,  n);   
     2263
     2264    if ( vps.getNumCp( iInVps ) > 0 )
     2265    {
     2266      vps.setCpInSliceSegmentHeaderFlag( iInVps, m_cCameraData.getVaryingCameraParameters() );
     2267
     2268      for( Int m = 0; m < vps.getNumCp( iInVps ); m++ )
     2269      {
     2270        vps.setCpRefVoi( iInVps, m, vps.getViewOIdxList( m ) );
     2271        if( !vps.getCpInSliceSegmentHeaderFlag( iInVps ) )
     2272        {
     2273          Int j = vps.getCpRefVoi( iInVps, m );
     2274          Int jInVps = vps.getVoiInVps( j );         
     2275
     2276          vps.setVpsCpScale   ( iInVps, jInVps, m_cCameraData.getCodedScale() [ jInVps ][ iInVps ] ) ;
     2277          vps.setVpsCpInvScale( iInVps, jInVps, m_cCameraData.getCodedScale() [ iInVps ][ jInVps ] ) ;
     2278          vps.setVpsCpOff     ( iInVps, jInVps, m_cCameraData.getCodedOffset()[ jInVps ][ iInVps ] ) ;
     2279          vps.setVpsCpInvOff  ( iInVps, jInVps, m_cCameraData.getCodedOffset()[ iInVps ][ jInVps ] ) ;
     2280        }
     2281      }
     2282    }
     2283  }
     2284  vps.deriveCpPresentFlag();
     2285}
     2286#endif
     2287#endif
     2288
     2289
    20772290Bool TAppEncTop::xLayerIdInTargetEncLayerIdList(Int nuhLayerId)
    20782291{
  • trunk/source/App/TAppEncoder/TAppEncTop.h

    r1133 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    142142  Void xSetDpbSize                ( TComVPS& vps );
    143143  Void xSetVPSVUI                 ( TComVPS& vps );
     144#if HHI_CAM_PARA_K0052
     145#if H_3D
     146  Void xSetCamPara                ( TComVPS& vps );
     147#endif
     148#endif
    144149  GOPEntry* xGetGopEntry( Int layerIdInVps, Int poc );
    145150  Int  xGetMax( std::vector<Int>& vec);
  • trunk/source/App/TAppEncoder/encmain.cpp

    r872 r1179  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2014, ITU/ISO/IEC
     6* Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppExtractor/TAppExtrCfg.cpp

    r56 r1179  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppExtractor/TAppExtrCfg.h

    r42 r1179  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppExtractor/TAppExtrTop.cpp

    r608 r1179  
    44// * granted under this license. 
    55// *
    6 // * Copyright (c) 2010-2011, ISO/IEC
     6// * Copyright (c) 2010-2015, ITU/ISO/IEC
    77// * All rights reserved.
    88// *
  • trunk/source/App/TAppExtractor/TAppExtrTop.h

    r608 r1179  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppExtractor/extrmain.cpp

    r608 r1179  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppRenderer/RendererMain.cpp

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppRenderer/TAppRendererCfg.cpp

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppRenderer/TAppRendererCfg.h

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppRenderer/TAppRendererTop.cpp

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
  • trunk/source/App/TAppRenderer/TAppRendererTop.h

    r608 r1179  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
Note: See TracChangeset for help on using the changeset viewer.