Changeset 792 in 3DVCSoftware for branches/HTM-9.3-dev3-Samsung/source/Lib/TLibEncoder/TEncCu.cpp
- Timestamp:
- 23 Jan 2014, 05:06:49 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-9.3-dev3-Samsung/source/Lib/TLibEncoder/TEncCu.cpp
r782 r792 1979 1979 if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) && rpcTempCU->getSlice()->getIsDepth() && !uiNoResidual ) 1980 1980 { 1981 #if SEC_INTER_SDC_G0101 1982 for( Int uiOffest = -2 ; uiOffest <= 2 ; uiOffest++ ) 1983 { 1984 if( rpcTempCU != rpcTempCUPre ) 1985 { 1986 rpcTempCU->initEstData( uhDepth, orgQP ); 1987 rpcTempCU->copyPartFrom( rpcBestCU, 0, uhDepth ); 1988 } 1989 rpcTempCU->setSkipFlagSubParts( false, 0, uhDepth ); 1990 rpcTempCU->setTrIdxSubParts( 0, 0, uhDepth ); 1991 rpcTempCU->setCbfSubParts( 1, 1, 1, 0, uhDepth ); 1992 #if H_3D_VSO //M2 1993 if( m_pcRdCost->getUseRenModel() ) 1994 { //Reset 1995 UInt uiWidth = m_ppcOrigYuv[uhDepth]->getWidth (); 1996 UInt uiHeight = m_ppcOrigYuv[uhDepth]->getHeight (); 1997 Pel* piSrc = m_ppcOrigYuv[uhDepth]->getLumaAddr (); 1998 UInt uiSrcStride = m_ppcOrigYuv[uhDepth]->getStride (); 1999 m_pcRdCost->setRenModelData( rpcTempCU, 0, piSrc, uiSrcStride, uiWidth, uiHeight ); 2000 } 2001 #endif 2002 m_pcPredSearch->encodeResAndCalcRdInterSDCCU( rpcTempCU, 2003 m_ppcOrigYuv[uhDepth], 2004 ( rpcTempCU != rpcTempCUPre ) ? m_ppcPredYuvBest[uhDepth] : m_ppcPredYuvTemp[uhDepth], 2005 m_ppcResiYuvTemp[uhDepth], 2006 m_ppcRecoYuvTemp[uhDepth], 2007 uiOffest, 2008 uhDepth ); 2009 2010 xCheckDQP( rpcTempCU ); 2011 xCheckBestMode( rpcBestCU, rpcTempCU, uhDepth ); 2012 } 2013 #else 1981 2014 if( rpcTempCU != rpcTempCUPre ) 1982 2015 { … … 2006 2039 xCheckDQP( rpcTempCU ); 2007 2040 xCheckBestMode( rpcBestCU, rpcTempCU, uhDepth ); 2041 #endif 2008 2042 } 2009 2043 #endif … … 2202 2236 xCheckBestMode(rpcBestCU, rpcTempCU, uhDepth); 2203 2237 #if H_3D_INTER_SDC 2238 #if SEC_INTER_SDC_G0101 // ONLY_2NX2N_SDC 2239 if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) && rpcTempCU->getSlice()->getIsDepth() && ePartSize == SIZE_2Nx2N) 2240 #else 2204 2241 if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) && rpcTempCU->getSlice()->getIsDepth() ) 2205 { 2242 #endif 2243 { 2244 #if SEC_INTER_SDC_G0101 2245 for( Int uiOffest = -2 ; uiOffest <= 2 ; uiOffest++ ) 2246 { 2247 if( rpcTempCU != rpcTempCUPre ) 2248 { 2249 Int orgQP = rpcBestCU->getQP( 0 ); 2250 rpcTempCU->initEstData( uhDepth, orgQP ); 2251 rpcTempCU->copyPartFrom( rpcBestCU, 0, uhDepth ); 2252 } 2253 rpcTempCU->setSkipFlagSubParts( false, 0, uhDepth ); 2254 rpcTempCU->setTrIdxSubParts( 0, 0, uhDepth ); 2255 rpcTempCU->setCbfSubParts( 1, 1, 1, 0, uhDepth ); 2256 #if H_3D_VSO // M3 2257 if( m_pcRdCost->getUseRenModel() ) 2258 { 2259 UInt uiWidth = m_ppcOrigYuv[uhDepth]->getWidth ( ); 2260 UInt uiHeight = m_ppcOrigYuv[uhDepth]->getHeight( ); 2261 Pel* piSrc = m_ppcOrigYuv[uhDepth]->getLumaAddr( ); 2262 UInt uiSrcStride = m_ppcOrigYuv[uhDepth]->getStride(); 2263 m_pcRdCost->setRenModelData( rpcTempCU, 0, piSrc, uiSrcStride, uiWidth, uiHeight ); 2264 } 2265 #endif 2266 2267 m_pcPredSearch->encodeResAndCalcRdInterSDCCU( rpcTempCU, 2268 m_ppcOrigYuv[uhDepth], 2269 ( rpcTempCU != rpcTempCUPre ) ? m_ppcPredYuvBest[uhDepth] : m_ppcPredYuvTemp[uhDepth], 2270 m_ppcResiYuvTemp[uhDepth], 2271 m_ppcRecoYuvTemp[uhDepth], 2272 uiOffest, 2273 uhDepth ); 2274 2275 xCheckDQP( rpcTempCU ); 2276 xCheckBestMode(rpcBestCU, rpcTempCU, uhDepth); 2277 } 2278 #else 2206 2279 if( rpcTempCU != rpcTempCUPre ) 2207 2280 { … … 2233 2306 xCheckDQP( rpcTempCU ); 2234 2307 xCheckBestMode(rpcBestCU, rpcTempCU, uhDepth); 2308 #endif 2235 2309 } 2236 2310 #endif
Note: See TracChangeset for help on using the changeset viewer.