Changeset 690 in 3DVCSoftware
- Timestamp:
- 13 Nov 2013, 02:24:21 (11 years ago)
- Location:
- branches/HTM-8.2-dev2-LG
- Files:
-
- 3 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-8.2-dev2-LG/source/Lib/TLibCommon/TComDataCU.cpp
r683 r690 3526 3526 Bool bDepthIPMCAvai = false; 3527 3527 #endif 3528 3529 #if LGE_SHARP_VSP_INHERIT_F0104 3530 #if H_3D_IC 3531 Bool bICFlag = getICFlag(uiAbsPartIdx); 3532 #endif 3533 #if H_3D_ARP 3534 Bool bARPFlag = getARPW(uiAbsPartIdx)>0 ? true : false; 3535 #endif 3536 #endif 3537 3528 3538 #if H_3D_IV_MERGE 3529 3539 … … 3747 3757 #endif 3748 3758 #if H_3D_VSP 3749 if (pcCULeft->getVSPFlag(uiLeftPartIdx) == 1) 3759 if (pcCULeft->getVSPFlag(uiLeftPartIdx) == 1 3760 #if LGE_SHARP_VSP_INHERIT_F0104 3761 #if H_3D_IC 3762 && !bICFlag 3763 #endif 3764 #if H_3D_ARP 3765 && !bARPFlag 3766 #endif 3767 #endif 3768 ) 3750 3769 { 3751 3770 vspFlag[iCount] = 1; … … 3835 3854 #if H_3D_VSP 3836 3855 #if MTK_VSP_SIMPLIFICATION_F0111 3837 if ( ( ( getAddr() - pcCUAbove->getAddr() ) == 0) && (pcCUAbove->getVSPFlag(uiAbovePartIdx) == 1) ) 3856 if ( ( ( getAddr() - pcCUAbove->getAddr() ) == 0) && (pcCUAbove->getVSPFlag(uiAbovePartIdx) == 1) 3857 #if LGE_SHARP_VSP_INHERIT_F0104 3858 #if H_3D_IC 3859 && !bICFlag 3860 #endif 3861 #if H_3D_ARP 3862 && !bARPFlag 3863 #endif 3864 #endif 3865 ) 3838 3866 #else 3839 if (pcCUAbove->getVSPFlag(uiAbovePartIdx) == 1) 3867 if (pcCUAbove->getVSPFlag(uiAbovePartIdx) == 1 3868 #if LGE_SHARP_VSP_INHERIT_F0104 3869 #if H_3D_IC 3870 && !bICFlag 3871 #endif 3872 #if H_3D_ARP 3873 && !bARPFlag 3874 #endif 3875 #endif 3876 ) 3840 3877 #endif 3841 3878 { … … 3897 3934 #if H_3D_VSP 3898 3935 #if MTK_VSP_SIMPLIFICATION_F0111 3899 if ( ( ( getAddr() - pcCUAboveRight->getAddr() ) == 0) && (pcCUAboveRight->getVSPFlag(uiAboveRightPartIdx) == 1) ) 3936 if ( ( ( getAddr() - pcCUAboveRight->getAddr() ) == 0) && (pcCUAboveRight->getVSPFlag(uiAboveRightPartIdx) == 1) 3937 #if LGE_SHARP_VSP_INHERIT_F0104 3938 #if H_3D_IC 3939 && !bICFlag 3940 #endif 3941 #if H_3D_ARP 3942 && !bARPFlag 3943 #endif 3944 #endif 3945 ) 3900 3946 #else 3901 if (pcCUAboveRight->getVSPFlag(uiAboveRightPartIdx) == 1) 3947 if (pcCUAboveRight->getVSPFlag(uiAboveRightPartIdx) == 1 3948 #if LGE_SHARP_VSP_INHERIT_F0104 3949 #if H_3D_IC 3950 && !bICFlag 3951 #endif 3952 #if H_3D_ARP 3953 && !bARPFlag 3954 #endif 3955 #endif 3956 ) 3902 3957 #endif 3903 3958 { … … 3983 4038 ///////////////////////////////////////////////// 3984 4039 3985 if ( xAddVspCand( mrgCandIdx, &cDisInfo, iCount, abCandIsInter, pcMvFieldNeighbours, puhInterDirNeighbours, vspFlag ) ) 4040 if ( 4041 #if LGE_SHARP_VSP_INHERIT_F0104 4042 #if H_3D_IC 4043 !bICFlag && 4044 #endif 4045 #if H_3D_ARP 4046 !bARPFlag && 4047 #endif 4048 #endif 4049 xAddVspCand( mrgCandIdx, &cDisInfo, iCount, abCandIsInter, pcMvFieldNeighbours, puhInterDirNeighbours, vspFlag ) ) 3986 4050 { 3987 4051 return; … … 4023 4087 #endif 4024 4088 #if H_3D_VSP 4025 if (pcCULeftBottom->getVSPFlag(uiLeftBottomPartIdx) == 1) 4089 if (pcCULeftBottom->getVSPFlag(uiLeftBottomPartIdx) == 1 4090 #if LGE_SHARP_VSP_INHERIT_F0104 4091 #if H_3D_IC 4092 && !bICFlag 4093 #endif 4094 #if H_3D_ARP 4095 && !bARPFlag 4096 #endif 4097 #endif 4098 ) 4026 4099 { 4027 4100 vspFlag[iCount] = 1; … … 4075 4148 #if H_3D_VSP 4076 4149 #if MTK_VSP_SIMPLIFICATION_F0111 4077 if ( ( ( getAddr() - pcCUAboveLeft->getAddr() ) == 0) && (pcCUAboveLeft->getVSPFlag(uiAboveLeftPartIdx) == 1) ) 4150 if ( ( ( getAddr() - pcCUAboveLeft->getAddr() ) == 0) && (pcCUAboveLeft->getVSPFlag(uiAboveLeftPartIdx) == 1) 4151 #if LGE_SHARP_VSP_INHERIT_F0104 4152 #if H_3D_IC 4153 && !bICFlag 4154 #endif 4155 #if H_3D_ARP 4156 && !bARPFlag 4157 #endif 4158 #endif 4159 ) 4078 4160 #else 4079 if (pcCUAboveLeft->getVSPFlag(uiAboveLeftPartIdx) == 1) 4161 if (pcCUAboveLeft->getVSPFlag(uiAboveLeftPartIdx) == 1 4162 #if LGE_SHARP_VSP_INHERIT_F0104 4163 #if H_3D_IC 4164 && !bICFlag 4165 #endif 4166 #if H_3D_ARP 4167 && !bARPFlag 4168 #endif 4169 #endif 4170 ) 4080 4171 #endif 4081 4172 { -
branches/HTM-8.2-dev2-LG/source/Lib/TLibCommon/TypeDef.h
r683 r690 233 233 #endif 234 234 #define MTK_VSP_SIMPLIFICATION_F0111 1 // 1. Inherited VSP also use NBDV of current CU, 2. VSP cannot be inherited from above LCU rowss 235 #define LGE_SHARP_VSP_INHERIT_F0104 1 235 236 #endif 236 237 -
branches/HTM-8.2-dev2-LG/source/Lib/TLibDecoder/TDecCu.cpp
r669 r690 390 390 UInt uiMergeIndex = pcCU->getMergeIndex(uiAbsPartIdx); 391 391 392 #if LGE_SHARP_VSP_INHERIT_F0104 393 #if H_3D_IC 394 m_pcEntropyDecoder->decodeICFlag( pcCU, uiAbsPartIdx, uiDepth ); 395 #endif 396 #if H_3D_ARP 397 m_pcEntropyDecoder->decodeARPW( pcCU , uiAbsPartIdx , uiDepth ); 398 #endif 399 #endif 400 392 401 #if H_3D_VSP 393 402 Int vspFlag[MRG_MAX_NUM_CANDS_MEM]; … … 435 444 } 436 445 } 446 #if !LGE_SHARP_VSP_INHERIT_F0104 437 447 #if H_3D_IC 438 448 m_pcEntropyDecoder->decodeICFlag( pcCU, uiAbsPartIdx, uiDepth ); … … 441 451 m_pcEntropyDecoder->decodeARPW( pcCU , uiAbsPartIdx , uiDepth ); 442 452 #endif 453 #endif 454 443 455 xFinishDecodeCU( pcCU, uiAbsPartIdx, uiDepth, ruiIsLast ); 444 456 #if QC_DEPTH_IV_MRG_F0125 … … 470 482 // prediction mode ( Intra : direction mode, Inter : Mv, reference idx ) 471 483 m_pcEntropyDecoder->decodePredInfo( pcCU, uiAbsPartIdx, uiDepth, m_ppcCU[uiDepth]); 484 #if !LGE_SHARP_VSP_INHERIT_F0104 472 485 #if H_3D_IC 473 486 m_pcEntropyDecoder->decodeICFlag( pcCU, uiAbsPartIdx, uiDepth ); … … 476 489 m_pcEntropyDecoder->decodeARPW ( pcCU , uiAbsPartIdx , uiDepth ); 477 490 #endif 491 #endif 478 492 #if H_3D_INTER_SDC 479 493 m_pcEntropyDecoder->decodeInterSDCFlag( pcCU, uiAbsPartIdx, uiDepth ); -
branches/HTM-8.2-dev2-LG/source/Lib/TLibDecoder/TDecEntropy.cpp
r655 r690 235 235 decodeMergeIndex( pcCU, uiPartIdx, uiSubPartIdx, uiDepth ); 236 236 UInt uiMergeIndex = pcCU->getMergeIndex(uiSubPartIdx); 237 #if LGE_SHARP_VSP_INHERIT_F0104 238 #if H_3D_IC 239 decodeICFlag( pcCU, uiAbsPartIdx, uiDepth ); 240 #endif 241 #if H_3D_ARP 242 decodeARPW ( pcCU, uiAbsPartIdx, uiDepth ); 243 #endif 244 #endif 237 245 if ( pcCU->getSlice()->getPPS()->getLog2ParallelMergeLevelMinus2() && ePartSize != SIZE_2Nx2N && pcSubCU->getWidth( 0 ) <= 8 ) 238 246 { … … 301 309 } 302 310 } 311 #if LGE_SHARP_VSP_INHERIT_F0104 312 #if H_3D_IC 313 decodeICFlag( pcCU, uiAbsPartIdx, uiDepth ); 314 #endif 315 #if H_3D_ARP 316 decodeARPW ( pcCU, uiAbsPartIdx, uiDepth ); 317 #endif 318 #endif 303 319 } 304 320 #if H_3D_VSP -
branches/HTM-8.2-dev2-LG/source/Lib/TLibEncoder/TEncCu.cpp
r669 r690 1775 1775 #endif 1776 1776 1777 #if H_3D_ARP && LGE_SHARP_VSP_INHERIT_F0104 1778 DisInfo cOrigDisInfo = rpcTempCU->getDvInfo(0); 1779 #else 1777 1780 rpcTempCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uhDepth ); // interprets depth relative to LCU level 1778 1781 rpcTempCU->setCUTransquantBypassSubParts( m_pcEncCfg->getCUTransquantBypassFlagValue(), 0, uhDepth ); 1782 #endif 1779 1783 1780 1784 #if H_3D_VSP 1785 #if !(H_3D_ARP && LGE_SHARP_VSP_INHERIT_F0104) 1781 1786 Int vspFlag[MRG_MAX_NUM_CANDS_MEM]; 1782 1787 memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM); 1783 1788 InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM]; 1784 rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, vspFlag,inheritedVSPDisInfo, numValidMergeCand ); 1789 rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, vspFlag, inheritedVSPDisInfo, numValidMergeCand ); 1790 #endif 1785 1791 #else 1786 1792 rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, numValidMergeCand ); … … 1792 1798 Int mergeCandBuffer[MRG_MAX_NUM_CANDS]; 1793 1799 #endif 1800 #if H_3D_ARP && LGE_SHARP_VSP_INHERIT_F0104 1801 for( UInt ui = 0; ui < rpcTempCU->getSlice()->getMaxNumMergeCand(); ++ui ) 1802 #else 1794 1803 for( UInt ui = 0; ui < numValidMergeCand; ++ui ) 1804 #endif 1795 1805 { 1796 1806 mergeCandBuffer[ui] = 0; … … 1817 1827 for( Int nARPW=nARPWMax; nARPW >= 0 ; nARPW-- ) 1818 1828 { 1819 memset( mergeCandBuffer, 0, MRG_MAX_NUM_CANDS*sizeof(Int) ); 1829 memset( mergeCandBuffer, 0, MRG_MAX_NUM_CANDS_MEM*sizeof(Int) ); 1830 #if LGE_SHARP_VSP_INHERIT_F0104 1831 rpcTempCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uhDepth ); // interprets depth relative to LCU level 1832 rpcTempCU->setCUTransquantBypassSubParts( m_pcEncCfg->getCUTransquantBypassFlagValue(), 0, uhDepth ); 1833 rpcTempCU->setARPWSubParts( (UChar)nARPW , 0 , uhDepth ); 1834 #if H_3D_IC 1835 rpcTempCU->setICFlagSubParts( bICFlag, 0, 0, uhDepth ); 1836 #endif 1837 rpcTempCU->getDvInfo(0) = cOrigDisInfo; 1838 rpcTempCU->setDvInfoSubParts(cOrigDisInfo, 0, 0, uhDepth ); 1839 Int vspFlag[MRG_MAX_NUM_CANDS_MEM]; 1840 memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM); 1841 InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM]; 1842 rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, vspFlag, inheritedVSPDisInfo, numValidMergeCand ); 1843 #endif 1820 1844 #endif 1821 1845 for( UInt uiNoResidual = 0; uiNoResidual < iteration; ++uiNoResidual ) … … 1855 1879 rpcTempCU->getCUMvField( REF_PIC_LIST_0 )->setAllMvField( cMvFieldNeighbours[0 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level 1856 1880 rpcTempCU->getCUMvField( REF_PIC_LIST_1 )->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level 1857 1858 1881 #if H_3D_ARP 1859 1882 if( nARPW ) … … 1871 1894 if( !bSignalflag[0] && !bSignalflag[1] ) 1872 1895 { 1896 #if LGE_SHARP_VSP_INHERIT_F0104 1897 continue; 1898 #else 1873 1899 rpcTempCU->setARPWSubParts( 0 , 0 , uhDepth ); 1900 #endif 1874 1901 } 1875 1902 }
Note: See TracChangeset for help on using the changeset viewer.