Changeset 1147 in 3DVCSoftware
- Timestamp:
- 25 Feb 2015, 12:11:05 (10 years ago)
- Location:
- branches/HTM-13.1-dev1-Samsung/source/Lib
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-13.1-dev1-Samsung/source/Lib/TLibCommon/TComDataCU.cpp
r1146 r1147 891 891 memset( m_puhCbf[2], 0, iSizeInUchar ); 892 892 memset( m_puhDepth, uiDepth, iSizeInUchar ); 893 #if H_3D_NBDV 893 #if H_3D_NBDV && !SEC_ARP_REM_ENC_RESTRICT_K0035 894 894 m_pDvInfo->bDV = false; 895 895 #endif … … 5940 5940 #endif 5941 5941 #if H_3D_IV_MERGE 5942 #if SEC_ARP_REM_ENC_RESTRICT_K0035 5943 Void TComDataCU::getDispforDepth (UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDisp) 5944 #else 5942 5945 Bool TComDataCU::getDispforDepth (UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDisp) 5946 #endif 5943 5947 { 5944 5948 … … 5956 5960 pDisp->m_acNBDV = cMv; 5957 5961 pDisp->m_aVIdxCan = iViewIdx; 5958 5962 #if !SEC_ARP_REM_ENC_RESTRICT_K0035 5959 5963 return true; 5960 } 5964 #endif 5965 } 5966 #if !SEC_ARP_REM_ENC_RESTRICT_K0035 5961 5967 return false; 5968 #endif 5962 5969 } 5963 5970 #endif … … 6038 6045 //TBD#2: set of DvMCP values need to be done as part of inter-view motion prediction process. Remove this comment once merge related integration is done 6039 6046 //To be checked: Parallel Merge features for NBDV, related to DV_DERIVATION_PARALLEL_B0096 and LGE_IVMP_PARALLEL_MERGE_B0136 are not integrated. The need of these features due to the adoption of CU-based NBDV is not clear. We need confirmation on this, especially by proponents 6047 #if SEC_ARP_REM_ENC_RESTRICT_K0035 6048 Void TComDataCU::getDisMvpCandNBDV( DisInfo* pDInfo 6049 #else 6040 6050 Bool TComDataCU::getDisMvpCandNBDV( DisInfo* pDInfo 6051 #endif 6041 6052 #if H_3D_NBDV_REF 6042 6053 , Bool bDepthRefine … … 6046 6057 //// ******* Init variables ******* ///// 6047 6058 // Init disparity struct for results 6059 #if !SEC_ARP_REM_ENC_RESTRICT_K0035 6048 6060 pDInfo->bDV = false; 6061 #endif 6049 6062 pDInfo->m_aVIdxCan = -1; 6050 6063 … … 6141 6154 pDInfo->m_acDoNBDV = cColMv; 6142 6155 #endif //H_3D_NBDV_REF 6156 #if SEC_ARP_REM_ENC_RESTRICT_K0035 6157 return; 6158 #else 6143 6159 return true; 6160 #endif 6144 6161 } 6145 6162 } … … 6158 6175 #endif 6159 6176 ) ) 6177 #if SEC_ARP_REM_ENC_RESTRICT_K0035 6178 return; 6179 #else 6160 6180 return true; 6181 #endif 6161 6182 6162 6183 //// ******* Get disparity from above block ******* ///// … … 6170 6191 #endif 6171 6192 ) ) 6193 #if SEC_ARP_REM_ENC_RESTRICT_K0035 6194 return; 6195 #else 6172 6196 return true; 6197 #endif 6173 6198 } 6174 6199 … … 6216 6241 pDInfo->m_acDoNBDV = cDispVec; 6217 6242 #endif 6243 #if SEC_ARP_REM_ENC_RESTRICT_K0035 6244 return; 6245 #else 6218 6246 return true; 6247 #endif 6219 6248 } 6220 6249 } … … 6252 6281 pDInfo->m_acDoNBDV = defaultDV; 6253 6282 #endif 6283 #if !SEC_ARP_REM_ENC_RESTRICT_K0035 6254 6284 return true; 6255 } 6285 #endif 6286 } 6287 #if !SEC_ARP_REM_ENC_RESTRICT_K0035 6256 6288 return false; 6289 #endif 6257 6290 } 6258 6291 -
branches/HTM-13.1-dev1-Samsung/source/Lib/TLibCommon/TComDataCU.h
r1145 r1147 501 501 ); 502 502 Bool xGetColDisMV ( Int currCandPic, RefPicList eRefPicList, Int refidx, Int uiCUAddr, Int uiPartUnitIdx, TComMv& rcMv, Int & iTargetViewIdx, Int & iStartViewIdx ); 503 #if SEC_ARP_REM_ENC_RESTRICT_K0035 504 Void getDisMvpCandNBDV ( DisInfo* pDInfo 505 #else 503 506 Bool getDisMvpCandNBDV ( DisInfo* pDInfo 507 #endif 504 508 #if H_3D_NBDV_REF 505 509 , Bool bDepthRefine = false … … 508 512 509 513 #if H_3D 514 #if SEC_ARP_REM_ENC_RESTRICT_K0035 515 Void getDispforDepth ( UInt uiPartIdx, UInt uiPartAddr, DisInfo* cDisp); 516 #else 510 517 Bool getDispforDepth ( UInt uiPartIdx, UInt uiPartAddr, DisInfo* cDisp); 518 #endif 511 519 Bool getDispMvPredCan(UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDis, Int* iPdm ); 512 520 #endif -
branches/HTM-13.1-dev1-Samsung/source/Lib/TLibCommon/TComMotionInfo.h
r1084 r1147 63 63 typedef struct _DisCand 64 64 { 65 #if !SEC_ARP_REM_ENC_RESTRICT_K0035 65 66 Bool bDV; 67 #endif 66 68 TComMv m_acNBDV; // DV from NBDV 67 69 #if H_3D_NBDV_REF -
branches/HTM-13.1-dev1-Samsung/source/Lib/TLibCommon/TComPrediction.cpp
r1133 r1147 1255 1255 #if H_3D_NBDV 1256 1256 DisInfo cDistparity; 1257 #if SEC_ARP_REM_ENC_RESTRICT_K0035 1258 cDistparity.m_acNBDV = pcCU->getDvInfo(0).m_acNBDV; 1259 cDistparity.m_aVIdxCan = pcCU->getDvInfo(uiPartAddr).m_aVIdxCan; 1260 #else 1257 1261 cDistparity.bDV = pcCU->getDvInfo(uiPartAddr).bDV; 1258 1262 if( cDistparity.bDV ) … … 1262 1266 cDistparity.m_aVIdxCan = pcCU->getDvInfo(uiPartAddr).m_aVIdxCan; 1263 1267 } 1268 #endif 1264 1269 #else 1265 1270 assert(0); // ARP can be applied only when a DV is available 1266 1271 #endif 1267 1272 #if SEC_ARP_REM_ENC_RESTRICT_K0035 1273 UChar dW = pcCU->getARPW ( uiPartAddr ); 1274 #else 1268 1275 UChar dW = cDistparity.bDV ? pcCU->getARPW ( uiPartAddr ) : 0; 1269 1276 #endif 1277 1278 #if !SEC_ARP_REM_ENC_RESTRICT_K0035 1270 1279 if( cDistparity.bDV ) 1280 #endif 1271 1281 { 1272 1282 Int arpRefIdx = pcCU->getSlice()->getFirstTRefIdx(eRefPicList); … … 1320 1330 pYuvB0->clear(); pYuvB1->clear(); 1321 1331 } 1322 1332 #if !SEC_ARP_REM_ENC_RESTRICT_K0035 1323 1333 assert ( cDistparity.bDV ); 1324 1334 #endif 1325 1335 TComMv cNBDV = cDistparity.m_acNBDV; 1326 1336 pcCU->clipMv( cNBDV ); -
branches/HTM-13.1-dev1-Samsung/source/Lib/TLibCommon/TypeDef.h
r1146 r1147 118 118 // MTK_I0072_IVARP_SCALING_FIX 119 119 #define SEC_ARP_VIEW_REF_CHECK_J0037 1 // Signaling iv_res_pred_weight_idx when the current slice has both view and temporal reference picture(s), JCT3V-J0037 item1 120 121 #define SEC_ARP_REM_ENC_RESTRICT_K0035 1 // Removal of encoder restriction of ARP, JCT3V-K0035 120 122 121 123 #define H_3D_IC 1 // Illumination Compensation, JCT3V-B0045, JCT3V-C0046, JCT3V-D0060 -
branches/HTM-13.1-dev1-Samsung/source/Lib/TLibDecoder/TDecCu.cpp
r1145 r1147 299 299 #if H_3D_NBDV 300 300 DisInfo DvInfo; 301 #if !SEC_ARP_REM_ENC_RESTRICT_K0035 301 302 DvInfo.bDV = false; 303 #endif 302 304 DvInfo.m_acNBDV.setZero(); 303 305 DvInfo.m_aVIdxCan = 0; … … 334 336 if( pcCU->getSlice()->getIsDepth()) 335 337 { 338 #if SEC_ARP_REM_ENC_RESTRICT_K0035 339 m_ppcCU[uiDepth]->getDispforDepth(0, 0, &DvInfo); 340 #else 336 341 DvInfo.bDV = m_ppcCU[uiDepth]->getDispforDepth(0, 0, &DvInfo); 342 #endif 337 343 } 338 344 else … … 342 348 if( pcCU->getSlice()->getDepthBasedBlkPartFlag() ) //Notes from QC: please check the condition for DoNBDV. Remove this comment once it is done. 343 349 { 350 #if SEC_ARP_REM_ENC_RESTRICT_K0035 351 m_ppcCU[uiDepth]->getDisMvpCandNBDV(&DvInfo, true); 352 #else 344 353 DvInfo.bDV = m_ppcCU[uiDepth]->getDisMvpCandNBDV(&DvInfo, true); 354 #endif 345 355 } 346 356 else 347 357 #endif 348 358 { 359 #if SEC_ARP_REM_ENC_RESTRICT_K0035 360 m_ppcCU[uiDepth]->getDisMvpCandNBDV(&DvInfo); 361 #else 349 362 DvInfo.bDV = m_ppcCU[uiDepth]->getDisMvpCandNBDV(&DvInfo); 363 #endif 350 364 } 351 365 #if H_3D_IV_MERGE -
branches/HTM-13.1-dev1-Samsung/source/Lib/TLibEncoder/TEncCu.cpp
r1145 r1147 437 437 #if H_3D_VSP 438 438 DisInfo DvInfo; 439 #if !SEC_ARP_REM_ENC_RESTRICT_K0035 439 440 DvInfo.bDV = false; 441 #endif 440 442 DvInfo.m_acNBDV.setZero(); 441 443 DvInfo.m_aVIdxCan = 0; … … 583 585 if (rpcTempCU->getSlice()->getIsDepth() ) 584 586 { 587 #if SEC_ARP_REM_ENC_RESTRICT_K0035 588 rpcTempCU->getDispforDepth(0, 0, &DvInfo); 589 #else 585 590 DvInfo.bDV = rpcTempCU->getDispforDepth(0, 0, &DvInfo); 591 #endif 586 592 } 587 593 else … … 590 596 #if H_3D_NBDV_REF 591 597 if( rpcTempCU->getSlice()->getDepthRefinementFlag() ) 598 #if SEC_ARP_REM_ENC_RESTRICT_K0035 599 rpcTempCU->getDisMvpCandNBDV(&DvInfo, true); 600 #else 592 601 DvInfo.bDV = rpcTempCU->getDisMvpCandNBDV(&DvInfo, true); 602 #endif 593 603 else 594 604 #endif 605 #if SEC_ARP_REM_ENC_RESTRICT_K0035 606 rpcTempCU->getDisMvpCandNBDV(&DvInfo); 607 #else 595 608 DvInfo.bDV = rpcTempCU->getDisMvpCandNBDV(&DvInfo); 609 #endif 596 610 597 611 #if H_3D_IV_MERGE … … 1853 1867 #if H_3D_ARP 1854 1868 Int nARPWMax = rpcTempCU->getSlice()->getARPStepNum() - 1; 1869 #if SEC_ARP_REM_ENC_RESTRICT_K0035 1870 if( nARPWMax < 0 || bICFlag ) 1871 #else 1855 1872 if( nARPWMax < 0 || !rpcTempCU->getDvInfo(0).bDV || bICFlag ) 1873 #endif 1856 1874 { 1857 1875 nARPWMax = 0; … … 2193 2211 Bool bFirstTime = true; 2194 2212 Int nARPWMax = rpcTempCU->getSlice()->getARPStepNum() - 1; 2195 2213 #if SEC_ARP_REM_ENC_RESTRICT_K0035 2214 if( nARPWMax < 0 || ePartSize != SIZE_2Nx2N || rpcTempCU->getICFlag(0) ) 2215 #else 2196 2216 if( nARPWMax < 0 || ePartSize != SIZE_2Nx2N || !rpcTempCU->getDvInfo(0).bDV || rpcTempCU->getICFlag(0) ) 2217 #endif 2197 2218 { 2198 2219 nARPWMax = 0;
Note: See TracChangeset for help on using the changeset viewer.