Changeset 571 in 3DVCSoftware for branches/HTM-DEV-2.0-dev2-LG/source/Lib/TLibEncoder/TEncCu.cpp
- Timestamp:
- 14 Aug 2013, 10:39:58 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-2.0-dev2-LG/source/Lib/TLibEncoder/TEncCu.cpp
r559 r571 1527 1527 m_pcEntropyCoder->encodeARPW( pcCU , uiAbsPartIdx ); 1528 1528 #endif 1529 #if LGE_INTER_SDC_E0156 1530 m_pcEntropyCoder->encodeInterSDCFlag( pcCU, uiAbsPartIdx, false ); 1531 #endif 1529 1532 1530 1533 // Encode Coefficients … … 1817 1820 1818 1821 rpcTempCU->setSkipFlagSubParts( rpcTempCU->getQtRootCbf(0) == 0, 0, uhDepth ); 1822 #if LGE_INTER_SDC_E0156 1823 TComDataCU *rpcTempCUPre = rpcTempCU; 1824 #endif 1819 1825 Int orgQP = rpcTempCU->getQP( 0 ); 1820 1826 xCheckDQP( rpcTempCU ); 1821 1827 xCheckBestMode(rpcBestCU, rpcTempCU, uhDepth); 1828 #if LGE_INTER_SDC_E0156 1829 if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) && rpcTempCU->getSlice()->getIsDepth() && !uiNoResidual ) 1830 { 1831 if( rpcTempCU != rpcTempCUPre ) 1832 { 1833 rpcTempCU->initEstData( uhDepth, orgQP ); 1834 rpcTempCU->copyPartFrom( rpcBestCU, 0, uhDepth ); 1835 } 1836 rpcTempCU->setSkipFlagSubParts( false, 0, uhDepth ); 1837 rpcTempCU->setTrIdxSubParts( 0, 0, uhDepth ); 1838 rpcTempCU->setCbfSubParts( 1, 1, 1, 0, uhDepth ); 1839 #if H_3D_VSO //M2 1840 if( m_pcRdCost->getUseRenModel() ) 1841 { //Reset 1842 UInt uiWidth = m_ppcOrigYuv[uhDepth]->getWidth (); 1843 UInt uiHeight = m_ppcOrigYuv[uhDepth]->getHeight (); 1844 Pel* piSrc = m_ppcOrigYuv[uhDepth]->getLumaAddr (); 1845 UInt uiSrcStride = m_ppcOrigYuv[uhDepth]->getStride (); 1846 m_pcRdCost->setRenModelData( rpcTempCU, 0, piSrc, uiSrcStride, uiWidth, uiHeight ); 1847 } 1848 #endif 1849 m_pcPredSearch->encodeResAndCalcRdInterSDCCU( rpcTempCU, 1850 m_ppcOrigYuv[uhDepth], 1851 ( rpcTempCU != rpcTempCUPre ) ? m_ppcPredYuvBest[uhDepth] : m_ppcPredYuvTemp[uhDepth], 1852 m_ppcResiYuvTemp[uhDepth], 1853 m_ppcRecoYuvTemp[uhDepth], 1854 uhDepth ); 1855 1856 xCheckDQP( rpcTempCU ); 1857 xCheckBestMode( rpcBestCU, rpcTempCU, uhDepth ); 1858 } 1859 #endif 1822 1860 rpcTempCU->initEstData( uhDepth, orgQP ); 1823 1861 1824 1862 if( m_pcEncCfg->getUseFastDecisionForMerge() && !bestIsSkip ) 1825 1863 { 1864 #if LGE_INTER_SDC_E0156 1865 if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) ) 1866 bestIsSkip = !rpcBestCU->getSDCFlag( 0 ) && ( rpcBestCU->getQtRootCbf(0) == 0 ); 1867 else 1868 #endif 1826 1869 bestIsSkip = rpcBestCU->getQtRootCbf(0) == 0; 1827 1870 } … … 2017 2060 #endif 2018 2061 rpcTempCU->getTotalCost() = m_pcRdCost->calcRdCost( rpcTempCU->getTotalBits(), rpcTempCU->getTotalDistortion() ); 2019 2062 #if LGE_INTER_SDC_E0156 2063 TComDataCU *rpcTempCUPre = rpcTempCU; 2064 #endif 2020 2065 xCheckDQP( rpcTempCU ); 2021 2066 xCheckBestMode(rpcBestCU, rpcTempCU, uhDepth); 2067 #if LGE_INTER_SDC_E0156 2068 if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) && rpcTempCU->getSlice()->getIsDepth() ) 2069 { 2070 if( rpcTempCU != rpcTempCUPre ) 2071 { 2072 Int orgQP = rpcBestCU->getQP( 0 ); 2073 rpcTempCU->initEstData( uhDepth, orgQP ); 2074 rpcTempCU->copyPartFrom( rpcBestCU, 0, uhDepth ); 2075 } 2076 rpcTempCU->setSkipFlagSubParts( false, 0, uhDepth ); 2077 rpcTempCU->setTrIdxSubParts( 0, 0, uhDepth ); 2078 rpcTempCU->setCbfSubParts( 1, 1, 1, 0, uhDepth ); 2079 #if H_3D_VSO // M3 2080 if( m_pcRdCost->getUseRenModel() ) 2081 { 2082 UInt uiWidth = m_ppcOrigYuv[uhDepth]->getWidth ( ); 2083 UInt uiHeight = m_ppcOrigYuv[uhDepth]->getHeight( ); 2084 Pel* piSrc = m_ppcOrigYuv[uhDepth]->getLumaAddr( ); 2085 UInt uiSrcStride = m_ppcOrigYuv[uhDepth]->getStride(); 2086 m_pcRdCost->setRenModelData( rpcTempCU, 0, piSrc, uiSrcStride, uiWidth, uiHeight ); 2087 } 2088 #endif 2089 2090 m_pcPredSearch->encodeResAndCalcRdInterSDCCU( rpcTempCU, 2091 m_ppcOrigYuv[uhDepth], 2092 ( rpcTempCU != rpcTempCUPre ) ? m_ppcPredYuvBest[uhDepth] : m_ppcPredYuvTemp[uhDepth], 2093 m_ppcResiYuvTemp[uhDepth], 2094 m_ppcRecoYuvTemp[uhDepth], 2095 uhDepth ); 2096 2097 xCheckDQP( rpcTempCU ); 2098 xCheckBestMode( rpcBestCU, rpcTempCU, uhDepth ); 2099 } 2100 #endif 2022 2101 #if H_3D_ARP 2023 2102 }
Note: See TracChangeset for help on using the changeset viewer.