Ignore:
Timestamp:
18 Dec 2013, 09:00:24 (10 years ago)
Author:
zte
Message:

JCT3V-F0131, JCT3V-F0139

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-9.1-dev0-ZTE/source/App/TAppEncoder/TAppEncTop.cpp

    r738 r748  
    7676#endif
    7777 
     78#if DLT_DIFF_CODING_IN_PPS
     79  TComDLT& dlt = m_dlt;
     80#endif
     81
    7882#if H_MV
    7983  Int maxTempLayer = -1;
     
    125129#if H_3D
    126130  xSetVPSExtension2        ( vps );
    127   m_ivPicLists.setVPS      ( &vps );
     131  m_ivPicLists.setVPS      ( &vps );
     132#if DLT_DIFF_CODING_IN_PPS
     133  xDeriveDltArray          ( vps, dlt );
     134#endif
    128135#endif
    129136
     
    218225  // H_MV
    219226  m_cTEncTop.setVPS(&vps);
     227
     228#if DLT_DIFF_CODING_IN_PPS
     229  m_cTEncTop.setDLT(&dlt);
     230#endif
    220231
    221232  m_cTEncTop.setProfile(m_profile);
     
    12471258
    12481259#if H_3D_DIM_DLT
     1260#if DLT_DIFF_CODING_IN_PPS
     1261Void TAppEncTop::xAnalyzeInputBaseDepth(UInt layer, UInt uiNumFrames, TComVPS* vps, TComDLT* dlt)
     1262#else
    12491263Void TAppEncTop::xAnalyzeInputBaseDepth(UInt layer, UInt uiNumFrames, TComVPS* vps)
     1264#endif
    12501265{
    12511266  TComPicYuv*       pcDepthPicYuvOrg = new TComPicYuv;
     
    13071322  if( uiNumFrames == 0 || numBitsForValue(iNumDepthValues) == g_bitDepthY )
    13081323  {
     1324#if DLT_DIFF_CODING_IN_PPS
     1325    dlt->setUseDLTFlag(layer, false);
     1326#else
    13091327    // don't use DLT
    13101328    vps->setUseDLTFlag(layer, false);
     1329#endif
    13111330  }
    13121331 
    13131332  // assign LUT
     1333#if DLT_DIFF_CODING_IN_PPS
     1334  if( dlt->getUseDLTFlag(layer) )
     1335    dlt->setDepthLUTs(layer, aiIdx2DepthValue, iNumDepthValues);
     1336#else
    13141337  if( vps->getUseDLTFlag(layer) )
    13151338    vps->setDepthLUTs(layer, aiIdx2DepthValue, iNumDepthValues);
     1339#endif
    13161340 
    13171341  // free temporary memory
     
    19671991#endif
    19681992#if H_3D_DIM_DLT
     1993#if !DLT_DIFF_CODING_IN_PPS
    19691994    vps.setUseDLTFlag( layer , isDepth && m_useDLT );
    19701995    if( vps.getUseDLTFlag( layer ) )
     
    19762001#endif
    19772002    }
     2003#endif
    19782004#endif
    19792005#endif
     
    20112037}
    20122038#endif
     2039
     2040#if DLT_DIFF_CODING_IN_PPS
     2041Void TAppEncTop::xDeriveDltArray( TComVPS& vps, TComDLT& dlt )
     2042{
     2043  Int  iNumDepthViews  = 0;
     2044  Bool bDltPresentFlag = false;
     2045
     2046  for ( Int layer = 0; layer <= vps.getMaxLayersMinus1(); layer++ )
     2047  {
     2048    Bool isDepth = ( vps.getDepthId( layer ) == 1 );
     2049
     2050    if ( isDepth )
     2051    {
     2052      iNumDepthViews++;
     2053    }
     2054
     2055    dlt.setUseDLTFlag( layer , isDepth && m_useDLT );
     2056    if( dlt.getUseDLTFlag( layer ) )
     2057    {
     2058      xAnalyzeInputBaseDepth(layer, max(m_iIntraPeriod[layer], 24), &vps, &dlt);
     2059      bDltPresentFlag = bDltPresentFlag || dlt.getUseDLTFlag(layer);
     2060    }
     2061  }
     2062
     2063  dlt.setDltPresentFlag( bDltPresentFlag );
     2064  dlt.setNumDepthViews ( iNumDepthViews  );
     2065}
     2066#endif
    20132067#endif
    20142068//! \}
Note: See TracChangeset for help on using the changeset viewer.