Changeset 758 in 3DVCSoftware for trunk/source/App
- Timestamp:
- 3 Jan 2014, 17:43:40 (11 years ago)
- Location:
- trunk/source/App/TAppEncoder
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/App/TAppEncoder/TAppEncTop.cpp
r738 r758 76 76 #endif 77 77 78 #if CAM_HLS_F0136_F0045_F0082 79 vps.createCamPars(m_iNumberOfViews); 80 #endif 81 82 #if DLT_DIFF_CODING_IN_PPS 83 TComDLT& dlt = m_dlt; 84 #endif 85 78 86 #if H_MV 79 87 Int maxTempLayer = -1; … … 125 133 #if H_3D 126 134 xSetVPSExtension2 ( vps ); 127 m_ivPicLists.setVPS ( &vps ); 135 m_ivPicLists.setVPS ( &vps ); 136 #if DLT_DIFF_CODING_IN_PPS 137 xDeriveDltArray ( vps, dlt ); 138 #endif 128 139 #endif 129 140 … … 218 229 // H_MV 219 230 m_cTEncTop.setVPS(&vps); 231 232 #if DLT_DIFF_CODING_IN_PPS 233 m_cTEncTop.setDLT(&dlt); 234 #endif 220 235 221 236 m_cTEncTop.setProfile(m_profile); … … 781 796 Void TAppEncTop::xInitLib(Bool isFieldCoding) 782 797 { 798 #if CAM_HLS_F0136_F0045_F0082 799 for ( Int viewIndex = 0; viewIndex < m_vps.getNumViews(); viewIndex++ ) 800 { 801 m_vps.initCamParaVPS( viewIndex, true, m_cCameraData.getCamParsCodedPrecision(), 802 m_cCameraData.getVaryingCameraParameters(), m_cCameraData.getCodedScale(), m_cCameraData.getCodedOffset() ); 803 } 804 #endif 805 783 806 #if H_MV 784 807 for(Int layer=0; layer<m_numberOfLayers; layer++) … … 1247 1270 1248 1271 #if H_3D_DIM_DLT 1272 #if DLT_DIFF_CODING_IN_PPS 1273 Void TAppEncTop::xAnalyzeInputBaseDepth(UInt layer, UInt uiNumFrames, TComVPS* vps, TComDLT* dlt) 1274 #else 1249 1275 Void TAppEncTop::xAnalyzeInputBaseDepth(UInt layer, UInt uiNumFrames, TComVPS* vps) 1276 #endif 1250 1277 { 1251 1278 TComPicYuv* pcDepthPicYuvOrg = new TComPicYuv; … … 1307 1334 if( uiNumFrames == 0 || numBitsForValue(iNumDepthValues) == g_bitDepthY ) 1308 1335 { 1336 #if DLT_DIFF_CODING_IN_PPS 1337 dlt->setUseDLTFlag(layer, false); 1338 #else 1309 1339 // don't use DLT 1310 1340 vps->setUseDLTFlag(layer, false); 1341 #endif 1311 1342 } 1312 1343 1313 1344 // assign LUT 1345 #if DLT_DIFF_CODING_IN_PPS 1346 if( dlt->getUseDLTFlag(layer) ) 1347 dlt->setDepthLUTs(layer, aiIdx2DepthValue, iNumDepthValues); 1348 #else 1314 1349 if( vps->getUseDLTFlag(layer) ) 1315 1350 vps->setDepthLUTs(layer, aiIdx2DepthValue, iNumDepthValues); 1351 #endif 1316 1352 1317 1353 // free temporary memory … … 1967 2003 #endif 1968 2004 #if H_3D_DIM_DLT 2005 #if !DLT_DIFF_CODING_IN_PPS 1969 2006 vps.setUseDLTFlag( layer , isDepth && m_useDLT ); 1970 2007 if( vps.getUseDLTFlag( layer ) ) … … 1976 2013 #endif 1977 2014 } 2015 #endif 1978 2016 #endif 1979 2017 #endif … … 2011 2049 } 2012 2050 #endif 2051 2052 #if DLT_DIFF_CODING_IN_PPS 2053 Void TAppEncTop::xDeriveDltArray( TComVPS& vps, TComDLT& dlt ) 2054 { 2055 Int iNumDepthViews = 0; 2056 Bool bDltPresentFlag = false; 2057 2058 for ( Int layer = 0; layer <= vps.getMaxLayersMinus1(); layer++ ) 2059 { 2060 Bool isDepth = ( vps.getDepthId( layer ) == 1 ); 2061 2062 if ( isDepth ) 2063 { 2064 iNumDepthViews++; 2065 } 2066 2067 dlt.setUseDLTFlag( layer , isDepth && m_useDLT ); 2068 if( dlt.getUseDLTFlag( layer ) ) 2069 { 2070 xAnalyzeInputBaseDepth(layer, max(m_iIntraPeriod[layer], 24), &vps, &dlt); 2071 bDltPresentFlag = bDltPresentFlag || dlt.getUseDLTFlag(layer); 2072 #if H_3D_DELTA_DLT 2073 dlt.setInterViewDltPredEnableFlag(layer, (dlt.getUseDLTFlag(layer) && (layer>1))); 2074 #endif 2075 } 2076 } 2077 2078 dlt.setDltPresentFlag( bDltPresentFlag ); 2079 dlt.setNumDepthViews ( iNumDepthViews ); 2080 } 2081 #endif 2013 2082 #endif 2014 2083 //! \} -
trunk/source/App/TAppEncoder/TAppEncTop.h
r738 r758 86 86 #endif 87 87 88 #if DLT_DIFF_CODING_IN_PPS 89 TComDLT m_dlt; ///< dlt 90 #endif 91 88 92 UInt m_essentialBytes; 89 93 UInt m_totalBytes; … … 135 139 Void xSetVPSExtension2( TComVPS& vps ); 136 140 #endif 141 #if DLT_DIFF_CODING_IN_PPS 142 Void xDeriveDltArray( TComVPS& vps, TComDLT& dlt ); 143 #endif 137 144 #if H_3D_DIM_DLT 145 #if DLT_DIFF_CODING_IN_PPS 146 Void xAnalyzeInputBaseDepth(UInt layer, UInt uiNumFrames, TComVPS* vps, TComDLT* dlt); 147 #else 138 148 Void xAnalyzeInputBaseDepth(UInt layer, UInt uiNumFrames, TComVPS* vps); 149 #endif 139 150 #endif 140 151 public:
Note: See TracChangeset for help on using the changeset viewer.