Changeset 249 in 3DVCSoftware for branches/HTM-5.1-dev3-Mediatek/source
- Timestamp:
- 1 Feb 2013, 04:38:14 (12 years ago)
- Location:
- branches/HTM-5.1-dev3-Mediatek/source/Lib/TLibCommon
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-5.1-dev3-Mediatek/source/Lib/TLibCommon/TComDataCU.cpp
r247 r249 5608 5608 #if QC_SIMPLE_NBDV_B0047 5609 5609 const Int iNumofDvMCP = 7; 5610 #if MTK_RELEASE_DV_CONSTRAINT 5610 #if MTK_RELEASE_DV_CONSTRAINT_C0129 5611 5611 Int aiDvMcpDvCandX[2][iNumofDvMCP] = {{0,}, {0,}}; // dummy, 5 spatial + 1 temporal 5612 5612 Int aiDvMcpDvCandY[2][iNumofDvMCP] = {{0,}, {0,}}; // dummy, 5 spatial + 1 temporal … … 5636 5636 deriveLeftBottomIdxGeneral( eCUMode, uiPartAddr, uiPartIdx, uiPartIdxLB ); 5637 5637 5638 #if MTK_SAIT_TEMPORAL_FIRST_ORDER 5638 #if MTK_SAIT_TEMPORAL_FIRST_ORDER_C0141_C0097 5639 5639 // copied from getInterMergeCand() 5640 5640 if ( getSlice()->getPPS()->getEnableTMVPFlag() ) … … 5803 5803 Int iTStartViewIdx = 0; 5804 5804 UInt uiPartIdxRB, uiBRIdx; 5805 #if !MTK_SIMPLIFY_DVTC_C0135 5805 5806 Int uiViewIdxCurr= getSlice()->getViewId(); 5807 #endif 5806 5808 UInt uiPartIdxCenter; 5807 5809 xDeriveCenterIdx( eCUMode, uiPartIdx, uiPartIdxCenter ); … … 5813 5815 uiBRIdx = uiPartIdxLT; 5814 5816 UInt uiAbsPartIdxTmp = g_auiZscanToRaster[uiPartIdxRB]; 5815 #if MTK_SIMPLIFY_DVTC 5817 #if MTK_SIMPLIFY_DVTC_C0135 5816 5818 if (( m_pcPic->getCU(m_uiCUAddr)->getCUPelX() + g_auiRasterToPelX[uiAbsPartIdxTmp] + m_pcPic->getMinCUWidth() )>= m_pcSlice->getSPS()->getPicWidthInLumaSamples() ) 5817 5819 { … … 5835 5837 { 5836 5838 uiBRIdx = g_auiRasterToZscan[ (uiAbsPartIdxTmp + uiNumPartInCUWidth + 1) % m_pcPic->getNumPartInCU() ]; 5837 #if MTK_SIMPLIFY_DVTC 5839 #if MTK_SIMPLIFY_DVTC_C0135 5838 5840 uiLCUnew = -1; 5839 5841 #else … … 5849 5851 { 5850 5852 uiBRIdx = 0; 5851 #if MTK_SIMPLIFY_DVTC 5853 #if MTK_SIMPLIFY_DVTC_C0135 5852 5854 uiLCUnew = -1; 5853 5855 #else … … 5879 5881 if( m_pcSlice->getViewId() == getSlice()->getRefPic( eRefPicList, lpRef)->getViewId() ) 5880 5882 { 5881 #if !MTK_SIMPLIFY_DVTC 5883 #if !MTK_SIMPLIFY_DVTC_C0135 5882 5884 if (uiViewIdxCurr > 1) 5883 5885 { … … 5902 5904 return ; 5903 5905 } 5904 #if !MTK_SIMPLIFY_DVTC 5906 #if !MTK_SIMPLIFY_DVTC_C0135 5905 5907 } 5906 5908 #endif … … 5923 5925 return ; 5924 5926 } 5925 #if !MTK_SIMPLIFY_DVTC 5927 #if !MTK_SIMPLIFY_DVTC_C0135 5926 5928 if(uiViewIdxCurr == 1) 5927 5929 { … … 6012 6014 if( cTmpMvPred.m_bDvMcp && bTmpIsSkipped ) 6013 6015 { 6014 #if MTK_RELEASE_DV_CONSTRAINT 6016 #if MTK_RELEASE_DV_CONSTRAINT_C0129 6015 6017 aiDvMcpDvCandX[iList][DVFROM_LEFT] = cTmpMvPred.m_iDvMcpDispX; 6016 6018 aiDvMcpDvCandY[iList][DVFROM_LEFT] = cTmpMvPred.m_iDvMcpDispY; … … 6103 6105 if( cTmpMvPred.m_bDvMcp && bTmpIsSkipped ) 6104 6106 { 6105 #if MTK_RELEASE_DV_CONSTRAINT 6107 #if MTK_RELEASE_DV_CONSTRAINT_C0129 6106 6108 aiDvMcpDvCandX[iList][DVFROM_ABOVE] = cTmpMvPred.m_iDvMcpDispX; 6107 6109 aiDvMcpDvCandY[iList][DVFROM_ABOVE] = cTmpMvPred.m_iDvMcpDispY; … … 6188 6190 if( cTmpMvPred.m_bDvMcp && bTmpIsSkipped ) 6189 6191 { 6190 #if MTK_RELEASE_DV_CONSTRAINT 6192 #if MTK_RELEASE_DV_CONSTRAINT_C0129 6191 6193 aiDvMcpDvCandX[iList][DVFROM_ABOVERIGHT] = cTmpMvPred.m_iDvMcpDispX; 6192 6194 aiDvMcpDvCandY[iList][DVFROM_ABOVERIGHT] = cTmpMvPred.m_iDvMcpDispY; … … 6265 6267 if( cTmpMvPred.m_bDvMcp && bTmpIsSkipped ) 6266 6268 { 6267 #if MTK_RELEASE_DV_CONSTRAINT 6269 #if MTK_RELEASE_DV_CONSTRAINT_C0129 6268 6270 aiDvMcpDvCandX[iList][DVFROM_LEFTBELOW] = cTmpMvPred.m_iDvMcpDispX; 6269 6271 aiDvMcpDvCandY[iList][DVFROM_LEFTBELOW] = cTmpMvPred.m_iDvMcpDispY; … … 6352 6354 if( cTmpMvPred.m_bDvMcp && bTmpIsSkipped ) 6353 6355 { 6354 #if MTK_RELEASE_DV_CONSTRAINT 6356 #if MTK_RELEASE_DV_CONSTRAINT_C0129 6355 6357 aiDvMcpDvCandX[iList][DVFROM_ABOVELEFT] = cTmpMvPred.m_iDvMcpDispX; 6356 6358 aiDvMcpDvCandY[iList][DVFROM_ABOVELEFT] = cTmpMvPred.m_iDvMcpDispY; … … 6380 6382 } 6381 6383 } 6382 #if !MTK_SAIT_TEMPORAL_FIRST_ORDER 6384 #if !MTK_SAIT_TEMPORAL_FIRST_ORDER_C0141_C0097 6383 6385 // copied from getInterMergeCand() 6384 6386 if ( getSlice()->getPPS()->getEnableTMVPFlag() ) … … 6547 6549 Int iTStartViewIdx = 0; 6548 6550 UInt uiPartIdxRB, uiBRIdx; 6551 #if !MTK_SIMPLIFY_DVTC_C0135 6549 6552 Int uiViewIdxCurr= getSlice()->getViewId(); 6553 #endif 6550 6554 UInt uiPartIdxCenter; 6551 6555 xDeriveCenterIdx( eCUMode, uiPartIdx, uiPartIdxCenter ); … … 6557 6561 uiBRIdx = uiPartIdxLT; 6558 6562 UInt uiAbsPartIdxTmp = g_auiZscanToRaster[uiPartIdxRB]; 6559 #if MTK_SIMPLIFY_DVTC 6563 #if MTK_SIMPLIFY_DVTC_C0135 6560 6564 if (( m_pcPic->getCU(m_uiCUAddr)->getCUPelX() + g_auiRasterToPelX[uiAbsPartIdxTmp] + m_pcPic->getMinCUWidth() )>= m_pcSlice->getSPS()->getPicWidthInLumaSamples() ) 6561 6565 { … … 6579 6583 { 6580 6584 uiBRIdx = g_auiRasterToZscan[ (uiAbsPartIdxTmp + uiNumPartInCUWidth + 1) % m_pcPic->getNumPartInCU() ]; 6581 #if MTK_SIMPLIFY_DVTC 6585 #if MTK_SIMPLIFY_DVTC_C0135 6582 6586 uiLCUnew = -1; 6583 6587 #else … … 6593 6597 { 6594 6598 uiBRIdx = 0; 6595 #if MTK_SIMPLIFY_DVTC 6599 #if MTK_SIMPLIFY_DVTC_C0135 6596 6600 uiLCUnew = -1; 6597 6601 #else … … 6623 6627 if( m_pcSlice->getViewId() == getSlice()->getRefPic( eRefPicList, lpRef)->getViewId() ) 6624 6628 { 6625 #if !MTK_SIMPLIFY_DVTC 6629 #if !MTK_SIMPLIFY_DVTC_C0135 6626 6630 if (uiViewIdxCurr > 1) 6627 6631 { … … 6646 6650 return ; 6647 6651 } 6648 #if !MTK_SIMPLIFY_DVTC 6652 #if !MTK_SIMPLIFY_DVTC_C0135 6649 6653 } 6650 6654 #endif … … 6667 6671 return ; 6668 6672 } 6669 #if !MTK_SIMPLIFY_DVTC 6673 #if !MTK_SIMPLIFY_DVTC_C0135 6670 6674 if(uiViewIdxCurr == 1) 6671 6675 { … … 6708 6712 if( abDvMcpFlag[iList][i]==true ) 6709 6713 { 6710 #if MTK_RELEASE_DV_CONSTRAINT 6714 #if MTK_RELEASE_DV_CONSTRAINT_C0129 6711 6715 TComMv dv( aiDvMcpDvCandX[iList][ i ], aiDvMcpDvCandY[iList][ i ] ); 6712 6716 #else … … 8877 8881 else 8878 8882 { 8879 #if MTK_RELEASE_DV_CONSTRAINT 8883 #if MTK_RELEASE_DV_CONSTRAINT_C0129 8880 8884 Bool bAvailable = pcResidualGenerator->getResidualSamples( this, uiPartIdx, pcYuv, cDisInfo.m_acMvCand[0] 8881 8885 #if QC_SIMPLIFIEDIVRP_M24938 -
branches/HTM-5.1-dev3-Mediatek/source/Lib/TLibCommon/TComDepthMapGenerator.cpp
r247 r249 723 723 cMv.m_bDvMcp = true; 724 724 cMv.m_iDvMcpDispX = pDInfo->m_acMvCand[0].getHor(); 725 #if MTK_RELEASE_DV_CONSTRAINT 725 #if MTK_RELEASE_DV_CONSTRAINT_C0129 726 726 cMv.m_iDvMcpDispY = pDInfo->m_acMvCand[0].getVer(); 727 727 #endif … … 923 923 rcMv.m_bDvMcp = true; 924 924 rcMv.m_iDvMcpDispX = pDInfo->m_acMvCand[0].getHor(); 925 #if MTK_RELEASE_DV_CONSTRAINT 925 #if MTK_RELEASE_DV_CONSTRAINT_C0129 926 926 rcMv.m_iDvMcpDispY = pDInfo->m_acMvCand[0].getVer(); 927 927 #endif -
branches/HTM-5.1-dev3-Mediatek/source/Lib/TLibCommon/TComMv.h
r247 r249 60 60 Bool m_bDvMcp; // is dv-mcp ? 61 61 Int m_iDvMcpDispX; // disparity for dv-mcp 62 #if MTK_RELEASE_DV_CONSTRAINT 62 #if MTK_RELEASE_DV_CONSTRAINT_C0129 63 63 Int m_iDvMcpDispY; // disparity for dv-mcp 64 64 #endif … … 75 75 , m_bDvMcp(false) 76 76 , m_iDvMcpDispX(0) 77 #if MTK_RELEASE_DV_CONSTRAINT 77 #if MTK_RELEASE_DV_CONSTRAINT_C0129 78 78 , m_iDvMcpDispY(0) 79 79 #endif … … 88 88 , m_bDvMcp(false) 89 89 , m_iDvMcpDispX(0) 90 #if MTK_RELEASE_DV_CONSTRAINT 90 #if MTK_RELEASE_DV_CONSTRAINT_C0129 91 91 , m_iDvMcpDispY(0) 92 92 #endif -
branches/HTM-5.1-dev3-Mediatek/source/Lib/TLibCommon/TComResidualGenerator.cpp
r247 r249 220 220 221 221 #if QC_MULTI_DIS_CAN_A0097 222 #if MTK_RELEASE_DV_CONSTRAINT 222 #if MTK_RELEASE_DV_CONSTRAINT_C0129 223 223 Bool 224 224 TComResidualGenerator::getResidualSamples( TComDataCU* pcCU, UInt uiPUIdx, TComYuv* pcYuv, TComMv iDisp … … 253 253 pcCU->getPic()->getPicYuvRec()->getTopLeftSamplePos( pcCU->getAddr(), pcCU->getZorderIdxInCU() + uiPartAddr, iXPos, iYPos ); 254 254 #if QC_MULTI_DIS_CAN_A0097 255 #if MTK_RELEASE_DV_CONSTRAINT 255 #if MTK_RELEASE_DV_CONSTRAINT_C0129 256 256 return getResidualSamples( pcCU->getPic(), (UInt)iXPos, (UInt)iYPos, (UInt)iBlkWidth, (UInt)iBlkHeight, pcYuv, iDisp 257 257 #if QC_SIMPLIFIEDIVRP_M24938 … … 276 276 277 277 #if QC_MULTI_DIS_CAN_A0097 278 #if MTK_RELEASE_DV_CONSTRAINT 278 #if MTK_RELEASE_DV_CONSTRAINT_C0129 279 279 Bool 280 280 TComResidualGenerator::getResidualSamples( TComPic* pcPic, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, TComMv iDisp … … 310 310 #endif 311 311 #if QC_MULTI_DIS_CAN_A0097 312 #if MTK_RELEASE_DV_CONSTRAINT 312 #if MTK_RELEASE_DV_CONSTRAINT_C0129 313 313 xSetPredResidualBlock( pcPic, uiBaseViewId, uiXPos, uiYPos, uiBlkWidth, uiBlkHeight, pcYuv, iDisp 314 314 #if QC_SIMPLIFIEDIVRP_M24938 … … 552 552 553 553 #if QC_MULTI_DIS_CAN_A0097 554 #if MTK_RELEASE_DV_CONSTRAINT 554 #if MTK_RELEASE_DV_CONSTRAINT_C0129 555 555 Void 556 556 TComResidualGenerator::xSetPredResidualBlock( TComPic* pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, TComMv iDisp … … 592 592 //===== get disparity ===== 593 593 #if QC_MULTI_DIS_CAN_A0097 594 #if MTK_RELEASE_DV_CONSTRAINT 594 #if MTK_RELEASE_DV_CONSTRAINT_C0129 595 595 Int iDisparity_y = iDisp.getVer(); 596 596 Int iDisparity = iDisp.getHor(); … … 610 610 Int iYRefPosX0 = Int( uiXPos ) + ( iDisparity >> 2 ); 611 611 Int iYRefPosX1 = iYRefPosX0 + 1; 612 #if MTK_RELEASE_DV_CONSTRAINT 612 #if MTK_RELEASE_DV_CONSTRAINT_C0129 613 613 Int iYMaxPosY = Int( uiPicHeight ) - 1; 614 614 Int iYWeight3 = ( iDisparity_y & 3 ); … … 620 620 Int iSrcStrideY = pcBaseRes->getStride (); 621 621 Int iDesStrideY = pcYuv ->getStride (); 622 #if MTK_RELEASE_DV_CONSTRAINT 622 #if MTK_RELEASE_DV_CONSTRAINT_C0129 623 623 Pel* pSrcSamplesY0= pcBaseRes->getLumaAddr ( 0 ) + iYRefPosY0 * iSrcStrideY; 624 624 Pel* pSrcSamplesY1= pcBaseRes->getLumaAddr ( 0 ) + iYRefPosY1 * iSrcStrideY; … … 636 636 return; 637 637 #endif 638 #if MTK_RELEASE_DV_CONSTRAINT 638 #if MTK_RELEASE_DV_CONSTRAINT_C0129 639 639 for( Int iY = 0; iY < iYHeight; iY++, pSrcSamplesY0 += iSrcStrideY, pSrcSamplesY1 += iSrcStrideY, pDesSamplesY += iDesStrideY ) 640 640 #else … … 646 646 Int iXPic0 = Max( 0, Min( iYMaxPosX, iYRefPosX0 + iX ) ); 647 647 Int iXPic1 = Max( 0, Min( iYMaxPosX, iYRefPosX1 + iX ) ); 648 #if MTK_RELEASE_DV_CONSTRAINT 648 #if MTK_RELEASE_DV_CONSTRAINT_C0129 649 649 Pel Temp1,Temp2; 650 650 Temp1 =( iYWeight0 * pSrcSamplesY0[iXPic0] + iYWeight1 * pSrcSamplesY0[iXPic1] + 2 ) >> 2; … … 664 664 Int iCRefPosX0 = Int( uiXPos >> 1 ) + ( iDisparity >> 3 ); 665 665 Int iCRefPosX1 = iCRefPosX0 + 1; 666 #if MTK_RELEASE_DV_CONSTRAINT 666 #if MTK_RELEASE_DV_CONSTRAINT_C0129 667 667 Int iCMaxPosY = Int( uiPicHeight >> 1 ) - 1; 668 668 Int iCWeight3 = ( iDisparity_y & 7 ); … … 674 674 Int iSrcStrideC = pcBaseRes->getCStride(); 675 675 Int iDesStrideC = pcYuv ->getCStride(); 676 #if MTK_RELEASE_DV_CONSTRAINT 677 Pel* pSrcSamplesU0= pcBaseRes->getCbAddr ( 0 ) + ( i YRefPosY0 >> 1 ) * iSrcStrideC;678 Pel* pSrcSamplesU1= pcBaseRes->getCbAddr ( 0 ) + ( i YRefPosY1 >> 1 ) * iSrcStrideC;679 Pel* pSrcSamplesV0= pcBaseRes->getCrAddr ( 0 ) + ( i YRefPosY0 >> 1 ) * iSrcStrideC;680 Pel* pSrcSamplesV1= pcBaseRes->getCrAddr ( 0 ) + ( i YRefPosY1 >> 1 ) * iSrcStrideC;676 #if MTK_RELEASE_DV_CONSTRAINT_C0129 677 Pel* pSrcSamplesU0= pcBaseRes->getCbAddr ( 0 ) + ( iCRefPosY0 >> 1 ) * iSrcStrideC; 678 Pel* pSrcSamplesU1= pcBaseRes->getCbAddr ( 0 ) + ( iCRefPosY1 >> 1 ) * iSrcStrideC; 679 Pel* pSrcSamplesV0= pcBaseRes->getCrAddr ( 0 ) + ( iCRefPosY0 >> 1 ) * iSrcStrideC; 680 Pel* pSrcSamplesV1= pcBaseRes->getCrAddr ( 0 ) + ( iCRefPosY1 >> 1 ) * iSrcStrideC; 681 681 #else 682 682 Pel* pSrcSamplesU= pcBaseRes->getCbAddr ( 0 ) + ( uiYPos >> 1 ) * iSrcStrideC; … … 685 685 Pel* pDesSamplesU= pcYuv ->getCbAddr (); 686 686 Pel* pDesSamplesV= pcYuv ->getCrAddr (); 687 #if MTK_RELEASE_DV_CONSTRAINT 687 #if MTK_RELEASE_DV_CONSTRAINT_C0129 688 688 for( Int iY = 0; iY < iCHeight; iY++, pSrcSamplesU0 += iSrcStrideC, pSrcSamplesU1 += iSrcStrideC, pDesSamplesU += iDesStrideC, 689 689 pSrcSamplesV0 += iSrcStrideC, pSrcSamplesV1 += iSrcStrideC, pDesSamplesV += iDesStrideC ) … … 697 697 Int iXPic0 = Max( 0, Min( iCMaxPosX, iCRefPosX0 + iX ) ); 698 698 Int iXPic1 = Max( 0, Min( iCMaxPosX, iCRefPosX1 + iX ) ); 699 #if MTK_RELEASE_DV_CONSTRAINT 699 #if MTK_RELEASE_DV_CONSTRAINT_C0129 700 700 Pel Temp1,Temp2; 701 701 Temp1 =( iCWeight0 * pSrcSamplesU0[iXPic0] + iCWeight1 * pSrcSamplesU0[iXPic1] + 4 ) >> 3; 702 702 Temp2 =( iCWeight0 * pSrcSamplesU1[iXPic0] + iCWeight1 * pSrcSamplesU1[iXPic1] + 4 ) >> 3; 703 pDesSamplesU[iX] = ( i YWeight2 * Temp1 + iYWeight3 * Temp2 + 2 ) >> 2;703 pDesSamplesU[iX] = ( iCWeight2 * Temp1 + iCWeight3 * Temp2 + 2 ) >> 2; 704 704 Temp1 =( iCWeight0 * pSrcSamplesV0[iXPic0] + iCWeight1 * pSrcSamplesV0[iXPic1] + 4 ) >> 3; 705 705 Temp2 =( iCWeight0 * pSrcSamplesV1[iXPic0] + iCWeight1 * pSrcSamplesV1[iXPic1] + 4 ) >> 3; 706 pDesSamplesV[iX] = ( i YWeight2 * Temp1 + iYWeight3 * Temp2 + 2 ) >> 2;706 pDesSamplesV[iX] = ( iCWeight2 * Temp1 + iCWeight3 * Temp2 + 2 ) >> 2; 707 707 #else 708 708 pDesSamplesU[iX] = ( iCWeight0 * pSrcSamplesU[iXPic0] + iCWeight1 * pSrcSamplesU[iXPic1] + 4 ) >> 3; -
branches/HTM-5.1-dev3-Mediatek/source/Lib/TLibCommon/TComResidualGenerator.h
r247 r249 70 70 71 71 #if QC_MULTI_DIS_CAN_A0097 72 #if MTK_RELEASE_DV_CONSTRAINT 72 #if MTK_RELEASE_DV_CONSTRAINT_C0129 73 73 Bool getResidualSamples ( TComDataCU* pcCU, UInt uiPUIdx, TComYuv* pcYuv, TComMv iDisp_x 74 74 #if QC_SIMPLIFIEDIVRP_M24938 … … 114 114 Void xClearResidual ( TComYuv* pcCUResidual, UInt uiAbsPartIdx, UInt uiWidth, UInt uiHeight ); 115 115 #if QC_MULTI_DIS_CAN_A0097 116 #if MTK_RELEASE_DV_CONSTRAINT 116 #if MTK_RELEASE_DV_CONSTRAINT_C0129 117 117 Void xSetPredResidualBlock ( TComPic* pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, TComMv iDisp 118 118 #if QC_SIMPLIFIEDIVRP_M24938 -
branches/HTM-5.1-dev3-Mediatek/source/Lib/TLibCommon/TypeDef.h
r247 r249 143 143 #define DV_DERIVATION_PARALLEL_B0096 1 // JCT3V-B0096, enable parallel derivation of disparity vector 144 144 #define QC_SIMPLE_NBDV_B0047 1 // JCT3V-B0047 145 #define MTK_SAIT_TEMPORAL_FIRST_ORDER 1 // JCT3V-C00141/C0097146 #define MTK_SIMPLIFY_DVTC 1 // JCT3V-C00135147 #define MTK_RELEASE_DV_CONSTRAINT 1 // JCT3V-C00129145 #define MTK_SAIT_TEMPORAL_FIRST_ORDER_C0141_C0097 1 // JCT3V-C0141/C0097 146 #define MTK_SIMPLIFY_DVTC_C0135 1 // JCT3V-C0135 147 #define MTK_RELEASE_DV_CONSTRAINT_C0129 0 // JCT3V-C0129 148 148 ///// ***** MOTION PARAMETER INHERITANCE ********* 149 149 #define HHI_MPI 1 // motion parameter inheritance from texture picture for depth map coding
Note: See TracChangeset for help on using the changeset viewer.