Changeset 1094 in 3DVCSoftware for branches/HTM-12.2-dev2-LGE/source
- Timestamp:
- 3 Nov 2014, 01:32:52 (10 years ago)
- Location:
- branches/HTM-12.2-dev2-LGE/source
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-12.2-dev2-LGE/source/App/TAppEncoder/TAppEncTop.cpp
r1084 r1094 885 885 #endif 886 886 887 #if !LGE_DDD_REMOVAL_J0042_J0030 887 888 #if H_3D_DDD 888 889 m_acTEncTopList[ layer ]->getSliceEncoder()->setDDDPar( m_cCameraData.getCodedScale()[0][ m_acTEncTopList[layer]->getViewIndex() ], 889 890 m_cCameraData.getCodedOffset()[0][ m_acTEncTopList[layer]->getViewIndex() ], 890 891 m_cCameraData.getCamParsCodedPrecision() ); 892 #endif 891 893 #endif 892 894 Int iNumEncoded = 0; -
branches/HTM-12.2-dev2-LGE/source/Lib/TLibCommon/TComDataCU.cpp
r1084 r1094 154 154 #endif 155 155 156 #if !LGE_DDD_REMOVAL_J0042_J0030 156 157 #if H_3D_DDD 157 158 m_pucDisparityDerivedDepth = NULL; 158 159 m_pbUseDDD = NULL; 160 #endif 159 161 #endif 160 162 } … … 298 300 // create pattern memory 299 301 m_pcPattern = (TComPattern*)xMalloc(TComPattern, 1); 300 302 303 #if !LGE_DDD_REMOVAL_J0042_J0030 301 304 #if H_3D_DDD 302 305 m_pucDisparityDerivedDepth = (UChar* )xMalloc( UChar, uiNumPartition); 303 306 m_pbUseDDD = (Bool* ) xMalloc( Bool, uiNumPartition); 304 307 #endif 308 #endif 305 309 306 310 // create motion vector fields … … 386 390 #endif 387 391 392 #if !LGE_DDD_REMOVAL_J0042_J0030 388 393 #if H_3D_DDD 389 394 if ( m_pucDisparityDerivedDepth ) { xFree(m_pucDisparityDerivedDepth); m_pucDisparityDerivedDepth = NULL; } 390 395 if ( m_pbUseDDD ) { xFree(m_pbUseDDD); m_pbUseDDD = NULL; } 396 #endif 391 397 #endif 392 398 … … 518 524 #endif 519 525 526 #if !LGE_DDD_REMOVAL_J0042_J0030 520 527 #if H_3D_DDD 521 528 m_pucDisparityDerivedDepth[ui] = pcFrom->m_pucDisparityDerivedDepth[ui]; 522 529 m_pbUseDDD[ui] = pcFrom->m_pbUseDDD[ui]; 523 530 #endif 524 531 #endif 525 532 m_puhWidth [ui] = pcFrom->getWidth(ui); 526 533 m_puhHeight [ui] = pcFrom->getHeight(ui); … … 604 611 #endif 605 612 613 #if !LGE_DDD_REMOVAL_J0042_J0030 606 614 #if H_3D_DDD 607 615 memset( m_pucDisparityDerivedDepth + firstElement, 0, numElements * sizeof( *m_pucDisparityDerivedDepth ) ); 608 616 memset( m_pbUseDDD + firstElement, 0, numElements * sizeof( *m_pbUseDDD ) ); 617 #endif 609 618 #endif 610 619 … … 784 793 #endif 785 794 795 #if !LGE_DDD_REMOVAL_J0042_J0030 786 796 #if H_3D_DDD 787 797 m_pucDisparityDerivedDepth[ui] = 0; 788 798 m_pbUseDDD[ui] = 0; 799 #endif 789 800 #endif 790 801 … … 893 904 #endif 894 905 906 #if !LGE_DDD_REMOVAL_J0042_J0030 895 907 #if H_3D_DDD 896 908 memset( m_pucDisparityDerivedDepth, 0, iSizeInUchar ); 897 909 memset( m_pbUseDDD, 0, iSizeInBool ); 910 #endif 898 911 #endif 899 912 … … 990 1003 #endif 991 1004 1005 #if !LGE_DDD_REMOVAL_J0042_J0030 992 1006 #if H_3D_DDD 993 1007 m_pucDisparityDerivedDepth[ui] = pcCU->m_pucDisparityDerivedDepth[uiPartOffset+ui]; 994 1008 m_pbUseDDD[ui] = pcCU->m_pbUseDDD[uiPartOffset+ui]; 1009 #endif 995 1010 #endif 996 1011 … … 1139 1154 #endif 1140 1155 1156 #if !LGE_DDD_REMOVAL_J0042_J0030 1141 1157 #if H_3D_DDD 1142 1158 m_pucDisparityDerivedDepth = pcCU->getDDDepth() + uiPart; 1143 1159 m_pbUseDDD = pcCU->getUseDDD() + uiPart; 1160 #endif 1144 1161 #endif 1145 1162 … … 1292 1309 #endif 1293 1310 1311 #if !LGE_DDD_REMOVAL_J0042_J0030 1294 1312 #if H_3D_DDD 1295 1313 m_pucDisparityDerivedDepth = pcCU->getDDDepth() + uiAbsPartIdx; 1296 1314 m_pbUseDDD = pcCU->getUseDDD() + uiAbsPartIdx; 1315 #endif 1297 1316 #endif 1298 1317 … … 1360 1379 memcpy( m_puhCbf[1] + uiOffset, pcCU->getCbf(TEXT_CHROMA_U), iSizeInUchar ); 1361 1380 memcpy( m_puhCbf[2] + uiOffset, pcCU->getCbf(TEXT_CHROMA_V), iSizeInUchar ); 1362 1381 1382 #if !LGE_DDD_REMOVAL_J0042_J0030 1363 1383 #if H_3D_DDD 1364 1384 memcpy( m_pucDisparityDerivedDepth + uiOffset, pcCU->getDDDepth(), iSizeInUchar ); 1365 1385 memcpy( m_pbUseDDD + uiOffset, pcCU->getUseDDD(), iSizeInBool ); 1386 #endif 1366 1387 #endif 1367 1388 … … 1464 1485 #endif 1465 1486 1487 #if !LGE_DDD_REMOVAL_J0042_J0030 1466 1488 #if H_3D_DDD 1467 1489 memcpy( rpcCU->getDDDepth() + m_uiAbsIdxInLCU, m_pucDisparityDerivedDepth, iSizeInUchar ); 1468 1490 memcpy( rpcCU->getUseDDD() + m_uiAbsIdxInLCU, m_pbUseDDD, iSizeInBool ); 1491 #endif 1469 1492 #endif 1470 1493 … … 1600 1623 memcpy( rpcCU->getCbf(TEXT_CHROMA_U) + uiPartOffset, m_puhCbf[1], iSizeInUchar ); 1601 1624 memcpy( rpcCU->getCbf(TEXT_CHROMA_V) + uiPartOffset, m_puhCbf[2], iSizeInUchar ); 1602 1625 1626 #if !LGE_DDD_REMOVAL_J0042_J0030 1603 1627 #if H_3D_DDD 1604 1628 memcpy( rpcCU->getDDDepth() + uiPartOffset, m_pucDisparityDerivedDepth, iSizeInUchar ); 1605 1629 memcpy( rpcCU->getUseDDD() + uiPartOffset, m_pbUseDDD, iSizeInBool ); 1630 #endif 1606 1631 #endif 1607 1632 … … 1671 1696 } 1672 1697 1698 #if !LGE_DDD_REMOVAL_J0042_J0030 1673 1699 #if H_3D_DDD 1674 1700 Void TComDataCU::setDDDepthSubParts ( UChar ucDDD, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth ) … … 1687 1713 } 1688 1714 1715 #endif 1689 1716 #endif 1690 1717 … … 3877 3904 UChar tmpDir; 3878 3905 3906 #if !LGE_DDD_REMOVAL_J0042_J0030 3879 3907 #if H_3D_DDD 3880 3908 m_iUseDDDCandIdx = -1; 3909 #endif 3881 3910 #endif 3882 3911 … … 4276 4305 } 4277 4306 } 4307 #if !LGE_DDD_REMOVAL_J0042_J0030 4278 4308 #if H_3D_DDD 4279 4309 if( m_pcSlice->getIsDepth() && m_pcSlice->getViewIndex() != 0 && bMPIFlag ) … … 4359 4389 } 4360 4390 } 4391 #endif 4361 4392 #endif 4362 4393 ///////////////////////////////////////////////////////////////// … … 4554 4585 #endif 4555 4586 4587 #if !LGE_DDD_REMOVAL_J0042_J0030 4556 4588 #if H_3D_DDD 4557 4589 // early termination … … 4560 4592 return; 4561 4593 } 4594 #endif 4562 4595 #endif 4563 4596 … … 6076 6109 6077 6110 TComMv cMv; 6111 #if LGE_DEFAULT_DV_J0046 6112 if ( getSlice()->getDefaultRefViewIdxAvailableFlag() ) 6113 { 6114 Int iViewIdx = getSlice()->getDefaultRefViewIdx(); 6115 pDisp->m_aVIdxCan = iViewIdx; 6116 Int iDisp = getSlice()->getDepthToDisparityB( iViewIdx )[ 1 << ( getSlice()->getSPS()->getBitDepthY() - 1 ) ]; 6117 6118 cMv.setHor(iDisp); 6119 cMv.setVer(0); 6120 pDisp->m_acNBDV = cMv; 6121 pDisp->m_aVIdxCan = iViewIdx; 6122 6123 return true; 6124 } 6125 return false; 6126 #else 6078 6127 #if MTK_I0093 6079 6128 Int iDisp = getSlice()->getDepthToDisparityB( 0 )[ (Int64) (1 << ( getSlice()->getSPS()->getBitDepthY() - 1 )) ]; … … 6087 6136 6088 6137 return true; 6138 #endif 6089 6139 } 6090 6140 #endif … … 6338 6388 pDInfo->m_acNBDV = defaultDV; 6339 6389 6390 #if LGE_DEFAULT_DV_J0046 6391 if (getSlice()->getDefaultRefViewIdxAvailableFlag()) 6392 { 6393 pDInfo->m_aVIdxCan = getSlice()->getDefaultRefViewIdx(); 6394 6395 #if H_3D_NBDV_REF 6396 TComPic* picDepth = NULL; 6397 #if H_3D_FCO_VSP_DONBDV_E0163 6398 picDepth = getSlice()->getIvPic(true, getSlice()->getViewIndex() ); 6399 if ( picDepth->getPicYuvRec() != NULL ) 6400 { 6401 defaultDV.setZero(); 6402 } 6403 else // Go back with virtual depth 6404 { 6405 picDepth = getSlice()->getIvPic( true, getSlice()->getDefaultRefViewIdx()); 6406 } 6407 6408 assert(picDepth != NULL); 6409 #else 6410 picDepth = getSlice()->getIvPic( true, getSlice()->getDefaultRefViewIdx()); 6411 #endif 6412 if (picDepth && bDepthRefine) 6413 { 6414 estimateDVFromDM(getSlice()->getDefaultRefViewIdx(), uiPartIdx, picDepth, uiPartAddr, &defaultDV ); // from base view 6415 } 6416 pDInfo->m_acDoNBDV = defaultDV; 6417 #endif 6418 #if LGE_SIMP_DISP_AVAIL_J0041 6419 return true; 6420 #endif 6421 } 6422 #else 6340 6423 Int valid = 0; 6341 6424 Int viewIndex = 0; … … 6389 6472 pDInfo->m_acDoNBDV = defaultDV; 6390 6473 #endif 6391 } 6474 #if LGE_SIMP_DISP_AVAIL_J0041 6475 return true; 6476 #endif 6477 } 6478 #endif 6392 6479 return false; 6393 6480 } -
branches/HTM-12.2-dev2-LGE/source/Lib/TLibCommon/TComDataCU.h
r1084 r1094 227 227 DisInfo m_cDefaultDisInfo; ///< Default disparity information for initializing 228 228 #endif 229 229 #if !LGE_DDD_REMOVAL_J0042_J0030 230 230 #if H_3D_DDD 231 231 UChar* m_pucDisparityDerivedDepth; … … 234 234 UChar m_ucDDTmpDepth; 235 235 #endif 236 236 #endif 237 237 #if H_3D_IV_MERGE 238 238 TComMotionCand m_mergCands[MRG_IVSHIFT+1]; … … 743 743 UInt getCoefScanIdx(UInt uiAbsPartIdx, UInt uiWidth, Bool bIsLuma, Bool bIsIntra); 744 744 745 #if !LGE_DDD_REMOVAL_J0042_J0030 745 746 #if H_3D_DDD 746 747 UChar* getDDDepth () { return m_pucDisparityDerivedDepth; } … … 759 760 Int getUseDDDCandIdx(){ return m_iUseDDDCandIdx;} 760 761 762 #endif 761 763 #endif 762 764 -
branches/HTM-12.2-dev2-LGE/source/Lib/TLibCommon/TComPrediction.cpp
r1084 r1094 1158 1158 pcCU->clipMv(cMv); 1159 1159 1160 #if !LGE_DDD_REMOVAL_J0042_J0030 1160 1161 #if H_3D_DDD 1161 1162 if( pcCU->getUseDDD( uiPartAddr ) ) … … 1193 1194 //return; 1194 1195 } else 1196 #endif 1195 1197 #endif 1196 1198 #if H_3D_ARP … … 1949 1951 Int a, b, i, j; 1950 1952 const Int iShift = IC_CONST_SHIFT; 1953 1951 1954 xGetLLSICPrediction( cu, mv, refPic, a, b, TEXT_CHROMA_U ); // Cb 1952 1955 for ( i = 0; i < cxHeight; i++ ) … … 2187 2190 x += pRef[j]; 2188 2191 y += pRec[j]; 2189 xx += (pRef[j] * pRef[j])>>precShift; 2190 xy += (pRef[j] * pRec[j])>>precShift; 2192 #if LGE_CHROMA_IC_J0050_J0034 2193 if ( eType == TEXT_LUMA ) 2194 { 2195 #endif 2196 xx += (pRef[j] * pRef[j])>>precShift; 2197 xy += (pRef[j] * pRec[j])>>precShift; 2198 #if LGE_CHROMA_IC_J0050_J0034 2199 } 2200 #endif 2191 2201 } 2192 2202 iCountShift += g_aucConvertToBit[ uiWidth ] + 1; … … 2217 2227 x += pRef[0]; 2218 2228 y += pRec[0]; 2219 2220 xx += (pRef[0] * pRef[0])>>precShift; 2221 xy += (pRef[0] * pRec[0])>>precShift; 2222 2229 #if LGE_CHROMA_IC_J0050_J0034 2230 if ( eType == TEXT_LUMA ) 2231 { 2232 #endif 2233 xx += (pRef[0] * pRef[0])>>precShift; 2234 xy += (pRef[0] * pRec[0])>>precShift; 2235 #if LGE_CHROMA_IC_J0050_J0034 2236 } 2237 #endif 2223 2238 pRef += iRefStride*2; 2224 2239 pRec += iRecStride*2; … … 2234 2249 } 2235 2250 2251 #if LGE_CHROMA_IC_J0050_J0034 2252 if ( eType != TEXT_LUMA ) 2253 { 2254 a = 32; 2255 b = ( y - x + ( 1 << ( iCountShift - 1 ) ) ) >> iCountShift; 2256 } 2257 else 2258 { 2259 #endif 2236 2260 xy += xx >> IC_REG_COST_SHIFT; 2237 2261 xx += xx >> IC_REG_COST_SHIFT; … … 2275 2299 } 2276 2300 } 2301 #if LGE_CHROMA_IC_J0050_J0034 2302 } 2303 #endif 2277 2304 } 2278 2305 #endif -
branches/HTM-12.2-dev2-LGE/source/Lib/TLibCommon/TComSlice.cpp
r1084 r1094 178 178 m_interLayerPredLayerIdc[ i ] = -1; 179 179 } 180 #endif 181 #if LGE_DEFAULT_DV_J0046 182 m_iDefaultRefViewIdx = -1; 183 m_bDefaultRefViewIdxAvailableFlag = false; 180 184 #endif 181 185 } … … 3883 3887 #endif 3884 3888 3889 #if !LGE_DDD_REMOVAL_J0042_J0030 3885 3890 #if H_3D_DDD 3886 3891 #if H_3D_FCO … … 3896 3901 } 3897 3902 #endif 3903 #endif 3898 3904 3899 3905 if( !setupLUT ) … … 3944 3950 m_depthToDisparityF[ i ][ d ] = ( invCodScale[ i ] * d + invOffset ) >> log2Div; 3945 3951 } 3946 3952 #if !LGE_DDD_REMOVAL_J0042_J0030 3947 3953 #if H_3D_DDD 3948 3954 initializeDDDPara( vps->getCamParPrecision(), codScale[ i ], codOffset[ i ], i ); 3949 3955 #endif 3950 } 3951 } 3952 #endif 3953 #endif 3954 3956 #endif 3957 } 3958 } 3959 #endif 3960 #endif 3961 3962 #if !LGE_DDD_REMOVAL_J0042_J0030 3955 3963 #if H_3D_DDD 3956 3964 Void TComSlice::initializeDDDPara( UInt uiCamParsCodedPrecision, Int iCodedScale,Int iCodedOffset, Int iBaseViewIdx ) … … 4015 4023 4016 4024 #endif 4025 #endif 4017 4026 4018 4027 #if H_MV … … 4048 4057 #endif 4049 4058 4059 #if !LGE_DDD_REMOVAL_J0042_J0030 4050 4060 #if H_3D_DBBP 4051 4061 Int TComSlice::getDepthFromDV( Int iDV, Int iBaseViewIdx ) … … 4053 4063 return ClipY(( iDV * m_aiDDDInvScale[ iBaseViewIdx ] + m_aiDDDInvOffset[ iBaseViewIdx ] ) >> m_aiDDDShift[ iBaseViewIdx ]); 4054 4064 } 4065 #endif 4055 4066 #endif 4056 4067 -
branches/HTM-12.2-dev2-LGE/source/Lib/TLibCommon/TComSlice.h
r1084 r1094 2342 2342 #endif 2343 2343 #endif 2344 2344 #if !LGE_DDD_REMOVAL_J0042_J0030 2345 2345 #if H_3D_DDD 2346 2346 Int m_aiDDDInvScale [MAX_NUM_LAYERS]; … … 2348 2348 UInt m_aiDDDShift [MAX_NUM_LAYERS]; 2349 2349 #endif 2350 #endif 2350 2351 #if H_3D_SINGLE_DEPTH 2351 2352 Bool m_bApplySingleDepthMode; … … 2354 2355 Int *m_aICEnableCandidate; 2355 2356 Int *m_aICEnableNum; 2357 #endif 2358 #if LGE_DEFAULT_DV_J0046 2359 Int m_iDefaultRefViewIdx; 2360 Bool m_bDefaultRefViewIdxAvailableFlag; 2356 2361 #endif 2357 2362 public: … … 2762 2767 Bool inferPocMsbValPresentFlag(); 2763 2768 #endif 2769 #if !LGE_DDD_REMOVAL_J0042_J0030 2764 2770 #if H_3D_DDD 2765 2771 Void initializeDDDPara( UInt uiCamParsCodedPrecision, Int iCodedScale,Int iCodedOffset, Int iBaseViewIdx ); 2766 2772 Int getDepthFromDV( Int iDV, Int iBaseViewIdx ); 2773 #endif 2774 #endif 2775 #if LGE_DEFAULT_DV_J0046 2776 Int getDefaultRefViewIdx() { return m_iDefaultRefViewIdx; } 2777 Void setDefaultRefViewIdx(Int iViewIdx) { m_iDefaultRefViewIdx = iViewIdx; } 2778 2779 Bool getDefaultRefViewIdxAvailableFlag() { return m_bDefaultRefViewIdxAvailableFlag; } 2780 Void setDefaultRefViewIdxAvailableFlag(Bool bViewIdx) { m_bDefaultRefViewIdxAvailableFlag = bViewIdx; } 2767 2781 #endif 2768 2782 -
branches/HTM-12.2-dev2-LGE/source/Lib/TLibCommon/TypeDef.h
r1084 r1094 103 103 // MTK_NBDV_TN_FIX_E0172 fix the issue of DV derivation from the temporal neighboring blocks, issue 7 in JCT3V-E0172 104 104 // MTK_TEXTURE_MRGCAND_BUGFIX_E0182 Bug fix for TEXTURE MERGING CANDIDATE , JCT3V-E0182 105 #define LGE_SIMP_DISP_AVAIL_J0041 1 // Use 2 status for disparity availability - DISP_AVAILABLE and DISP_NONE 105 106 106 107 #define H_3D_ARP 1 // Advanced residual prediction (ARP), JCT3V-D0177 … … 256 257 257 258 #define H_3D_DDD 1 // Disparity derived depth coding 259 #define LGE_DDD_REMOVAL_J0042_J0030 1 // DDD removal 258 260 259 261 #define H_3D_FCO 0 // Flexible coding order for 3D … … 307 309 #define DVFROM_ABOVE 1 308 310 #define IDV_CANDS 2 311 #define LGE_DEFAULT_DV_J0046 1 309 312 #endif 310 313 … … 342 345 #define IC_SHIFT_DIFF 12 343 346 #define IC_LOW_LATENCY_ENCODING_THRESHOLD 0.1 // Threshold for low-latency IC encoding in JCT3V-H0086 347 #define LGE_CHROMA_IC_J0050_J0034 1 344 348 #endif 345 349 -
branches/HTM-12.2-dev2-LGE/source/Lib/TLibDecoder/TDecCu.cpp
r1084 r1094 291 291 DTRACE_CU_S("=========== coding_unit ===========\n") 292 292 #endif 293 294 293 #if !LGE_DDD_REMOVAL_J0042_J0030 295 294 #if H_3D_DDD 296 295 pcCU->setUseDDD( false, uiAbsPartIdx, uiDepth ); 296 #endif 297 297 #endif 298 298 … … 452 452 #endif 453 453 pcCU->setInterDirSubParts( uhInterDirNeighbours[uiMergeIndex], uiAbsPartIdx, 0, uiDepth ); 454 454 #if !LGE_DDD_REMOVAL_J0042_J0030 455 455 #if H_3D_DDD 456 456 if( uiMergeIndex == m_ppcCU[uiDepth]->getUseDDDCandIdx() ) … … 460 460 pcCU->setDDDepthSubParts( m_ppcCU[uiDepth]->getDDTmpDepth(),uiAbsPartIdx, 0, uiDepth ); 461 461 } 462 #endif 462 463 #endif 463 464 -
branches/HTM-12.2-dev2-LGE/source/Lib/TLibDecoder/TDecEntropy.cpp
r1084 r1094 337 337 } 338 338 pcCU->setInterDirSubParts( uhInterDirNeighbours[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth ); 339 339 #if !LGE_DDD_REMOVAL_J0042_J0030 340 340 #if H_3D_DDD 341 341 if( uiMergeIndex == pcSubCU->getUseDDDCandIdx() ) … … 349 349 pcCU->setUseDDD( false, uiSubPartIdx, uiPartIdx, uiDepth ); 350 350 } 351 #endif 351 352 #endif 352 353 -
branches/HTM-12.2-dev2-LGE/source/Lib/TLibDecoder/TDecSlice.cpp
r976 r1094 280 280 iNumSubstreamsPerTile = 1; 281 281 } 282 #if LGE_DEFAULT_DV_J0046 283 pcSlice->setDefaultRefViewIdx( -1 ); 284 pcSlice->setDefaultRefViewIdxAvailableFlag( false ); 285 286 Int valid = 0; 287 Int viewIndex = 0; 288 for( UInt uiBId = 0; uiBId < pcSlice->getViewIndex() && valid==0; uiBId++ ) 289 { 290 UInt uiBaseId = uiBId; 291 TComPic* pcBasePic = pcSlice->getIvPic( false, uiBaseId ); 292 for( Int iRefListId = 0; ( iRefListId < (pcSlice->isInterB()? 2:1) ) && !pcSlice->isIntra() && valid==0; iRefListId++ ) 293 { 294 RefPicList eRefPicListTest = RefPicList( iRefListId ); 295 Int iNumRefPics = pcSlice->getNumRefIdx( eRefPicListTest ) ; 296 for( Int iRefIndex = 0; iRefIndex < iNumRefPics; iRefIndex++ ) 297 { 298 if(pcBasePic->getPOC() == pcSlice->getRefPic( eRefPicListTest, iRefIndex )->getPOC() 299 && pcBasePic->getViewIndex() == pcSlice->getRefPic( eRefPicListTest, iRefIndex )->getViewIndex()) 300 { 301 valid=1; 302 viewIndex = uiBaseId; 303 break; 304 } 305 } 306 } 307 } 308 if( valid ) 309 { 310 pcSlice->setDefaultRefViewIdx( viewIndex ); 311 pcSlice->setDefaultRefViewIdxAvailableFlag( true ); 312 } 313 #endif 282 314 283 315 if ( (iCUAddr == rpcPic->getPicSym()->getTComTile(rpcPic->getPicSym()->getTileIdxMap(iCUAddr))->getFirstCUAddr()) && // 1st in tile. -
branches/HTM-12.2-dev2-LGE/source/Lib/TLibDecoder/TDecTop.h
r976 r1094 83 83 #endif 84 84 85 #if !LGE_DDD_REMOVAL_J0042_J0030 85 86 #if H_3D_DDD 86 87 Int getCodedScale( Int iBaseView, Int iCureView){ return m_aaiCodedScale[ iBaseView ][ iCureView ];} 87 88 Int getCodedOffset( Int iBaseView, Int iCureView){ return m_aaiCodedOffset[ iBaseView ][ iCureView ];} 88 89 UInt getCamParsCodedPrecision(){ return m_vps->getCamParPrecision(); } 90 #endif 89 91 #endif 90 92 -
branches/HTM-12.2-dev2-LGE/source/Lib/TLibEncoder/TEncCu.cpp
r1084 r1094 1869 1869 1870 1870 #endif 1871 1871 #if !LGE_DDD_REMOVAL_J0042_J0030 1872 1872 #if H_3D_DDD 1873 1873 Int iDDDCand = rpcTempCU->getUseDDDCandIdx(); 1874 1874 UChar ucDDDepth = rpcTempCU->getDDTmpDepth(); 1875 1875 rpcTempCU->setUseDDD( false, 0, uhDepth ); 1876 #endif 1876 1877 #endif 1877 1878 … … 1908 1909 rpcTempCU->setVSPFlagSubParts( vspFlag[uiMergeCand], 0, 0, uhDepth ); 1909 1910 #endif 1911 #if !LGE_DDD_REMOVAL_J0042_J0030 1910 1912 #if H_3D_DDD 1911 1913 if( rpcTempCU->getSlice()->getIsDepth() && rpcTempCU->getSlice()->getViewIndex() != 0 && iDDDCand == uiMergeCand ) … … 1918 1920 rpcTempCU->setUseDDD( false, 0, 0, uhDepth ); 1919 1921 } 1922 #endif 1920 1923 #endif 1921 1924 #if H_3D_SPIVMP … … 2204 2207 rpcTempCU->setPartSizeSubParts ( ePartSize, 0, uhDepth ); 2205 2208 rpcTempCU->setPredModeSubParts ( MODE_INTER, 0, uhDepth ); 2209 #if !LGE_DDD_REMOVAL_J0042_J0030 2206 2210 #if H_3D_DDD 2207 2211 rpcTempCU->setUseDDD( false, 0, uhDepth ); 2212 #endif 2208 2213 #endif 2209 2214 -
branches/HTM-12.2-dev2-LGE/source/Lib/TLibEncoder/TEncSearch.cpp
r1084 r1094 4143 4143 } 4144 4144 #endif 4145 4145 #if !LGE_DDD_REMOVAL_J0042_J0030 4146 4146 #if H_3D_DDD 4147 4147 if( uiMergeCand == pcCU->getUseDDDCandIdx() ) … … 4154 4154 pcCU->setUseDDD( false, uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) ); 4155 4155 } 4156 #endif 4156 4157 #endif 4157 4158 … … 4841 4842 pcCU->setVSPFlagSubParts( vspFlag[uiMRGIndex], uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4842 4843 #endif 4844 #if !LGE_DDD_REMOVAL_J0042_J0030 4843 4845 #if H_3D_DDD 4844 4846 if( uiMRGIndex == pcCU->getUseDDDCandIdx() ) … … 4853 4855 pcCU->setUseDDD( false, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4854 4856 } 4857 #endif 4855 4858 #endif 4856 4859 #if H_3D_SPIVMP … … 4930 4933 pcCU->setSPIVMPFlagSubParts(0, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4931 4934 #endif 4935 #if !LGE_DDD_REMOVAL_J0042_J0030 4932 4936 #if H_3D_DDD 4933 4937 pcCU->setUseDDD( false, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4938 #endif 4934 4939 #endif 4935 4940 // set ME result -
branches/HTM-12.2-dev2-LGE/source/Lib/TLibEncoder/TEncSlice.cpp
r976 r1094 1011 1011 } 1012 1012 } 1013 #if LGE_DEFAULT_DV_J0046 1014 pcSlice->setDefaultRefViewIdx( -1 ); 1015 pcSlice->setDefaultRefViewIdxAvailableFlag( false ); 1016 1017 Int valid = 0; 1018 Int viewIndex = 0; 1019 for( UInt uiBId = 0; uiBId < pcSlice->getViewIndex() && valid==0; uiBId++ ) 1020 { 1021 UInt uiBaseId = uiBId; 1022 TComPic* pcBasePic = pcSlice->getIvPic( false, uiBaseId ); 1023 for( Int iRefListId = 0; ( iRefListId < (pcSlice->isInterB()? 2:1) ) && !pcSlice->isIntra() && valid==0; iRefListId++ ) 1024 { 1025 RefPicList eRefPicListTest = RefPicList( iRefListId ); 1026 Int iNumRefPics = pcSlice->getNumRefIdx( eRefPicListTest ) ; 1027 for( Int iRefIndex = 0; iRefIndex < iNumRefPics; iRefIndex++ ) 1028 { 1029 if(pcBasePic->getPOC() == pcSlice->getRefPic( eRefPicListTest, iRefIndex )->getPOC() 1030 && pcBasePic->getViewIndex() == pcSlice->getRefPic( eRefPicListTest, iRefIndex )->getViewIndex()) 1031 { 1032 valid=1; 1033 viewIndex = uiBaseId; 1034 break; 1035 } 1036 } 1037 } 1038 } 1039 if( valid ) 1040 { 1041 pcSlice->setDefaultRefViewIdx( viewIndex ); 1042 pcSlice->setDefaultRefViewIdxAvailableFlag( true ); 1043 } 1044 #endif 1045 1013 1046 // for every CU in slice 1014 1047 #if H_3D … … 1169 1202 #endif 1170 1203 } 1171 1172 1204 // run CU encoder 1173 1205 m_pcCuEncoder->compressCU( pcCU ); -
branches/HTM-12.2-dev2-LGE/source/Lib/TLibEncoder/TEncSlice.h
r884 r1094 107 107 UInt m_uiSliceIdx; 108 108 std::vector<TEncSbac*> CTXMem; 109 #if !LGE_DDD_REMOVAL_J0042_J0030 109 110 #if H_3D_DDD 110 111 Int m_iDDDScale; 111 112 Int m_iDDDOffset; 112 113 UInt m_uiDDDPrecision; 114 #endif 113 115 #endif 114 116 public: … … 145 147 Void initCtxMem( UInt i ); 146 148 Void setCtxMem( TEncSbac* sb, Int b ) { CTXMem[b] = sb; } 147 149 #if !LGE_DDD_REMOVAL_J0042_J0030 148 150 #if H_3D_DDD 149 151 Void setDDDPar( Int iScale, Int iOffset, UInt uiPrecision ){ m_iDDDScale = iScale; m_iDDDOffset = iOffset; m_uiDDDPrecision = uiPrecision; } 152 #endif 150 153 #endif 151 154
Note: See TracChangeset for help on using the changeset viewer.