Changeset 290 in 3DVCSoftware for branches/HTM-5.1-dev0/source
- Timestamp:
- 18 Feb 2013, 22:53:31 (12 years ago)
- Location:
- branches/HTM-5.1-dev0/source/Lib
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComDataCU.cpp
r289 r290 3853 3853 UInt uiIdx = 1; 3854 3854 #if HHI_INTER_VIEW_MOTION_PRED 3855 bool abCandIsInter[ MRG_MAX_NUM_CANDS_MEM ];3855 Bool abCandIsInter[ MRG_MAX_NUM_CANDS_MEM ]; 3856 3856 for( UInt ui = 0; ui < MRG_MAX_NUM_CANDS_MEM; ++ui ) 3857 3857 #else 3858 bool abCandIsInter[ MRG_MAX_NUM_CANDS ];3858 Bool abCandIsInter[ MRG_MAX_NUM_CANDS ]; 3859 3859 for( UInt ui = 0; ui < MRG_MAX_NUM_CANDS; ++ui ) 3860 3860 #endif … … 6655 6655 DisInfo cDisInfo; 6656 6656 cDisInfo.iN = 0; 6657 6658 #if FIX_LGE_IVMP_PARALLEL_MERGE_B01366659 6657 getDisMvpCandNBDV(uiPartIdx, uiPartAddr, &cDisInfo, false 6660 6658 #if MERL_VSP_C0152 … … 6662 6660 #endif 6663 6661 ); 6664 #else // FIX_LGE_IVMP_PARALLEL_MERGE_B01366665 getDisMvpCandNBDV(uiPartIdx, uiPartAddr, &cDisInfo);6666 #endif // FIX_LGE_IVMP_PARALLEL_MERGE_B01366667 6662 if(cDisInfo.iN==0) 6668 6663 { … … 6735 6730 if(m_pcSlice->getSPS()->getViewId() && m_pcSlice->getSPS()->getMultiviewMvPredMode()) 6736 6731 { 6737 #if FIX_LGE_IVMP_PARALLEL_MERGE_B01366738 6732 getDisMvpCandNBDV(uiPartIdx, uiPartAddr, &cDisInfo, false); 6739 #else6740 getDisMvpCandNBDV(uiPartIdx, uiPartAddr, &cDisInfo);6741 #endif6742 6733 } 6743 6734 if(cDisInfo.iN==0) … … 8751 8742 #if HHI_INTER_VIEW_RESIDUAL_PRED 8752 8743 Bool 8753 TComDataCU::getResidualSamples( UInt uiPartIdx, 8754 #if QC_SIMPLIFIEDIVRP_M24938 8755 Bool bRecon , 8756 #endif 8757 TComYuv* pcYuv ) 8744 TComDataCU::getResidualSamples( UInt uiPartIdx, Bool bRecon, TComYuv* pcYuv ) 8758 8745 { 8759 8746 TComResidualGenerator* pcResidualGenerator = m_pcSlice->getSPS()->getResidualGenerator(); … … 8764 8751 PartSize m_peSaved = getPartitionSize( 0 ); 8765 8752 m_pePartSize[0] = SIZE_2Nx2N; 8766 #if FIX_LGE_IVMP_PARALLEL_MERGE_B01368767 8753 getDisMvpCandNBDV( 0, 0, &cDisInfo, false ); 8768 #else8769 getDisMvpCandNBDV( 0, 0, &cDisInfo);8770 #endif8771 8754 if( cDisInfo.iN == 0) 8772 8755 { … … 8777 8760 { 8778 8761 #if MTK_RELEASE_DV_CONSTRAINT_C0129 8779 Bool bAvailable = pcResidualGenerator->getResidualSamples( this, uiPartIdx, pcYuv, cDisInfo.m_acMvCand[0] 8780 #if QC_SIMPLIFIEDIVRP_M24938 8781 , bRecon 8782 #endif 8783 ); 8784 #else 8785 Bool bAvailable = pcResidualGenerator->getResidualSamples( this, uiPartIdx, pcYuv, cDisInfo.m_acMvCand[0].getHor() 8786 #if QC_SIMPLIFIEDIVRP_M24938 8787 , bRecon 8788 #endif 8789 ); 8762 Bool bAvailable = pcResidualGenerator->getResidualSamples( this, uiPartIdx, pcYuv, cDisInfo.m_acMvCand[0], bRecon ); 8763 #else 8764 Bool bAvailable = pcResidualGenerator->getResidualSamples( this, uiPartIdx, pcYuv, cDisInfo.m_acMvCand[0].getHor(), bRecon ); 8790 8765 #endif 8791 8766 m_pePartSize[0] = m_peSaved; … … 8793 8768 } 8794 8769 #else 8795 return pcResidualGenerator->getResidualSamples( this, uiPartIdx, pcYuv 8796 #if QC_SIMPLIFIEDIVRP_M24938 8797 , bRecon 8798 #endif 8799 ); 8770 return pcResidualGenerator->getResidualSamples( this, uiPartIdx, pcYuv, bRecon ); 8800 8771 #endif 8801 8772 } -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComDataCU.h
r289 r290 241 241 Bool m_bDecSubCu; ///< indicates decoder-mode 242 242 Double m_dTotalCost; ///< sum of partition RD costs 243 #if FIX_RDO_NEGDIST244 243 Dist m_uiTotalDistortion; ///< sum of partition distortion 245 #else246 UInt m_uiTotalDistortion; ///< sum of partition distortion247 #endif248 244 UInt m_uiTotalBits; ///< sum of partition bits 249 245 UInt m_uiTotalBins; ///< sum of partition bins … … 617 613 #endif 618 614 #if HHI_INTER_VIEW_RESIDUAL_PRED 619 Bool getResidualSamples( UInt uiPartIdx, 620 #if QC_SIMPLIFIEDIVRP_M24938 621 Bool bRecon , 622 #endif 623 TComYuv* pcYuv = 0 ); 615 Bool getResidualSamples( UInt uiPartIdx, Bool bRecon, TComYuv* pcYuv = 0 ); 624 616 #endif 625 617 // ------------------------------------------------------------------------------------------------------------------- … … 777 769 778 770 Double& getTotalCost() { return m_dTotalCost; } 779 #if FIX_RDO_NEGDIST780 771 Dist& getTotalDistortion() { return m_uiTotalDistortion; } 781 #else782 UInt& getTotalDistortion() { return m_uiTotalDistortion; }783 #endif784 772 UInt& getTotalBits() { return m_uiTotalBits; } 785 773 UInt& getTotalNumPart() { return m_uiNumPartition; } -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComPrediction.cpp
r287 r290 858 858 Bool bResAvail = false; 859 859 860 bResAvail = pcCU->getResidualSamples( 0, 861 #if QC_SIMPLIFIEDIVRP_M24938 862 true, 863 #endif 864 pcYuvResPred ); 860 bResAvail = pcCU->getResidualSamples( 0, true, pcYuvResPred ); 865 861 866 862 assert (bResAvail); -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComResidualGenerator.cpp
r289 r290 229 229 #if MTK_RELEASE_DV_CONSTRAINT_C0129 230 230 Bool 231 TComResidualGenerator::getResidualSamples( TComDataCU* pcCU, UInt uiPUIdx, TComYuv* pcYuv, TComMv iDisp 232 #if QC_SIMPLIFIEDIVRP_M24938 233 , Bool bRecon 234 #endif 235 ) 231 TComResidualGenerator::getResidualSamples( TComDataCU* pcCU, UInt uiPUIdx, TComYuv* pcYuv, TComMv iDisp, Bool bRecon ) 236 232 #else 237 233 Bool 238 TComResidualGenerator::getResidualSamples( TComDataCU* pcCU, UInt uiPUIdx, TComYuv* pcYuv, Int iDisp 239 #if QC_SIMPLIFIEDIVRP_M24938 240 , Bool bRecon 241 #endif 242 ) 234 TComResidualGenerator::getResidualSamples( TComDataCU* pcCU, UInt uiPUIdx, TComYuv* pcYuv, Int iDisp, Bool bRecon ) 243 235 #endif 244 236 #else 245 237 Bool 246 TComResidualGenerator::getResidualSamples( TComDataCU* pcCU, UInt uiPUIdx, TComYuv* pcYuv 247 #if QC_SIMPLIFIEDIVRP_M24938 248 , Bool bRecon 249 #endif 250 ) 238 TComResidualGenerator::getResidualSamples( TComDataCU* pcCU, UInt uiPUIdx, TComYuv* pcYuv, Bool bRecon ) 251 239 #endif //H3D_NBDV 252 240 { … … 261 249 #if H3D_NBDV 262 250 #if MTK_RELEASE_DV_CONSTRAINT_C0129 263 return getResidualSamples( pcCU->getPic(), (UInt)iXPos, (UInt)iYPos, (UInt)iBlkWidth, (UInt)iBlkHeight, pcYuv, iDisp 264 #if QC_SIMPLIFIEDIVRP_M24938 265 , bRecon 266 #endif 267 ); 268 #else 269 return getResidualSamples( pcCU->getPic(), (UInt)iXPos, (UInt)iYPos, (UInt)iBlkWidth, (UInt)iBlkHeight, pcYuv, iDisp 270 #if QC_SIMPLIFIEDIVRP_M24938 271 , bRecon 272 #endif 273 ); 274 #endif 275 #else 276 return getResidualSamples( pcCU->getPic(), (UInt)iXPos, (UInt)iYPos, (UInt)iBlkWidth, (UInt)iBlkHeight, pcYuv 277 #if QC_SIMPLIFIEDIVRP_M24938 278 , bRecon 279 #endif 280 ); 251 return getResidualSamples( pcCU->getPic(), (UInt)iXPos, (UInt)iYPos, (UInt)iBlkWidth, (UInt)iBlkHeight, pcYuv, iDisp, bRecon); 252 #else 253 return getResidualSamples( pcCU->getPic(), (UInt)iXPos, (UInt)iYPos, (UInt)iBlkWidth, (UInt)iBlkHeight, pcYuv, iDisp, bRecon); 254 #endif 255 #else 256 return getResidualSamples( pcCU->getPic(), (UInt)iXPos, (UInt)iYPos, (UInt)iBlkWidth, (UInt)iBlkHeight, pcYuv, bRecon); 281 257 #endif // H3D_NBDV 282 258 } … … 285 261 #if MTK_RELEASE_DV_CONSTRAINT_C0129 286 262 Bool 287 TComResidualGenerator::getResidualSamples( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, TComMv iDisp 288 #if QC_SIMPLIFIEDIVRP_M24938 289 , Bool bRecon 290 #endif 291 ) 263 TComResidualGenerator::getResidualSamples( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, TComMv iDisp, Bool bRecon) 292 264 #else 293 265 Bool 294 TComResidualGenerator::getResidualSamples( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, Int iDisp 295 #if QC_SIMPLIFIEDIVRP_M24938 296 , Bool bRecon 297 #endif 298 ) 266 TComResidualGenerator::getResidualSamples( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, Int iDisp, Bool bRecon) 299 267 #endif 300 268 #else 301 269 Bool 302 TComResidualGenerator::getResidualSamples( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv 303 #if QC_SIMPLIFIEDIVRP_M24938 304 , Bool bRecon 305 #endif 306 ) 270 TComResidualGenerator::getResidualSamples( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, Bool bRecon) 307 271 #endif 308 272 { … … 316 280 pcYuv = m_ppcYuvTmp[1]; 317 281 } 318 #if QC_SIMPLIFIEDIVRP_M24938319 282 UInt uiXPosInRefView = uiXPos , uiYPosInRefView = uiYPos; 320 #endif321 283 #if H3D_NBDV 322 284 #if MTK_RELEASE_DV_CONSTRAINT_C0129 323 xSetPredResidualBlock( pcPic, uiBaseViewId, uiXPos, uiYPos, uiBlkWidth, uiBlkHeight, pcYuv, iDisp 324 #if QC_SIMPLIFIEDIVRP_M24938 325 , &uiXPosInRefView , &uiYPosInRefView , bRecon 326 #endif 327 ); 328 #else 329 xSetPredResidualBlock( pcPic, uiBaseViewId, uiXPos, uiYPos, uiBlkWidth, uiBlkHeight, pcYuv, iDisp 330 #if QC_SIMPLIFIEDIVRP_M24938 331 , &uiXPosInRefView , &uiYPosInRefView , bRecon 332 #endif 333 ); 334 #endif 335 #else 336 xSetPredResidualBlock( pcPic, uiBaseViewId, uiXPos, uiYPos, uiBlkWidth, uiBlkHeight, pcYuv 337 #if QC_SIMPLIFIEDIVRP_M24938 338 , &uiXPosInRefView , &uiYPosInRefView , bRecon 339 #endif 340 ); 285 xSetPredResidualBlock( pcPic, uiBaseViewId, uiXPos, uiYPos, uiBlkWidth, uiBlkHeight, pcYuv, iDisp, &uiXPosInRefView , &uiYPosInRefView , bRecon ); 286 #else 287 xSetPredResidualBlock( pcPic, uiBaseViewId, uiXPos, uiYPos, uiBlkWidth, uiBlkHeight, pcYuv, iDisp, &uiXPosInRefView , &uiYPosInRefView , bRecon ); 288 #endif 289 #else 290 xSetPredResidualBlock( pcPic, uiBaseViewId, uiXPos, uiYPos, uiBlkWidth, uiBlkHeight, pcYuv, &uiXPosInRefView , &uiYPosInRefView , bRecon ); 341 291 #endif 342 292 #if MTK_MDIVRP_C0138 343 293 return true; 344 294 #else 345 #if QC_SIMPLIFIEDIVRP_M24938346 295 return xIsNonZeroByCBF( uiBaseViewId , uiXPosInRefView , uiYPosInRefView , uiBlkWidth , uiBlkHeight ); 347 #else 348 return xIsNonZero( pcYuv, uiBlkWidth, uiBlkHeight ); 349 #endif 350 #endif 351 } 352 353 #if QC_SIMPLIFIEDIVRP_M24938 296 #endif 297 } 298 354 299 Bool TComResidualGenerator::xIsNonZeroByCBF( UInt uiBaseViewId , UInt uiXPos , UInt uiYPos, UInt uiBlkWidth , UInt uiBlkHeight ) 355 300 { … … 377 322 return( false ); 378 323 } 379 #endif380 324 381 325 … … 497 441 { 498 442 AOF( pcCU->getResPredAvail( 0 ) ); 499 Bool bOK = pcCU->getResidualSamples( 0, 500 #if QC_SIMPLIFIEDIVRP_M24938 501 true, 502 #endif 503 m_ppcYuvTmp[0] ); 443 Bool bOK = pcCU->getResidualSamples( 0, true, m_ppcYuvTmp[0] ); 504 444 AOF( bOK ); 505 445 #if LG_RESTRICTEDRESPRED_M24766 … … 571 511 Void 572 512 TComResidualGenerator::xSetPredResidualBlock( TComPic* pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, TComMv iDisp 573 #if QC_SIMPLIFIEDIVRP_M24938 574 , UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon 575 #endif 576 ) 513 ,UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon ) 577 514 #else // MTK_RELEASE_DV_CONSTRAINT_C0129 578 515 Void 579 516 TComResidualGenerator::xSetPredResidualBlock( TComPic* pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, Int iDisp 580 #if QC_SIMPLIFIEDIVRP_M24938 581 , UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon 582 #endif 583 ) 517 ,UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon) 584 518 #endif // MTK_RELEASE_DV_CONSTRAINT_C0129 585 519 #else // H3D_NBDV 586 520 Void 587 521 TComResidualGenerator::xSetPredResidualBlock( TComPic* pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv 588 #if QC_SIMPLIFIEDIVRP_M24938 589 , UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon 590 #endif 591 ) 522 , UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon ) 592 523 #endif // H3D_NBDV 593 524 { … … 644 575 Pel* pDesSamplesY= pcYuv ->getLumaAddr (); 645 576 646 #if QC_SIMPLIFIEDIVRP_M24938 577 647 578 if( puiXPosInRefView != NULL ) 648 579 *puiXPosInRefView = Max( 0, Min( iYMaxPosX, iYRefPosX0 ) ); … … 651 582 if( bRecon == false ) 652 583 return; 653 #endif 584 654 585 #if MTK_RELEASE_DV_CONSTRAINT_C0129 655 586 for( Int iY = 0; iY < iYHeight; iY++, pSrcSamplesY0 += iSrcStrideY, pSrcSamplesY1 += iSrcStrideY, pDesSamplesY += iDesStrideY ) -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComResidualGenerator.h
r289 r290 71 71 #if H3D_NBDV 72 72 #if MTK_RELEASE_DV_CONSTRAINT_C0129 73 Bool getResidualSamples ( TComDataCU* pcCU, UInt uiPUIdx, TComYuv* pcYuv, TComMv iDisp_x 74 #if QC_SIMPLIFIEDIVRP_M24938 75 , Bool bRecon 73 Bool getResidualSamples ( TComDataCU* pcCU, UInt uiPUIdx, TComYuv* pcYuv, TComMv iDisp_x, Bool bRecon ); 74 Bool getResidualSamples ( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv , TComMv iDisp_x, Bool bRecon ); 75 #else 76 Bool getResidualSamples ( TComDataCU* pcCU, UInt uiPUIdx, TComYuv* pcYuv, Int iDisp, Bool bRecon ); 77 Bool getResidualSamples ( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv , Int iDisp, Bool bRecon ); 76 78 #endif 77 ); 78 Bool getResidualSamples ( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv , TComMv iDisp_x 79 #if QC_SIMPLIFIEDIVRP_M24938 80 , Bool bRecon 81 #endif 82 ); 83 #else 84 Bool getResidualSamples ( TComDataCU* pcCU, UInt uiPUIdx, TComYuv* pcYuv, Int iDisp 85 #if QC_SIMPLIFIEDIVRP_M24938 86 , Bool bRecon 87 #endif 88 ); 89 Bool getResidualSamples ( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv , Int iDisp 90 #if QC_SIMPLIFIEDIVRP_M24938 91 , Bool bRecon 92 #endif 93 ); 94 #endif 95 #else 96 Bool getResidualSamples ( TComDataCU* pcCU, UInt uiPUIdx, TComYuv* pcYuv 97 #if QC_SIMPLIFIEDIVRP_M24938 98 , Bool bRecon 99 #endif 100 ); 101 Bool getResidualSamples ( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv 102 #if QC_SIMPLIFIEDIVRP_M24938 103 , Bool bRecon 104 #endif 105 ); 106 #endif 79 #else // H3D_NBDV 80 Bool getResidualSamples ( TComDataCU* pcCU, UInt uiPUIdx, TComYuv* pcYuv, Bool bRecon ); 81 Bool getResidualSamples ( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, Bool bRecon ); 82 #endif // H3D_NBDV 107 83 108 84 private: … … 115 91 #if H3D_NBDV 116 92 #if MTK_RELEASE_DV_CONSTRAINT_C0129 117 Void xSetPredResidualBlock ( TComPic* pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, TComMv iDisp 118 #if QC_SIMPLIFIEDIVRP_M24938 119 , UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon 120 #endif 121 ); 93 Void xSetPredResidualBlock ( TComPic* pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, TComMv iDisp, UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon ); 122 94 #else 123 Void xSetPredResidualBlock ( TComPic* pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, Int iDisp 124 #if QC_SIMPLIFIEDIVRP_M24938 125 , UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon 126 #endif 127 ); 95 Void xSetPredResidualBlock ( TComPic* pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, Int iDisp, UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon ); 128 96 #endif 129 97 #else 130 Void xSetPredResidualBlock ( TComPic* pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv 131 #if QC_SIMPLIFIEDIVRP_M24938 132 , UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon 133 #endif 134 ); 98 Void xSetPredResidualBlock ( TComPic* pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, UInt * puiXPosInRefView , UInt * puiYPosInRefView , Bool bRecon ); 135 99 #endif 136 100 Bool xIsNonZero ( TComYuv* pcYuv, UInt uiBlkWidth, UInt uiBlkHeight ); 137 #if QC_SIMPLIFIEDIVRP_M24938138 101 Bool xIsNonZeroByCBF ( UInt uiBaseViewId , UInt uiXPos , UInt uiYPos, UInt uiBlkWidth , UInt uiBlkHeight ); 139 #endif140 141 102 Void xDumpResidual ( TComPic* pcPic, char* pFilenameBase ); 142 143 103 private: 144 104 // general parameters -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TypeDef.h
r289 r290 41 41 //! \ingroup TLibCommon 42 42 //! \{ 43 44 // MV-HEVC 45 #define QC_IV_AS_LT_B0046 1 //JCT3V-B0046: inter-view reference pictures are treated as long-term pictures 46 #define QC_REM_IDV_B0046 1 //JCT3V-B0046: removal of IDV NAL unit type 47 #define DV_V_RESTRICTION_B0037 1 //JCT3V-B0037: disparity vector vertical range restriction 48 #define QC_TMVP_IDX_MOD_B0046 1 //JCT3V-B0046: the reference index for temporal merging candidate is set to 0, as defined in HEVC 49 50 // 3D-HEVC 43 51 #define QC_MVHEVC_B0046 0 //JCT3V-B0046: disable 3DHEVC tools 44 #define QC_IV_AS_LT_B0046 1 //JCT3V-B0046: inter-view reference pictures are treated as long-term pictures45 #define QC_TMVP_IDX_MOD_B0046 1 //JCT3V-B0046: the reference index for temporal merging candidate is set to 0, as defined in HEVC46 #define QC_REM_IDV_B0046 1 //JCT3V-B0046: removal of IDV NAL unit type47 #define DV_V_RESTRICTION_B0037 1 // JCT3V-B0037 disparity vector vertical range restriction48 52 49 53 #if !QC_MVHEVC_B0046 50 54 51 52 // C TRACK 3 53 #define MERL_VSP_C0152 0 // JCT3V-C0152: 1: enable VSP-related tools; 0: disable VSP-related tools 54 #define MTK_SAIT_TEMPORAL_FIRST_ORDER_C0141_C0097 1 // JCT3V-C0141/C0097 55 #define MTK_SIMPLIFY_DVTC_C0135 1 // JCT3V-C0135 56 #define MTK_RELEASE_DV_CONSTRAINT_C0129 1 // JCT3V-C0129 57 #define QC_NBDV_LDB_FIX_C0055 1 // JCT3V-C0055 58 59 ///// ***** FIXES ********* 60 // A 61 #define FIX_POZNAN_CABAC_INIT_FLAG 1 62 #define FIX_LG_RESTRICTEDRESPRED_M24766 1 63 64 // B 65 #define FIX_LGE_IVMP_PARALLEL_MERGE_B0136 1 66 #define FIX_RDO_NEGDIST 1 67 #define FIX_DMM_NEG_DIST 1 68 69 70 // 3rd meeting 71 #define FIX_DMM_CTX_INIT_C0034 1 // JCT3V-C0034 fix for wrong init type of DMM contexts (UChar instead of Short) 72 #define FIX_SDC_ENC_C0143 1 // JCT3V-C0143 fix for unnecessary encoder checks in case of SDC 73 74 // FCO 75 #define FLEX_CODING_ORDER_M23723 1 76 #if FLEX_CODING_ORDER_M23723 77 #define DISABLE_FCO_FOR_VSO 0 // Optional compile settings to disable VSO with FCO. 78 #endif 79 #define QC_TMVP_MRG_REFIDX_C0047 1 //only enabled when QC_TMVP_IDX_MOD_B0046 is enabled. 80 81 ///// ***** PATCHES ********* 82 #define TMVP_DEPTH_SWITCH 1 // JCT3V-B0092 additional encoder option only 83 84 ///// ***** DEPTH MODELING MODES ********* 55 ///// ***** DMM ********* 85 56 #define HHI_DMM_WEDGE_INTRA 1 // depth model modes independent on texture (explicit and intra-predicted Wedgelet prediction) 86 57 #define HHI_DMM_PRED_TEX 1 // depth model modes dependent on texture (inter-component Wedgelet and Contour prediction ) 87 58 #define LGE_EDGE_INTRA_A0070 1 // JCT3V-A0070 88 59 89 #define RWTH_SDC_DLT_B0036 1 // JCT3V-B0036: Simplified Depth Coding + Depth Lookup Table90 91 60 #define HHIQC_DMMFASTSEARCH_B0039 1 // JCT3V-B0039: fast Wedgelet search for DMM modes 1 and 3 // --> weg 92 61 93 62 #define HHI_DMM_DELTADC_Q1_C0034 1 // JCT3V-C0034: no quantization and fast encoder search for DMM delta DC values 94 95 63 #if HHIQC_DMMFASTSEARCH_B0039 && HHI_DMM_PRED_TEX 96 64 #define LGE_DMM3_SIMP_C0044 1 97 65 #endif 98 66 #define FIX_DMM_CTX_INIT_C0034 1 // JCT3V-C0034 fix for wrong init type of DMM contexts (UChar instead of Short) 67 68 ///// ***** SDC ********* 69 #define RWTH_SDC_DLT_B0036 1 // JCT3V-B0036: Simplified Depth Coding + Depth Lookup Table 99 70 #if RWTH_SDC_DLT_B0036 100 71 #define SAIT_SDC_C0096 1 // JCT3V-C0096: Improved Simple Depth Coding(removal of DMM2 among four SDC modes(DC, Planar, DMM1 and DMM2)) 101 72 #endif 73 #define FIX_SDC_ENC_C0143 1 // JCT3V-C0143 fix for unnecessary encoder checks in case of SDC 74 75 ///// ***** TMVP/AMVP ********* 76 #define TMVP_DEPTH_SWITCH 1 // JCT3V-B0092 additional encoder option only 77 #define QC_TMVP_MRG_REFIDX_C0047 1 // only enabled when QC_TMVP_IDX_MOD_B0046 is enabled. 78 #define INTER_VIEW_VECTOR_SCALING_C0115 1 // JCT3V-C0115 Inter-view vector scaling for TMVP & flag 79 #define INTER_VIEW_VECTOR_SCALING_C0116 1 // JCT3V-C0116 Inter-view vector scaling for AMVP 102 80 103 81 ///// ***** INTERVIEW MOTION VECTOR PREDICTION ********* 104 82 #define HHI_INTER_VIEW_MOTION_PRED 1 // inter-view motion parameter prediction 105 #define QC_AMVP_MRG_UNIFY_IVCAN_C0051 1106 #define QC_C0051_FIXED_BY_MTK 1 // bug fix for C0051 implementation107 #define SHARP_INTERVIEW_DECOUPLE_B0111 1 // JCT3V-B0111 decoupling inter-view candidate108 #define QC_MRG_CANS_B0048 1 // JCT3V-B0048, B0086, B0069109 #if QC_MRG_CANS_B0048110 #define OL_DISMV_POS_B0069 1 // different pos for disparity MV candidate, B0069111 #endif112 #define MTK_INTERVIEW_MERGE_A0049 1 // JCT3V-A0049 second part113 83 #if HHI_INTER_VIEW_MOTION_PRED 114 84 #define SAIT_IMPROV_MOTION_PRED_M24829 1 // improved inter-view motion vector prediction … … 117 87 #endif 118 88 89 #define SHARP_INTERVIEW_DECOUPLE_B0111 1 // JCT3V-B0111 decoupling inter-view candidate 90 #define QC_MRG_CANS_B0048 1 // JCT3V-B0048, B0086, B0069 91 #if QC_MRG_CANS_B0048 92 #define OL_DISMV_POS_B0069 1 // different pos for disparity MV candidate, B0069 93 #endif 94 #define MTK_INTERVIEW_MERGE_A0049 1 // JCT3V-A0049 second part 95 #define QC_AMVP_MRG_UNIFY_IVCAN_C0051 1 96 #define QC_C0051_FIXED_BY_MTK 1 // bug fix for C0051 implementation 97 98 119 99 ///// ***** INTERVIEW RESIDUAL PREDICTION ********* 120 100 #define HHI_INTER_VIEW_RESIDUAL_PRED 1 // inter-view residual prediction 101 // QC_SIMPLIFIEDIVRP_M24938 121 102 #if HHI_INTER_VIEW_RESIDUAL_PRED 103 #define LG_RESTRICTEDRESPRED_M24766 1 // restricted inter-view residual prediction 104 #define FIX_LG_RESTRICTEDRESPRED_M24766 1 105 #else 106 #define LG_RESTRICTEDRESPRED_M24766 0 107 #endif 108 122 109 #define MTK_MDIVRP_C0138 1 // mode-dependent inter-view residual prediction 123 110 #define MTK_C0138_FIXED 1 // fix for IBP coding structure in view direction (not CTC) 124 #define LG_RESTRICTEDRESPRED_M24766 1 // restricted inter-view residual prediction 125 #define QC_SIMPLIFIEDIVRP_M24938 1 126 #else 127 #define LG_RESTRICTEDRESPRED_M24766 0 128 #define QC_SIMPLIFIEDIVRP_M24938 0 129 #endif 111 130 112 131 113 ///// ***** DISPARITY VECTOR DERIVATION ********* … … 138 120 // FIX_LGE_DVMCP_B0133 139 121 // LGE_IVMP_PARALLEL_MERGE_B0136, B0136 support of parallel merge/skip in disparity vector derivation 122 // FIX_LGE_IVMP_PARALLEL_MERGE_B0136 123 124 #define QC_NBDV_LDB_FIX_C0055 1 // JCT3V-C0055 125 #define MTK_SAIT_TEMPORAL_FIRST_ORDER_C0141_C0097 1 // JCT3V-C0141/C0097 126 #define MTK_RELEASE_DV_CONSTRAINT_C0129 1 // JCT3V-C0129 127 #define MTK_SIMPLIFY_DVTC_C0135 1 // JCT3V-C0135 140 128 141 129 ///// ***** MOTION PARAMETER INHERITANCE ********* … … 179 167 ///// ***** OTHERS ********* 180 168 #define LG_ZEROINTRADEPTHRESI_A0087 1 // JCT2-A0087 181 #define INTER_VIEW_VECTOR_SCALING_C0115 1 // JCT2-C0115 Inter-view vector scaling for TMVP & flag182 #define INTER_VIEW_VECTOR_SCALING_C0116 1 // JCT2-C0116 Inter-view vector scaling for AMVP183 169 #define HHI_FULL_PEL_DEPTH_MAP_MV_ACC 1 // full-pel mv accuracy for depth maps 184 #define VIDYO_VPS_INTEGRATION 1 170 #define VIDYO_VPS_INTEGRATION 1 // Integration of VPS 185 171 #define HHI_DEPTH_INTRA_SEARCH_RAU_C0160 1 // JCT3V-C0160 change 1: full Intra search in depth random access units 172 #define FIX_POZNAN_CABAC_INIT_FLAG 1 173 174 ///// ***** FCO ********* 175 #define FLEX_CODING_ORDER_M23723 1 176 #if FLEX_CODING_ORDER_M23723 177 #define DISABLE_FCO_FOR_VSO 0 // Optional compile settings to disable VSO with FCO. 178 #endif 186 179 187 180 ///// ***** VSP ********* 188 181 #define MERL_VSP_C0152 0 // JCT3V-C0152: 1: enable VSP-related tools; 0: disable VSP-related tools 189 182 #if MERL_VSP_C0152 190 183 … … 220 213 221 214 222 ///// ***** DE FINED PARAMETERS *********215 ///// ***** DERIVED PARAMETERS ********* 223 216 #if H3D_NBDV 224 217 #define DIS_CANS 1 … … 265 258 #define HHI_MPI_MERGE_POS 0 266 259 #endif 260 261 267 262 ///// ***** HM 6.1 ********* 268 263 #define SKIPFRAME_BUGFIX 1 ///< bug fix to enable skipFrame at decoder -
branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecEntropy.cpp
r287 r290 123 123 if( bResPredAllowed ) 124 124 { 125 bResPredAvailable = pcSubCU->getResidualSamples( uiPUIdx 126 #if QC_SIMPLIFIEDIVRP_M24938 127 , false 128 #endif 129 ); 125 bResPredAvailable = pcSubCU->getResidualSamples( uiPUIdx , false ); 130 126 } 131 127 -
branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncCu.cpp
r287 r290 660 660 if( bResPredAllowed ) 661 661 { 662 bResPredAvailable = rpcBestCU->getResidualSamples( 0, 663 #if QC_SIMPLIFIEDIVRP_M24938 664 true , 665 #endif 666 m_ppcResPredTmp[uiDepth] ); 662 bResPredAvailable = rpcBestCU->getResidualSamples( 0, true , m_ppcResPredTmp[uiDepth] ); 667 663 } 668 664 … … 801 797 if( bResPredAllowed ) 802 798 { 803 bResPredAvailable = rpcBestCU->getResidualSamples( 0, 804 #if QC_SIMPLIFIEDIVRP_M24938 805 true, 806 #endif 807 m_ppcResPredTmp[uiDepth] ); 799 bResPredAvailable = rpcBestCU->getResidualSamples( 0, true, m_ppcResPredTmp[uiDepth] ); 808 800 } 809 801 -
branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncSearch.cpp
r287 r290 2015 2015 UInt uiQNumParts = pcCU->getTotalNumPart() >> 2; 2016 2016 UInt uiWidthBit = pcCU->getIntraSizeIdx(0); 2017 #if FIX_RDO_NEGDIST2018 2017 Dist uiOverallDistY = 0; 2019 2018 Dist uiOverallDistC = 0; 2020 #else2021 UInt uiOverallDistY = 0;2022 UInt uiOverallDistC = 0;2023 #endif2024 2019 UInt CandNum; 2025 2020 Double CandCostList[ FAST_UDI_MAX_RDMODE_NUM ]; … … 2158 2153 CandNum += xUpdateCandList( uiMode, cost, numModesForFullRD, uiRdModeList, CandCostList ); 2159 2154 2160 #if (HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX) && !FIX_DMM_NEG_DIST2161 if( bTestDmm ) bTestDmm = uiSad ? true : false;2162 #endif2163 2155 #if LGE_EDGE_INTRA_A0070 2164 2156 if ( bTestEdgeIntra ) bTestEdgeIntra = uiSad ? true : false; … … 2302 2294 2303 2295 UInt uiBestPUMode = 0; 2304 #if FIX_RDO_NEGDIST2305 2296 Dist uiBestPUDistY = 0; 2306 2297 Dist uiBestPUDistC = 0; 2307 #else2308 UInt uiBestPUDistY = 0;2309 UInt uiBestPUDistC = 0;2310 #endif2311 2298 Double dBestPUCost = MAX_DOUBLE; 2312 2299 #if RWTH_SDC_DLT_B0036 … … 5692 5679 } 5693 5680 5694 #if FIX_RDO_NEGDIST 5681 5695 5682 Dist uiDistU = 0; 5696 5683 Dist uiDistV = 0; 5697 #else5698 UInt uiDistU = 0;5699 UInt uiDistV = 0;5700 #endif5701 5684 if( bCodeChroma ) 5702 5685 { … … 5736 5719 #endif 5737 5720 5738 #if FIX_RDO_NEGDIST 5721 5739 5722 const Dist uiNonzeroDistU = m_pcRdCost->getDistPart( m_pcQTTempTComYuv[uiQTTempAccessLayer].getCbAddr( absTUPartIdxC), m_pcQTTempTComYuv[uiQTTempAccessLayer].getCStride(), 5740 5723 pcResi->getCbAddr( absTUPartIdxC), pcResi->getCStride(), trWidthC, trHeightC 5741 5724 5742 #else5743 const UInt uiNonzeroDistU = m_pcRdCost->getDistPart( m_pcQTTempTComYuv[uiQTTempAccessLayer].getCbAddr( absTUPartIdxC), m_pcQTTempTComYuv[uiQTTempAccessLayer].getCStride(),5744 pcResi->getCbAddr( absTUPartIdxC), pcResi->getCStride(), trWidthC, trHeightC5745 #endif5746 5725 #if WEIGHTED_CHROMA_DISTORTION 5747 5726 , true … … 5828 5807 m_pcTrQuant->invtransformNxN( TEXT_CHROMA,REG_DCT, pcResiCurrV, m_pcQTTempTComYuv[uiQTTempAccessLayer].getCStride(), pcCoeffCurrV, trWidthC, trHeightC, scalingListType ); 5829 5808 #endif 5830 #if FIX_RDO_NEGDIST5831 5809 const Dist uiNonzeroDistV = m_pcRdCost->getDistPart( m_pcQTTempTComYuv[uiQTTempAccessLayer].getCrAddr( absTUPartIdxC ), m_pcQTTempTComYuv[uiQTTempAccessLayer].getCStride(), 5832 5810 pcResi->getCrAddr( absTUPartIdxC ), pcResi->getCStride(), trWidthC, trHeightC 5833 #else5834 const UInt uiNonzeroDistV = m_pcRdCost->getDistPart( m_pcQTTempTComYuv[uiQTTempAccessLayer].getCrAddr( absTUPartIdxC ), m_pcQTTempTComYuv[uiQTTempAccessLayer].getCStride(),5835 pcResi->getCrAddr( absTUPartIdxC ), pcResi->getCStride(), trWidthC, trHeightC5836 #endif5837 5811 #if WEIGHTED_CHROMA_DISTORTION 5838 5812 , true
Note: See TracChangeset for help on using the changeset viewer.