Changeset 289 in 3DVCSoftware for branches/HTM-5.1-dev0/source
- Timestamp:
- 18 Feb 2013, 21:17:26 (12 years ago)
- Location:
- branches/HTM-5.1-dev0/source
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-5.1-dev0/source/App/TAppDecoder/TAppDecTop.cpp
r280 r289 108 108 newPicture[i] = false; 109 109 #if FLEX_CODING_ORDER_M23723 110 #if FIX_FCO_COMP_WARNING111 110 m_fcoOrder[i] = ' '; 112 #else113 m_fcoOrder[i]=NULL;114 #endif115 111 #endif 116 112 -
branches/HTM-5.1-dev0/source/App/TAppEncoder/TAppEncTop.cpp
r287 r289 1184 1184 1185 1185 #if !QC_MVHEVC_B0046 1186 #if FIX_DEL_NULLPTR1187 1186 if ( pcPdmDepthOrg != NULL && m_uiMultiviewMvRegMode ) 1188 #else1189 if ( pcPdmDepthOrg != NULL )1190 #endif1191 1187 { 1192 1188 pcPdmDepthOrg->destroy(); -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/CommonDef.h
r211 r289 148 148 #endif 149 149 150 #if SAIT_IMPROV_MOTION_PRED_M24829&! QC_MULTI_DIS_CAN_A0097150 #if SAIT_IMPROV_MOTION_PRED_M24829&!H3D_NBDV 151 151 #define PDM_AMVP_POS 0 // position of pdm in amvp list (0..3) 152 152 #else -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComDataCU.cpp
r287 r289 3939 3939 #endif 3940 3940 3941 #if LGE_DVMCP_A01263941 #if H3D_NBDV 3942 3942 #if QC_MRG_CANS_B0048 3943 3943 acPdmMv[0].m_bDvMcp = acPdmMv[1].m_bDvMcp = acPdmMv[2].m_bDvMcp = acPdmMv[3].m_bDvMcp = false; … … 3945 3945 acPdmMv[0].m_bDvMcp = acPdmMv[1].m_bDvMcp = false; 3946 3946 #endif 3947 #endif 3947 #endif //H3D_NBDV 3948 3948 3949 3949 #if MTK_MDIVRP_C0138 … … 3951 3951 #endif 3952 3952 3953 #if QC_MULTI_DIS_CAN_A00973953 #if H3D_NBDV 3954 3954 DisInfo cDisInfo; 3955 3955 cDisInfo.iN = 0; 3956 3956 if(!bNoPdmMerge) 3957 3957 { 3958 #if LGE_DVMCP_A0126 3959 #if LGE_IVMP_PARALLEL_MERGE_B0136 && !QC_SIMPLE_NBDV_B0047 3960 getDisMvpCand2(uiPUIdx, uiAbsPartIdx, &cDisInfo, true, REF_PIC_LIST_X, -1, true ); 3961 #else 3962 getDisMvpCand2(uiPUIdx, uiAbsPartIdx, &cDisInfo 3963 #if LGE_IVMP_PARALLEL_MERGE_B0136==QC_SIMPLE_NBDV_B0047 3964 , true 3965 #endif 3958 getDisMvpCandNBDV(uiPUIdx, uiAbsPartIdx, &cDisInfo , true 3966 3959 #if MERL_VSP_C0152 3967 3960 , true 3968 3961 #endif 3969 3962 ); 3970 #endif3971 #else3972 getDisMvpCand (uiPUIdx, uiAbsPartIdx, &cDisInfo );3973 #endif3974 3963 } 3975 3964 if(cDisInfo.iN==0) … … 3996 3985 ); 3997 3986 #endif 3998 #else 3987 #else // H3D_NBDV 3988 Int iPdmDir[2] = {0, 0}; 3999 3989 Int iPdmInterDir = getPdmMergeCandidate( uiPUIdx, aiPdmRefIdx, acPdmMv ); 4000 #endif 3990 iPdmDir[0] = iPdmInterDir; 3991 iPdmDir[1] = iPdmInterDir; 3992 #endif // H3D_NBDV 4001 3993 #if MTK_MDIVRP_C0138 4002 3994 if (m_pcSlice->getSPS()->getMultiviewResPredMode()==1 && iPdmDir[0] && !bNoPdmMerge && cCurPS == SIZE_2Nx2N && bDVAvail) … … 4065 4057 pcMvFieldNeighbours[(iCount<<1)+1 ].setMvField( acPdmMv[ 3 ], aiPdmRefIdx[ 3 ] ); 4066 4058 } 4067 #if LGE_DVMCP_A01264059 #if H3D_NBDV 4068 4060 pcMvFieldNeighbours[iCount<<1 ].getMv().m_bDvMcp = false; 4069 4061 pcMvFieldNeighbours[(iCount<<1)+1].getMv().m_bDvMcp = false; … … 4135 4127 bRemoveSpa = true; 4136 4128 abCandIsInter [ iCount ] = false; 4137 #if FIX_MISUSE_REFINDEX 4129 4138 4130 //reset to the default value for IC, MC 4139 4131 puhInterDirNeighbours[iCount] = 0; … … 4142 4134 pcMvFieldNeighbours[(iCount<<1)+1].setMvField( cZeroMv, NOT_VALID ); 4143 4135 break; 4144 #endif4145 4136 } 4146 4137 } … … 4152 4143 #endif 4153 4144 #endif 4154 #if LGE_DVMCP_A01264145 #if H3D_NBDV 4155 4146 pcMvFieldNeighbours[iCount<<1 ].getMv().m_bDvMcp = false; 4156 4147 pcMvFieldNeighbours[(iCount<<1)+1].getMv().m_bDvMcp = false; … … 4275 4266 bRemoveSpa = true; 4276 4267 abCandIsInter [ iCount ] = false; 4277 #if FIX_MISUSE_REFINDEX 4268 4278 4269 //reset to the default value for IC, MC 4279 4270 puhInterDirNeighbours[iCount] = 0; … … 4282 4273 pcMvFieldNeighbours[(iCount<<1)+1].setMvField( cZeroMv, NOT_VALID ); 4283 4274 break; 4284 #endif4285 4275 } 4286 4276 } … … 4291 4281 #endif 4292 4282 #endif 4293 #if LGE_DVMCP_A01264283 #if H3D_NBDV 4294 4284 pcMvFieldNeighbours[iCount<<1 ].getMv().m_bDvMcp = false; 4295 4285 pcMvFieldNeighbours[(iCount<<1)+1].getMv().m_bDvMcp = false; … … 4401 4391 } 4402 4392 #endif 4403 #if LGE_DVMCP_A01264393 #if H3D_NBDV 4404 4394 pcMvFieldNeighbours[iCount<<1 ].getMv().m_bDvMcp = false; 4405 4395 pcMvFieldNeighbours[(iCount<<1)+1].getMv().m_bDvMcp = false; … … 4482 4472 bRemoveSpa = true; 4483 4473 abCandIsInter [ iCount ] = false; 4484 #if FIX_MISUSE_REFINDEX4485 4474 //reset to the default value for IC, MC 4486 4475 puhInterDirNeighbours[iCount] = 0; … … 4489 4478 pcMvFieldNeighbours[(iCount<<1)+1].setMvField( cZeroMv, NOT_VALID ); 4490 4479 break; 4491 #endif4492 4480 } 4493 4481 } 4494 4482 if(!bRemoveSpa) 4495 4483 { 4496 #if LGE_DVMCP_A01264484 #if H3D_NBDV 4497 4485 pcMvFieldNeighbours[iCount<<1 ].getMv().m_bDvMcp = false; 4498 4486 pcMvFieldNeighbours[(iCount<<1)+1].getMv().m_bDvMcp = false; … … 4567 4555 } 4568 4556 #endif 4569 #if LGE_DVMCP_A01264557 #if H3D_NBDV 4570 4558 pcMvFieldNeighbours[iCount<<1 ].getMv().m_bDvMcp = false; 4571 4559 pcMvFieldNeighbours[(iCount<<1)+1].getMv().m_bDvMcp = false; … … 4684 4672 } 4685 4673 #endif 4686 #if LGE_DVMCP_A01264674 #if H3D_NBDV 4687 4675 pcMvFieldNeighbours[iCount<<1 ].getMv().m_bDvMcp = false; 4688 4676 pcMvFieldNeighbours[(iCount<<1)+1].getMv().m_bDvMcp = false; … … 4860 4848 #endif 4861 4849 } 4862 #if LGE_DVMCP_A01264850 #if H3D_NBDV 4863 4851 pcMvFieldNeighbours[uiArrayAddr<<1 ].getMv().m_bDvMcp = false; 4864 4852 pcMvFieldNeighbours[(uiArrayAddr<<1)+1].getMv().m_bDvMcp = false; … … 5356 5344 return m_pcSlice->getSPS()->getAMVPMode(m_puhDepth[uiIdx]); 5357 5345 } 5358 #if QC_MULTI_DIS_CAN_A00975346 #if H3D_NBDV 5359 5347 /** construct a list of disparity motion vectors from the neighbouring PUs **/ 5360 5348 Void TComDataCU::getDisMvpCand ( UInt uiPartIdx, UInt uiPartAddr,DisInfo* pDInfo ) … … 5793 5781 #endif 5794 5782 5795 #if LGE_DVMCP_A0126 5796 #if QC_SIMPLE_NBDV_B0047 5797 Void TComDataCU::getDisMvpCand2( UInt uiPartIdx, UInt uiPartAddr,DisInfo* pDInfo 5798 #if LGE_IVMP_PARALLEL_MERGE_B0136 5799 , Bool bParMerge 5800 #endif 5783 #if H3D_NBDV 5784 Void TComDataCU::getDisMvpCandNBDV( UInt uiPartIdx, UInt uiPartAddr,DisInfo* pDInfo , Bool bParMerge 5801 5785 #if MERL_VSP_C0152 5802 5786 , Bool bDepthRefine 5803 5787 #endif 5804 #else5805 Void TComDataCU::getDisMvpCand2( UInt uiPartIdx, UInt uiPartAddr,DisInfo* pDInfo, Bool bMerge, RefPicList eRefPicList0, Int iRefIdx05806 #if LGE_IVMP_PARALLEL_MERGE_B01365807 , Bool bParMerge5808 #endif5809 #endif5810 5788 ) 5811 5789 { 5812 5790 PartSize eCUMode = getPartitionSize( uiPartAddr ); 5813 5791 TComDataCU* pcTmpCU = NULL; 5814 #if !QC_SIMPLE_NBDV_B00475815 TComDataCU* pcCULeft = NULL;5816 #endif5817 5792 pDInfo->iN = 0; 5818 5793 … … 5822 5797 UInt uiNumPartInCUWidth = m_pcPic->getNumPartInWidth(); 5823 5798 5824 #if QC_SIMPLE_NBDV_B00475825 5799 const Int iNumofDvMCP = 7; 5826 5800 #if MTK_RELEASE_DV_CONSTRAINT_C0129 … … 5831 5805 #endif 5832 5806 Bool abDvMcpFlag [2][iNumofDvMCP] = {{false,},{false,}}; 5833 #else5834 Int aiDvMcpDvCand[2][7] = {{0,}, {0,}}; // dummy, 5 spatial + 1 temporal5835 Bool abDvMcpFlag [2][7] = {{false,},{false,}};5836 //Int aiRefPOC [2][7] = {{-1,},{-1}}; // debug5837 #endif5838 5807 TComMv cTmpMvPred, cMv; 5839 5808 Bool bTmpIsSkipped = false; 5840 5809 Bool bDvMcpIsFound = false; 5841 #if LGE_DVMCP_MEM_REDUCTION_B0135 5842 Int iLCUAddrDiff = 0; 5843 #endif 5844 5845 #if LGE_IVMP_PARALLEL_MERGE_B0136 5810 Int iLCUAddrDiff = 0; 5811 5846 5812 Int xP, yP, nPSW, nPSH; 5847 5813 if( bParMerge) 5848 5814 this->getPartPosition(uiPartIdx, xP, yP, nPSW, nPSH); 5849 #endif5850 5815 5851 5816 deriveLeftRightTopIdxGeneral( eCUMode, uiPartAddr, uiPartIdx, uiPartIdxLT, uiPartIdxRT ); … … 5856 5821 if ( getSlice()->getPPS()->getEnableTMVPFlag() ) 5857 5822 { 5858 #if !QC_SIMPLE_NBDV_B00475859 UInt uiPUIdx = uiPartIdx;5860 UInt uiAbsPartAddr = uiPartAddr;5861 5862 // col [2]5863 Int iRefIdxSkip[2] = {-1, -1};5864 if( !bMerge )5865 {5866 iRefIdxSkip[ eRefPicList0 ] = iRefIdx0;5867 }5868 else5869 {5870 for (Int i=0; i<2; i++)5871 {5872 RefPicList eRefPicList1 = ( i==1 ? REF_PIC_LIST_1 : REF_PIC_LIST_0 );5873 #if SET_MERGE_TMVP_REFIDX5874 Int iRefIdxTmp;5875 if ( uiPUIdx != 0 )5876 {5877 iRefIdxTmp = 0;5878 }5879 else5880 {5881 iRefIdxTmp = (pcCULeft != NULL) ? pcCULeft->getCUMvField(eRefPicList1)->getRefIdx(uiLeftPartIdx) : -1;5882 }5883 #else5884 Int iRefIdxTmp = (pcCULeft != NULL) ? pcCULeft->getCUMvField(eRefPicList1)->getRefIdx(uiLeftPartIdx) : -1;5885 #endif5886 iRefIdxSkip[i] = (iRefIdxTmp != -1) ? iRefIdxTmp : 0;5887 }5888 }5889 5890 //>> MTK colocated-RightBottom5891 UInt uiPartIdxRB;5892 Int uiLCUIdx = getAddr();5893 eCUMode = getPartitionSize( 0 );5894 5895 deriveRightBottomIdx( eCUMode, uiPUIdx, uiPartIdxRB );5896 5897 UInt uiAbsPartIdxTmp = g_auiZscanToRaster[uiPartIdxRB];5898 //UInt uiNumPartInCUWidth = m_pcPic->getNumPartInWidth();5899 5900 TComMv cColMv;5901 Int iRefIdx;5902 5903 if ( ( m_pcPic->getCU(m_uiCUAddr)->getCUPelX() + g_auiRasterToPelX[uiAbsPartIdxTmp] + m_pcPic->getMinCUWidth() ) >= m_pcSlice->getSPS()->getPicWidthInLumaSamples() ) // image boundary check5904 {5905 uiLCUIdx = -1;5906 }5907 else if ( ( m_pcPic->getCU(m_uiCUAddr)->getCUPelY() + g_auiRasterToPelY[uiAbsPartIdxTmp] + m_pcPic->getMinCUHeight() ) >= m_pcSlice->getSPS()->getPicHeightInLumaSamples() )5908 {5909 uiLCUIdx = -1;5910 }5911 else5912 {5913 if ( ( uiAbsPartIdxTmp % uiNumPartInCUWidth < uiNumPartInCUWidth - 1 ) && // is not at the last column of LCU5914 ( uiAbsPartIdxTmp / uiNumPartInCUWidth < m_pcPic->getNumPartInHeight() - 1 ) ) // is not at the last row of LCU5915 {5916 uiAbsPartAddr = g_auiRasterToZscan[ uiAbsPartIdxTmp + uiNumPartInCUWidth + 1 ];5917 uiLCUIdx = getAddr();5918 }5919 else if ( uiAbsPartIdxTmp % uiNumPartInCUWidth < uiNumPartInCUWidth - 1 ) // is not at the last column of LCU But is last row of LCU5920 {5921 uiAbsPartAddr = g_auiRasterToZscan[ (uiAbsPartIdxTmp + uiNumPartInCUWidth + 1) % m_pcPic->getNumPartInCU() ];5922 uiLCUIdx = -1 ;5923 }5924 else if ( uiAbsPartIdxTmp / uiNumPartInCUWidth < m_pcPic->getNumPartInHeight() - 1 ) // is not at the last row of LCU But is last column of LCU5925 {5926 uiAbsPartAddr = g_auiRasterToZscan[ uiAbsPartIdxTmp + 1 ];5927 uiLCUIdx = getAddr() + 1;5928 }5929 else //is the right bottom corner of LCU5930 {5931 uiAbsPartAddr = 0;5932 uiLCUIdx = -1 ;5933 }5934 }5935 5936 Bool bExistMV = false;5937 UInt uiPartIdxCenter;5938 UInt uiCurLCUIdx = getAddr();5939 xDeriveCenterIdx( eCUMode, uiPUIdx, uiPartIdxCenter );5940 5941 Int iTargetView, iStartView;5942 if( !bMerge ) // AMVP5943 {5944 bExistMV = uiLCUIdx >= 0 && xGetColDisMV( eRefPicList0, iRefIdx0, uiLCUIdx, uiAbsPartAddr, cColMv, iTargetView, iStartView );5945 if( bExistMV == false )5946 {5947 bExistMV = xGetColDisMV( eRefPicList0, iRefIdx0, uiCurLCUIdx, uiPartIdxCenter, cColMv, iTargetView, iStartView );5948 }5949 if( bExistMV ) // DV is found5950 {5951 if( cColMv.m_bDvMcp == false ) //=> DCP, if true => DV-MCP5952 {5953 clipMv(cColMv);5954 pDInfo->m_acMvCand[ pDInfo->iN] = cColMv;5955 pDInfo->m_aVIdxCan[ pDInfo->iN++] = iTargetView;5956 return;5957 }5958 else // DV-MCP5959 {5960 aiDvMcpDvCand[eRefPicList0][DVFROM_COL] = cColMv.getHor();5961 abDvMcpFlag [eRefPicList0][DVFROM_COL] = true;5962 bDvMcpIsFound = true;5963 }5964 }5965 }5966 else // MERGE5967 {5968 iRefIdx = iRefIdxSkip[0];5969 bExistMV = uiLCUIdx >= 0 && xGetColDisMV( REF_PIC_LIST_0, iRefIdx, uiLCUIdx, uiAbsPartAddr, cColMv, iTargetView, iStartView );5970 if( bExistMV == false )5971 {5972 bExistMV = xGetColDisMV( REF_PIC_LIST_0, iRefIdx, uiCurLCUIdx, uiPartIdxCenter, cColMv, iTargetView, iStartView );5973 }5974 if( bExistMV )5975 {5976 if( cColMv.m_bDvMcp == false ) // DCP5977 {5978 clipMv(cColMv);5979 pDInfo->m_acMvCand[ pDInfo->iN] = cColMv;5980 pDInfo->m_aVIdxCan[ pDInfo->iN++] = iTargetView;5981 return;5982 }5983 else { // // DV-MCP5984 aiDvMcpDvCand[0][DVFROM_COL] = cColMv.getHor();5985 abDvMcpFlag [0][DVFROM_COL] = true;5986 bDvMcpIsFound = true;5987 };5988 5989 if ( getSlice()->isInterB() )5990 {5991 iRefIdx = iRefIdxSkip[1];5992 bExistMV = uiLCUIdx >= 0 && xGetColDisMV( REF_PIC_LIST_1, iRefIdx, uiLCUIdx, uiAbsPartAddr, cColMv, iTargetView, iStartView );5993 if( bExistMV == false )5994 {5995 bExistMV = xGetColDisMV( REF_PIC_LIST_1, iRefIdx, uiCurLCUIdx, uiPartIdxCenter, cColMv, iTargetView, iStartView );5996 }5997 if( bExistMV )5998 {5999 if( cColMv.m_bDvMcp == false ) // DCP6000 {6001 clipMv(cColMv);6002 pDInfo->m_acMvCand[ pDInfo->iN] = cColMv;6003 pDInfo->m_aVIdxCan[ pDInfo->iN++] = iTargetView;6004 return;6005 }6006 else // DV-MCP6007 {6008 aiDvMcpDvCand[1][DVFROM_COL] = cColMv.getHor();6009 abDvMcpFlag [1][DVFROM_COL] = true;6010 bDvMcpIsFound = true;6011 };6012 }6013 }6014 }6015 }6016 #else6017 5823 TComMv cColMv; 6018 5824 Int iTargetViewIdx = 0; … … 6178 5984 } 6179 5985 } 6180 #endif6181 5986 } // if TMVP Flag 6182 5987 #endif … … 6187 5992 pcTmpCU = getPULeft(uiIdx, uiPartIdxLB); 6188 5993 #endif 6189 #if DV_DERIVATION_PARALLEL_B00966190 5994 if ( uiPartIdx == 1 && (eCUMode == SIZE_Nx2N || eCUMode == SIZE_nLx2N || eCUMode == SIZE_nRx2N) ) 6191 5995 { 6192 5996 pcTmpCU = NULL; 6193 5997 } 6194 #endif 6195 #if LGE_IVMP_PARALLEL_MERGE_B0136 5998 6196 5999 if (pcTmpCU && bParMerge) 6197 6000 { … … 6201 6004 } 6202 6005 } 6203 #endif6204 6205 #if !QC_SIMPLE_NBDV_B00476206 pcCULeft = pcTmpCU;6207 UInt uiLeftPartIdx = uiIdx;6208 #endif6209 6006 6210 6007 if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ) ) … … 6280 6077 pcTmpCU = getPUAbove(uiIdx, uiPartIdxRT); 6281 6078 #endif 6282 #if DV_DERIVATION_PARALLEL_B00966283 6079 if ( uiPartIdx == 1 && (eCUMode == SIZE_2NxN || eCUMode == SIZE_2NxnU || eCUMode == SIZE_2NxnD) ) 6284 6080 { 6285 6081 pcTmpCU = NULL; 6286 6082 } 6287 #endif 6288 #if LGE_IVMP_PARALLEL_MERGE_B0136 6083 6289 6084 if (pcTmpCU && bParMerge) 6290 6085 { … … 6294 6089 } 6295 6090 } 6296 #endif6297 6091 6298 6092 if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx )) 6299 6093 { 6300 #if LGE_DVMCP_MEM_REDUCTION_B01356301 6094 iLCUAddrDiff = getAddr() - pcTmpCU->getAddr(); 6302 #endif6303 6095 bTmpIsSkipped = pcTmpCU->isSkipped( uiIdx ); 6304 6096 for(Int iList = 0; iList < (getSlice()->isInterB() ? 2: 1); iList ++) … … 6332 6124 return; 6333 6125 } 6334 #if LGE_DVMCP_MEM_REDUCTION_B01356335 6126 else if(iLCUAddrDiff == 0) //MCP, within same LCU 6336 #else6337 else // MCP6338 #endif6339 6127 { 6340 6128 cTmpMvPred = pcTmpCU->getCUMvField(eRefPicList)->getMv(uiIdx); … … 6375 6163 pcTmpCU = getPUAboveRight(uiIdx, uiPartIdxRT, true, true, true); 6376 6164 #endif 6377 #if LGE_IVMP_PARALLEL_MERGE_B0136 6165 6378 6166 if (pcTmpCU && bParMerge) 6379 6167 { … … 6383 6171 } 6384 6172 } 6385 #endif6386 6173 6387 6174 if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ) ) 6388 6175 { 6389 #if LGE_DVMCP_MEM_REDUCTION_B01356390 6176 iLCUAddrDiff = getAddr() - pcTmpCU->getAddr(); 6391 #endif6392 6177 bTmpIsSkipped = pcTmpCU->isSkipped( uiIdx ); 6393 6178 for(Int iList = 0; iList < (getSlice()->isInterB() ? 2: 1); iList ++) … … 6421 6206 return; 6422 6207 } 6423 #if LGE_DVMCP_MEM_REDUCTION_B01356424 6208 else if(iLCUAddrDiff == 0) 6425 #else6426 else // MCP6427 #endif6428 6209 { 6429 6210 cTmpMvPred = pcTmpCU->getCUMvField(eRefPicList)->getMv(uiIdx); … … 6464 6245 pcTmpCU = getPUBelowLeft(uiIdx, uiPartIdxLB); 6465 6246 #endif 6466 #if LGE_IVMP_PARALLEL_MERGE_B0136 6247 6467 6248 if (pcTmpCU && bParMerge) 6468 6249 { … … 6472 6253 } 6473 6254 } 6474 #endif 6255 6475 6256 if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx )) 6476 6257 { … … 6547 6328 pcTmpCU = getPUAboveLeft(uiIdx, uiPartIdxLT, true, true, true); 6548 6329 #endif 6549 #if LGE_IVMP_PARALLEL_MERGE_B0136 6330 6550 6331 if (pcTmpCU && bParMerge) 6551 6332 { … … 6555 6336 } 6556 6337 } 6557 #endif6558 6338 6559 6339 if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx )) 6560 6340 { 6561 #if LGE_DVMCP_MEM_REDUCTION_B01356562 6341 iLCUAddrDiff = getAddr() - pcTmpCU->getAddr(); 6563 #endif 6342 6564 6343 bTmpIsSkipped = pcTmpCU->isSkipped( uiIdx ); 6565 6344 for(Int iList = 0; iList < (getSlice()->isInterB() ? 2: 1); iList ++) … … 6593 6372 return; 6594 6373 } 6595 #if LGE_DVMCP_MEM_REDUCTION_B01356596 6374 else if(iLCUAddrDiff <= 1) 6597 #else6598 else // MCP6599 #endif6600 6375 { 6601 6376 cTmpMvPred = pcTmpCU->getCUMvField(eRefPicList)->getMv(uiIdx); … … 6634 6409 if ( getSlice()->getPPS()->getEnableTMVPFlag() ) 6635 6410 { 6636 #if !QC_SIMPLE_NBDV_B00476637 UInt uiPUIdx = uiPartIdx;6638 UInt uiAbsPartAddr = uiPartAddr;6639 6640 // col [2]6641 Int iRefIdxSkip[2] = {-1, -1};6642 if( !bMerge )6643 {6644 iRefIdxSkip[ eRefPicList0 ] = iRefIdx0;6645 }6646 else6647 {6648 for (Int i=0; i<2; i++)6649 {6650 RefPicList eRefPicList1 = ( i==1 ? REF_PIC_LIST_1 : REF_PIC_LIST_0 );6651 #if SET_MERGE_TMVP_REFIDX6652 Int iRefIdxTmp;6653 if ( uiPUIdx != 0 )6654 {6655 iRefIdxTmp = 0;6656 }6657 else6658 {6659 iRefIdxTmp = (pcCULeft != NULL) ? pcCULeft->getCUMvField(eRefPicList1)->getRefIdx(uiLeftPartIdx) : -1;6660 }6661 #else6662 Int iRefIdxTmp = (pcCULeft != NULL) ? pcCULeft->getCUMvField(eRefPicList1)->getRefIdx(uiLeftPartIdx) : -1;6663 #endif6664 iRefIdxSkip[i] = (iRefIdxTmp != -1) ? iRefIdxTmp : 0;6665 }6666 }6667 6668 //>> MTK colocated-RightBottom6669 UInt uiPartIdxRB;6670 Int uiLCUIdx = getAddr();6671 eCUMode = getPartitionSize( 0 );6672 6673 deriveRightBottomIdx( eCUMode, uiPUIdx, uiPartIdxRB );6674 6675 UInt uiAbsPartIdxTmp = g_auiZscanToRaster[uiPartIdxRB];6676 //UInt uiNumPartInCUWidth = m_pcPic->getNumPartInWidth();6677 6678 TComMv cColMv;6679 Int iRefIdx;6680 6681 if ( ( m_pcPic->getCU(m_uiCUAddr)->getCUPelX() + g_auiRasterToPelX[uiAbsPartIdxTmp] + m_pcPic->getMinCUWidth() ) >= m_pcSlice->getSPS()->getPicWidthInLumaSamples() ) // image boundary check6682 {6683 uiLCUIdx = -1;6684 }6685 else if ( ( m_pcPic->getCU(m_uiCUAddr)->getCUPelY() + g_auiRasterToPelY[uiAbsPartIdxTmp] + m_pcPic->getMinCUHeight() ) >= m_pcSlice->getSPS()->getPicHeightInLumaSamples() )6686 {6687 uiLCUIdx = -1;6688 }6689 else6690 {6691 if ( ( uiAbsPartIdxTmp % uiNumPartInCUWidth < uiNumPartInCUWidth - 1 ) && // is not at the last column of LCU6692 ( uiAbsPartIdxTmp / uiNumPartInCUWidth < m_pcPic->getNumPartInHeight() - 1 ) ) // is not at the last row of LCU6693 {6694 uiAbsPartAddr = g_auiRasterToZscan[ uiAbsPartIdxTmp + uiNumPartInCUWidth + 1 ];6695 uiLCUIdx = getAddr();6696 }6697 else if ( uiAbsPartIdxTmp % uiNumPartInCUWidth < uiNumPartInCUWidth - 1 ) // is not at the last column of LCU But is last row of LCU6698 {6699 uiAbsPartAddr = g_auiRasterToZscan[ (uiAbsPartIdxTmp + uiNumPartInCUWidth + 1) % m_pcPic->getNumPartInCU() ];6700 uiLCUIdx = -1 ;6701 }6702 else if ( uiAbsPartIdxTmp / uiNumPartInCUWidth < m_pcPic->getNumPartInHeight() - 1 ) // is not at the last row of LCU But is last column of LCU6703 {6704 uiAbsPartAddr = g_auiRasterToZscan[ uiAbsPartIdxTmp + 1 ];6705 uiLCUIdx = getAddr() + 1;6706 }6707 else //is the right bottom corner of LCU6708 {6709 uiAbsPartAddr = 0;6710 uiLCUIdx = -1 ;6711 }6712 }6713 6714 Bool bExistMV = false;6715 UInt uiPartIdxCenter;6716 UInt uiCurLCUIdx = getAddr();6717 xDeriveCenterIdx( eCUMode, uiPUIdx, uiPartIdxCenter );6718 6719 Int iTargetView, iStartView;6720 if( !bMerge ) // AMVP6721 {6722 bExistMV = uiLCUIdx >= 0 && xGetColDisMV( eRefPicList0, iRefIdx0, uiLCUIdx, uiAbsPartAddr, cColMv, iTargetView, iStartView );6723 if( bExistMV == false )6724 {6725 bExistMV = xGetColDisMV( eRefPicList0, iRefIdx0, uiCurLCUIdx, uiPartIdxCenter, cColMv, iTargetView, iStartView );6726 }6727 if( bExistMV ) // DV is found6728 {6729 if( cColMv.m_bDvMcp == false ) //=> DCP, if true => DV-MCP6730 {6731 clipMv(cColMv);6732 pDInfo->m_acMvCand[ pDInfo->iN] = cColMv;6733 pDInfo->m_aVIdxCan[ pDInfo->iN++] = iTargetView;6734 return;6735 }6736 else // DV-MCP6737 {6738 aiDvMcpDvCand[eRefPicList0][DVFROM_COL] = cColMv.getHor();6739 abDvMcpFlag [eRefPicList0][DVFROM_COL] = true;6740 bDvMcpIsFound = true;6741 }6742 }6743 }6744 else // MERGE6745 {6746 iRefIdx = iRefIdxSkip[0];6747 bExistMV = uiLCUIdx >= 0 && xGetColDisMV( REF_PIC_LIST_0, iRefIdx, uiLCUIdx, uiAbsPartAddr, cColMv, iTargetView, iStartView );6748 if( bExistMV == false )6749 {6750 bExistMV = xGetColDisMV( REF_PIC_LIST_0, iRefIdx, uiCurLCUIdx, uiPartIdxCenter, cColMv, iTargetView, iStartView );6751 }6752 if( bExistMV )6753 {6754 if( cColMv.m_bDvMcp == false ) // DCP6755 {6756 clipMv(cColMv);6757 pDInfo->m_acMvCand[ pDInfo->iN] = cColMv;6758 pDInfo->m_aVIdxCan[ pDInfo->iN++] = iTargetView;6759 return;6760 }6761 else { // // DV-MCP6762 aiDvMcpDvCand[0][DVFROM_COL] = cColMv.getHor();6763 abDvMcpFlag [0][DVFROM_COL] = true;6764 bDvMcpIsFound = true;6765 };6766 6767 if ( getSlice()->isInterB() )6768 {6769 iRefIdx = iRefIdxSkip[1];6770 bExistMV = uiLCUIdx >= 0 && xGetColDisMV( REF_PIC_LIST_1, iRefIdx, uiLCUIdx, uiAbsPartAddr, cColMv, iTargetView, iStartView );6771 if( bExistMV == false )6772 {6773 bExistMV = xGetColDisMV( REF_PIC_LIST_1, iRefIdx, uiCurLCUIdx, uiPartIdxCenter, cColMv, iTargetView, iStartView );6774 }6775 if( bExistMV )6776 {6777 if( cColMv.m_bDvMcp == false ) // DCP6778 {6779 clipMv(cColMv);6780 pDInfo->m_acMvCand[ pDInfo->iN] = cColMv;6781 pDInfo->m_aVIdxCan[ pDInfo->iN++] = iTargetView;6782 return;6783 }6784 else // DV-MCP6785 {6786 aiDvMcpDvCand[1][DVFROM_COL] = cColMv.getHor();6787 abDvMcpFlag [1][DVFROM_COL] = true;6788 bDvMcpIsFound = true;6789 };6790 }6791 }6792 }6793 }6794 #else6795 6411 TComMv cColMv; 6796 6412 Int iTargetViewIdx = 0; … … 6956 6572 } 6957 6573 } 6958 #endif6959 6574 } // if TMVP Flag 6960 6575 #endif … … 6962 6577 if( bDvMcpIsFound ) // skip dvmcp 6963 6578 { 6964 #if QC_SIMPLE_NBDV_B00476965 6579 for( Int i=1 ; i<iNumofDvMCP-1 ; i++ ) // 5 spatial 6966 #else6967 for( Int i=1 ; i<7 ; i++ ) // 5 spatial + 1 temporal6968 #endif6969 6580 { 6970 6581 for(Int iList = 0; iList < (getSlice()->isInterB() ? 2: 1); iList ++) … … 7040 6651 if (iMVPIdx<=0) 7041 6652 { 7042 // extention part 6653 #if H3D_NBDV 6654 // Extension part 7043 6655 DisInfo cDisInfo; 7044 6656 cDisInfo.iN = 0; 7045 #if LGE_DVMCP_A0126 7046 #if QC_SIMPLE_NBDV_B0047 6657 7047 6658 #if FIX_LGE_IVMP_PARALLEL_MERGE_B0136 7048 getDisMvpCand 2(uiPartIdx, uiPartAddr, &cDisInfo, false6659 getDisMvpCandNBDV(uiPartIdx, uiPartAddr, &cDisInfo, false 7049 6660 #if MERL_VSP_C0152 7050 6661 , true 7051 6662 #endif 7052 6663 ); 7053 #else 7054 getDisMvpCand2(uiPartIdx, uiPartAddr, &cDisInfo); 7055 #endif 7056 #else 7057 getDisMvpCand2(uiPartIdx, uiPartAddr, &cDisInfo, false, eRefPicList, iRefIdx ); 7058 #endif 7059 #else 7060 getDisMvpCand (uiPartIdx, uiPartAddr, &cDisInfo ); 7061 #endif 6664 #else // FIX_LGE_IVMP_PARALLEL_MERGE_B0136 6665 getDisMvpCandNBDV(uiPartIdx, uiPartAddr, &cDisInfo); 6666 #endif // FIX_LGE_IVMP_PARALLEL_MERGE_B0136 7062 6667 if(cDisInfo.iN==0) 7063 6668 { … … 7077 6682 cPdmMvPred[0].m_bDvMcp = cPdmMvPred[1].m_bDvMcp = false; 7078 6683 if(getUnifiedMvPredCan(uiPartIdx, eRefPicList, iRefIdx, paiPdmRefIdx, cPdmMvPred, &cDisInfo, iPdmDir, false)) 7079 #else 6684 #else // QC_AMVP_MRG_UNIFY_IVCAN_C0051 7080 6685 TComMv cPdmMvPred; 7081 #if QC_MULTI_DIS_CAN_A00977082 6686 if( getPdmMvPredDisCan( uiPartIdx, eRefPicList, iRefIdx, cPdmMvPred, &cDisInfo ) ) 7083 #else 6687 #endif // QC_AMVP_MRG_UNIFY_IVCAN_C0051 6688 #else // H3D_NBDV 7084 6689 if( getPdmMvPred( uiPartIdx, eRefPicList, iRefIdx, cPdmMvPred ) ) 7085 6690 #endif 7086 #endif 6691 7087 6692 #if QC_AMVP_MRG_UNIFY_IVCAN_C0051 7088 6693 { … … 7125 6730 } 7126 6731 7127 #if QC_MULTI_DIS_CAN_A0097&& !SHARP_INTERVIEW_DECOUPLE_B01116732 #if H3D_NBDV && !SHARP_INTERVIEW_DECOUPLE_B0111 7128 6733 DisInfo cDisInfo; 7129 6734 cDisInfo.iN = 0; 7130 6735 if(m_pcSlice->getSPS()->getViewId() && m_pcSlice->getSPS()->getMultiviewMvPredMode()) 7131 6736 { 7132 #if LGE_DVMCP_A01267133 #if QC_SIMPLE_NBDV_B00477134 6737 #if FIX_LGE_IVMP_PARALLEL_MERGE_B0136 7135 getDisMvpCand2(uiPartIdx, uiPartAddr, &cDisInfo, false); 7136 #else 7137 getDisMvpCand2(uiPartIdx, uiPartAddr, &cDisInfo); 7138 #endif 7139 #else 7140 getDisMvpCand2(uiPartIdx, uiPartAddr, &cDisInfo, false, eRefPicList, iRefIdx ); 7141 #endif 7142 #else 7143 getDisMvpCand (uiPartIdx, uiPartAddr, &cDisInfo ); 6738 getDisMvpCandNBDV(uiPartIdx, uiPartAddr, &cDisInfo, false); 6739 #else 6740 getDisMvpCandNBDV(uiPartIdx, uiPartAddr, &cDisInfo); 7144 6741 #endif 7145 6742 } … … 7156 6753 // get inter-view mv predictor (at position 0) 7157 6754 TComMv cPdmMvPred; 7158 #if QC_MULTI_DIS_CAN_A00976755 #if H3D_NBDV 7159 6756 if( getPdmMvPredDisCan( uiPartIdx, eRefPicList, iRefIdx, cPdmMvPred, &cDisInfo ) ) 7160 6757 #else … … 7215 6812 // get inter-view mv predictor (at position 1) 7216 6813 TComMv cPdmMvPred; 7217 #if QC_MULTI_DIS_CAN_A00976814 #if H3D_NBDV 7218 6815 if( getPdmMvPredDisCan( uiPartIdx, eRefPicList, iRefIdx, cPdmMvPred, &cDisInfo ) ) 7219 6816 #else … … 7267 6864 // get inter-view mv predictor (at position 2) 7268 6865 TComMv cPdmMvPred; 7269 #if QC_MULTI_DIS_CAN_A00976866 #if H3D_NBDV 7270 6867 if( getPdmMvPredDisCan( uiPartIdx, eRefPicList, iRefIdx, cPdmMvPred, &cDisInfo ) ) 7271 6868 #else … … 7285 6882 { 7286 6883 pInfo->iN = 1; 7287 #if FIX_MISUSE_REFINDEX6884 #if QC_MRG_CANS_B0048 7288 6885 pInfo->m_acMvCand[ 1 ].set(0, 0); 7289 6886 #endif 7290 6887 } 7291 6888 } 7292 #if QC_MULTI_DIS_CAN_A0097&& !SHARP_INTERVIEW_DECOUPLE_B01116889 #if H3D_NBDV && !SHARP_INTERVIEW_DECOUPLE_B0111 7293 6890 if ( getSlice()->getViewId()!=0 && pInfo->iN == 3 ) 7294 6891 { … … 7364 6961 if ( uiLCUIdx >= 0 && xGetColMVP( eRefPicList, uiLCUIdx, uiAbsPartAddr, cColMv, iRefIdx_Col ) ) 7365 6962 { 7366 #if FIX_LGE_DVMCP_B01336963 #if H3D_NBDV 7367 6964 cColMv.m_bDvMcp = false; 7368 6965 #endif … … 7376 6973 if (xGetColMVP( eRefPicList, uiCurLCUIdx, uiPartIdxCenter, cColMv, iRefIdx_Col )) 7377 6974 { 7378 #if FIX_LGE_DVMCP_B01336975 #if H3D_NBDV 7379 6976 cColMv.m_bDvMcp = false; 7380 6977 #endif … … 7389 6986 // get inter-view mv predictor (at position 3) 7390 6987 TComMv cPdmMvPred; 7391 #if QC_MULTI_DIS_CAN_A00976988 #if H3D_NBDV 7392 6989 if( getPdmMvPredDisCan( uiPartIdx, eRefPicList, iRefIdx, cPdmMvPred, &cDisInfo ) ) 7393 6990 #else … … 7586 7183 { 7587 7184 TComMv cMvPred = pcTmpCU->getCUMvField(eRefPicList)->getMv(uiIdx); 7588 #if LGE_DVMCP_A01267185 #if H3D_NBDV 7589 7186 cMvPred.m_bDvMcp = false; 7590 7187 #endif … … 7630 7227 { 7631 7228 TComMv cMvPred = pcTmpCU->getCUMvField(eRefPicList2nd)->getMv(uiIdx); 7632 #if LGE_DVMCP_A01267229 #if H3D_NBDV 7633 7230 cMvPred.m_bDvMcp = false; 7634 7231 #endif … … 7800 7397 { 7801 7398 TComMv cMvPred = pcTmpCU->getCUMvField(eRefPicList2nd)->getMv(uiIdx); 7802 #if LGE_DVMCP_A01267399 #if H3D_NBDV 7803 7400 cMvPred.m_bDvMcp = false; 7804 7401 #endif … … 7845 7442 rcMv = cMvPred.scaleMv( iScale ); 7846 7443 } 7847 #if LGE_DVMCP_A01267444 #if H3D_NBDV 7848 7445 rcMv.m_bDvMcp = false; 7849 7446 #endif … … 7890 7487 rcMv = cMvPred.scaleMv( iScale ); 7891 7488 } 7892 #if LGE_DVMCP_A01267489 #if H3D_NBDV 7893 7490 rcMv.m_bDvMcp = false; 7894 7491 #endif … … 7903 7500 } 7904 7501 7905 #if QC_MULTI_DIS_CAN_A00977502 #if H3D_NBDV 7906 7503 Bool TComDataCU::xGetColDisMV( RefPicList eRefPicList, Int refidx, Int uiCUAddr, Int uiPartUnitIdx, TComMv& rcMv , Int & iTargetViewIdx, Int & iStartViewIdx ) 7907 7504 { 7908 #if LGE_DVMCP_A0126 && !QC_SIMPLE_NBDV_B00477909 Int iDvMcpDispX[2] = {-1,};7910 Bool bDvMcpFlag [2] = { false, };7911 Int iCurrViewIdx = m_pcSlice->getViewId();7912 #endif7913 7914 7505 UInt uiAbsPartAddr = uiPartUnitIdx; 7915 7506 … … 7931 7522 return false; 7932 7523 } 7933 #if LGE_DVMCP_A0126 && !QC_SIMPLE_NBDV_B00477934 Bool bColIsSkipped = pColCU->isSkipped( uiAbsPartAddr );7935 #endif7936 7524 for (Int ilist = 0; ilist < (pColCU->getSlice()->isInterB()? 2:1); ilist++) 7937 7525 { … … 7959 7547 if ( iColViewIdx == iColRefViewIdx ) // temporal vector 7960 7548 { 7961 #if LGE_DVMCP_A0126 && !QC_SIMPLE_NBDV_B00477962 if( iColViewIdx >0 )7963 {7964 TComMv tmpMv = pColCU->getCUMvField(eColRefPicList)->getMv(uiAbsPartAddr);7965 if( tmpMv.m_bDvMcp && bColIsSkipped ) // DV-MCP SKIP7966 {7967 iDvMcpDispX[ilist] = tmpMv.m_iDvMcpDispX;7968 bDvMcpFlag [ilist] = true;7969 iTargetViewIdx = 0; //iColRefViewIdx ;7970 iStartViewIdx = 0; //iCurrViewIdx; //iColViewIdx ;7971 }7972 }7973 #endif7974 7549 continue; 7975 7550 } … … 7977 7552 { 7978 7553 rcMv = pColCU->getCUMvField(eColRefPicList)->getMv(uiAbsPartAddr); 7979 #if LGE_DVMCP_A01267980 7554 rcMv.m_bDvMcp = false; 7981 #endif7982 7555 iTargetViewIdx = iColRefViewIdx ; 7983 7556 iStartViewIdx = iColViewIdx ; … … 7985 7558 } 7986 7559 } 7987 7988 #if LGE_DVMCP_A0126 && !QC_SIMPLE_NBDV_B00477989 for( Int ilist=0 ; ilist<2 ; ilist++ )7990 {7991 if( bDvMcpFlag[ilist] )7992 {7993 rcMv.setHor( iDvMcpDispX[ilist] );7994 rcMv.setVer( 0 );7995 rcMv.m_bDvMcp = true;7996 iTargetViewIdx = 0; //iColRefViewIdx ;7997 iStartViewIdx = iCurrViewIdx; //iColViewIdx ;7998 return true;7999 }8000 }8001 #endif8002 7560 8003 7561 return false; … … 9126 8684 // ------------------------------------------------------------------------------------------------------------------- 9127 8685 #if HHI_INTER_VIEW_MOTION_PRED 9128 #if ! QC_MULTI_DIS_CAN_A00978686 #if !H3D_NBDV 9129 8687 Int 9130 8688 TComDataCU::getPdmMergeCandidate( UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv ) … … 9143 8701 return pcDepthMapGenerator->getPdmMvPred( this, uiPartIdx, eRefPicList, iRefIdx, rcMv, bMerge ); 9144 8702 } 9145 #else 8703 #else //H3D_NBDV 9146 8704 #if QC_AMVP_MRG_UNIFY_IVCAN_C0051 9147 8705 Bool … … 9180 8738 } 9181 8739 #endif 9182 #endif 8740 #endif //H3D_NBDV 9183 8741 9184 8742 Bool … … 9201 8759 TComResidualGenerator* pcResidualGenerator = m_pcSlice->getSPS()->getResidualGenerator(); 9202 8760 ROFRS( pcResidualGenerator, false ); 9203 #if QC_MULTI_DIS_CAN_A00978761 #if H3D_NBDV 9204 8762 DisInfo cDisInfo; 9205 8763 cDisInfo.iN = 0; 9206 8764 PartSize m_peSaved = getPartitionSize( 0 ); 9207 8765 m_pePartSize[0] = SIZE_2Nx2N; 9208 #if LGE_DVMCP_A01269209 #if QC_SIMPLE_NBDV_B00479210 8766 #if FIX_LGE_IVMP_PARALLEL_MERGE_B0136 9211 getDisMvpCand2( 0, 0, &cDisInfo, false ); 9212 #else 9213 getDisMvpCand2( 0, 0, &cDisInfo); 9214 #endif 9215 #else 9216 getDisMvpCand2( 0, 0, &cDisInfo, true ); 9217 #endif 9218 #else 9219 getDisMvpCand ( 0, 0, &cDisInfo ); 8767 getDisMvpCandNBDV( 0, 0, &cDisInfo, false ); 8768 #else 8769 getDisMvpCandNBDV( 0, 0, &cDisInfo); 9220 8770 #endif 9221 8771 if( cDisInfo.iN == 0) -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComDataCU.h
r287 r289 298 298 #endif 299 299 ); 300 #if QC_MULTI_DIS_CAN_A0097300 #if H3D_NBDV 301 301 Bool xGetColDisMV( RefPicList eRefPicList, Int refidx, Int uiCUAddr, Int uiPartUnitIdx, TComMv& rcMv, Int & iTargetViewIdx, Int & iStartViewIdx ); 302 302 #endif … … 568 568 569 569 #if HHI_INTER_VIEW_MOTION_PRED 570 #if ! QC_MULTI_DIS_CAN_A0097570 #if !H3D_NBDV 571 571 Int getPdmMergeCandidate( UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv ); 572 572 Bool getPdmMvPred( UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, TComMv& rcMv, Bool bMerge = false ); 573 #else 573 #else //!H3D_NBDV 574 574 #if QC_AMVP_MRG_UNIFY_IVCAN_C0051 575 575 Bool getUnifiedMvPredCan(UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo, Int* iPdm, Bool bMerge ); 576 #else 576 #else //QC_AMVP_MRG_UNIFY_IVCAN_C0051 577 577 Bool getPdmMvPredDisCan( UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, TComMv& rcMv, DisInfo* pDInfo, Bool bMerge = false ); 578 578 Int getPdmMergeCandidateDisCan( UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo 579 579 #if QC_MRG_CANS_B0048 580 580 , Int* iPdm 581 #endif 581 #endif //QC_MRG_CANS_B0048 582 582 ); 583 #endif 583 #endif //QC_AMVP_MRG_UNIFY_IVCAN_C0051 584 584 Void getDisMvpCand ( UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDInfo ); 585 #if LGE_DVMCP_A0126 586 #if QC_SIMPLE_NBDV_B0047 587 Void getDisMvpCand2( UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDInfo 588 #if LGE_IVMP_PARALLEL_MERGE_B0136 589 , Bool bParMerg = false 590 #endif 585 Void getDisMvpCandNBDV( UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDInfo , Bool bParMerg = false 591 586 #if MERL_VSP_C0152 592 587 , Bool bDepthRefine = false 593 #endif 588 #endif //MERL_VSP_C0152 594 589 ); 595 #else 596 Void getDisMvpCand2( UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDInfo, Bool bMerge=false, RefPicList eRefPicList=REF_PIC_LIST_X, Int iRefIdx=-1 597 #if LGE_IVMP_PARALLEL_MERGE_B0136 598 , Bool bParMerg = false 599 #endif 600 ); 601 #endif 602 #endif 603 604 #endif 590 #endif // !H3D_NBDV 591 592 605 593 606 594 #if MERL_VSP_C0152 -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComDepthMapGenerator.cpp
r280 r289 78 78 m_uiSubSampExpX = uiSubSampExpX; 79 79 m_uiSubSampExpY = uiSubSampExpY; 80 #if ! QC_MULTI_DIS_CAN_A009780 #if !H3D_NBDV 81 81 m_ppcYuv = new TComYuv* [ m_uiMaxDepth ]; 82 82 m_ppcCU = new TComDataCU* [ m_uiMaxDepth ]; … … 92 92 m_cTmpPic.create( uiPicWidth >> m_uiSubSampExpX, uiPicHeight >> m_uiSubSampExpY, uiMaxCUWidth >> m_uiSubSampExpX, uiMaxCUHeight >> m_uiSubSampExpY, uiMaxCUDepth ); 93 93 xSetChroma( &m_cTmpPic, ( 1 << uiOrgBitDepth ) >> 1 ); 94 #endif 94 #endif //!H3D_NBDV 95 95 m_bCreated = true; 96 96 } … … 102 102 { 103 103 m_bCreated = false; 104 #if ! QC_MULTI_DIS_CAN_A0097104 #if !H3D_NBDV 105 105 for( UInt uiDepth = 0; uiDepth < m_uiMaxDepth; uiDepth++ ) 106 106 { … … 117 117 delete [] m_ppcCU; m_ppcCU = 0; 118 118 m_cTmpPic.destroy(); 119 #endif 119 #endif //!H3D_NBDV 120 120 m_uiMaxDepth = 0; 121 121 m_uiOrgDepthBitDepth = 0; … … 377 377 } 378 378 379 #if ! QC_MULTI_DIS_CAN_A0097379 #if !H3D_NBDV 380 380 Bool 381 381 TComDepthMapGenerator::predictDepthMap( TComPic* pcPic ) … … 563 563 } 564 564 565 #endif 565 #endif //!H3D_NBDV 566 566 567 567 #if HHI_INTER_VIEW_MOTION_PRED … … 670 670 if(bMerge || !bInterview) 671 671 { 672 #if QC_MULTI_DIS_CAN_A0097672 #if H3D_NBDV 673 673 Int iCurrPosX, iCurrPosY; 674 674 UInt uiPartAddr; … … 686 686 Int iBaseAbsPartIdx; 687 687 pcBaseRec->getCUAddrAndPartIdx( iBasePosX , iBasePosY , iBaseCUAddr, iBaseAbsPartIdx ); 688 #else 688 #else //H3D_NBDV 689 689 Int iPrdDepth, iCurrPosX, iCurrPosY; 690 690 Bool bAvailable = xGetPredDepth( pcCU, uiPartIdx, iPrdDepth, &iCurrPosX, &iCurrPosY ); … … 699 699 Int iBaseAbsPartIdx; 700 700 pcBaseRec->getCUAddrAndPartIdx( iBasePosX<< m_uiSubSampExpX , iBasePosY<< m_uiSubSampExpY , iBaseCUAddr, iBaseAbsPartIdx ); 701 #endif 701 #endif // H3D_NBDV 702 702 TComDataCU* pcBaseCU = pcBasePic->getCU( iBaseCUAddr ); 703 703 if( pcBaseCU->getPredictionMode( iBaseAbsPartIdx ) == MODE_INTER || pcBaseCU->getPredictionMode( iBaseAbsPartIdx ) == MODE_SKIP ) … … 726 726 abPdmAvailable[ uiCurrRefListId ] = true; 727 727 TComMv cMv(cBaseMvField.getHor(), cBaseMvField.getVer()); 728 #if LGE_DVMCP_A0126728 #if H3D_NBDV 729 729 if( bMerge ) 730 730 { … … 772 772 paiPdmRefIdx [ iRefListId ] = iPdmRefIdx; 773 773 #endif 774 #if QC_MULTI_DIS_CAN_A0097774 #if H3D_NBDV 775 775 TComMv cMv = pDInfo->m_acMvCand[0]; 776 776 cMv.setVer(0); … … 804 804 } 805 805 #else 806 #if QC_MULTI_DIS_CAN_A0097806 #if H3D_NBDV 807 807 Int 808 808 TComDepthMapGenerator::getPdmMergeCandidate( TComDataCU* pcCU, UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo … … 819 819 AOF ( m_bCreated && m_bInit ); 820 820 821 #if ! QC_MULTI_DIS_CAN_A0097821 #if !H3D_NBDV 822 822 ROFRS( m_bPDMAvailable, 0 ); 823 823 #endif … … 864 864 TComPicYuv* pcBaseRec = pcBasePic->getPicYuvRec (); 865 865 866 #if QC_MULTI_DIS_CAN_A0097866 #if H3D_NBDV 867 867 Int iCurrPosX, iCurrPosY; 868 868 UInt uiPartAddr; … … 918 918 paiPdmRefIdx [ uiBaseRefListId ] = iPdmRefIdx; 919 919 TComMv cMv(cBaseMvField.getHor(), cBaseMvField.getVer()); 920 #if LGE_DVMCP_A0126920 #if H3D_NBDV 921 921 cMv.m_bDvMcp = true; 922 922 cMv.m_iDvMcpDispX = pDInfo->m_acMvCand[0].getHor(); … … 924 924 cMv.m_iDvMcpDispY = pDInfo->m_acMvCand[0].getVer(); 925 925 #endif 926 #endif 926 #endif //H3D_NBDV 927 927 pcCU->clipMv( cMv ); 928 928 pacPdmMv [ uiBaseRefListId ] = cMv; … … 956 956 paiPdmRefIdx [ iRefListId ] = iPdmRefIdx; 957 957 #endif 958 #if QC_MULTI_DIS_CAN_A0097958 #if H3D_NBDV 959 959 TComMv cMv = pDInfo->m_acMvCand[0]; 960 960 cMv.setVer(0); … … 997 997 if( pcCU->getSlice()->getRefPOC( eRefPicList, iPdmRefIdx ) != pcCU->getSlice()->getPOC() ) 998 998 { 999 #if QC_MULTI_DIS_CAN_A0097999 #if H3D_NBDV 1000 1000 if( getDisCanPdmMvPred (pcCU, uiPartIdx, eRefPicList, iPdmRefIdx, cMv, pDInfo, true ) ) 1001 1001 #else … … 1023 1023 for( Int iPdmRefIdx = 0; iPdmRefIdx < iNumRefPics; iPdmRefIdx++ ) 1024 1024 { 1025 #if QC_MULTI_DIS_CAN_A00971025 #if H3D_NBDV 1026 1026 if ( getDisCanPdmMvPred (pcCU, uiPartIdx, eRefPicList, iPdmRefIdx, cMv, pDInfo, true ) ) 1027 1027 #else … … 1043 1043 } 1044 1044 1045 #if QC_MULTI_DIS_CAN_A00971045 #if H3D_NBDV 1046 1046 Bool 1047 1047 TComDepthMapGenerator::getDisCanPdmMvPred ( TComDataCU* pcCU, UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, TComMv& rcMv, DisInfo* pDInfo, Bool bMerge ) 1048 1048 { 1049 #if LGE_DVMCP_A01261050 1049 rcMv.m_bDvMcp = false; 1051 #endif1052 1050 AOF ( m_bCreated && m_bInit ); 1053 1051 AOF ( iRefIdx >= 0 ); 1054 1052 AOF ( pcCU ); 1055 //ROFRS( m_bPDMAvailable, false );1056 1053 TComSlice* pcSlice = pcCU->getSlice (); 1057 1054 TComSPS* pcSPS = pcSlice->getSPS(); … … 1080 1077 for( UInt uiBId = 0; uiBId < m_uiCurrViewId; uiBId++ ) 1081 1078 { 1082 UInt uiBaseId = uiBId; //m_auiBaseIdList[ uiBId ];1079 UInt uiBaseId = uiBId; 1083 1080 1084 1081 if (m_uiCurrViewId >1 && uiBaseId ==1 ) … … 1115 1112 { 1116 1113 rcMv.set( cBaseMvField.getHor(), cBaseMvField.getVer() ); 1117 #if LGE_DVMCP_A01261118 1114 // save disparity vector when a merge candidate for IVMP is set as DV-MCP 1119 1115 if( bMerge ) … … 1128 1124 rcMv.m_bDvMcp = false; 1129 1125 } 1130 #endif1131 1126 return true; 1132 1127 } … … 1135 1130 return false; 1136 1131 } 1137 #else 1132 #else // H3D_NBDV 1138 1133 Bool 1139 1134 TComDepthMapGenerator::getPdmMvPred( TComDataCU* pcCU, UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, TComMv& rcMv, Bool bMerge ) … … 1219 1214 return false; 1220 1215 } 1221 #endif 1216 #endif // H3D_NBDV 1222 1217 #endif 1223 1218 … … 1268 1263 1269 1264 1270 #if ! QC_MULTI_DIS_CAN_A00971265 #if !H3D_NBDV 1271 1266 /*=======================================================* 1272 1267 *===== =====* … … 2095 2090 return true; 2096 2091 } 2097 #endif 2092 #endif // H3D_NBDV 2098 2093 2099 2094 #endif // DEPTH_MAP_GENERATION -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComDepthMapGenerator.h
r280 r289 136 136 137 137 Void initViewComponent ( TComPic* pcPic ); 138 #if ! QC_MULTI_DIS_CAN_A0097138 #if !H3D_NBDV 139 139 Bool predictDepthMap ( TComPic* pcPic ); 140 140 Void updateDepthMap ( TComPic* pcPic ); … … 151 151 Int getDisparity ( TComPic* pcPic, Int iPosX, Int iPosY, UInt uiRefViewId ); 152 152 #if HHI_INTER_VIEW_MOTION_PRED 153 #if QC_MULTI_DIS_CAN_A0097153 #if H3D_NBDV 154 154 #if QC_AMVP_MRG_UNIFY_IVCAN_C0051 155 155 Bool getPdmCandidate ( TComDataCU* pcCU, UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo, Int* iPdm, Bool bMerge ); … … 180 180 private: 181 181 // picture operations 182 #if ! QC_MULTI_DIS_CAN_A0097182 #if !H3D_NBDV 183 183 Bool xConvertDepthMapCurr2Ref ( TComPic* pcRef, TComPic* pcCur ); 184 184 Bool xConvertDepthMapRef2Curr ( TComPic* pcCur, TComPic* pcRef ); -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComMotionInfo.h
r189 r289 59 59 60 60 // ==================================================================================================================== 61 #if QC_MULTI_DIS_CAN_A009761 #if H3D_NBDV 62 62 typedef struct _DisCand 63 63 { -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComMv.h
r249 r289 57 57 public: 58 58 59 #if LGE_DVMCP_A012659 #if H3D_NBDV 60 60 Bool m_bDvMcp; // is dv-mcp ? 61 61 Int m_iDvMcpDispX; // disparity for dv-mcp … … 72 72 m_iHor(0), 73 73 m_iVer(0) 74 #if LGE_DVMCP_A012674 #if H3D_NBDV 75 75 , m_bDvMcp(false) 76 76 , m_iDvMcpDispX(0) … … 85 85 m_iHor(iHor), 86 86 m_iVer(iVer) 87 #if LGE_DVMCP_A012687 #if H3D_NBDV 88 88 , m_bDvMcp(false) 89 89 , m_iDvMcpDispX(0) -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComPic.cpp
r280 r289 84 84 m_bReduceBitsQTL = 0; 85 85 #endif 86 #if QC_SIMPLE_NBDV_B004786 #if H3D_NBDV 87 87 m_bRapCheck = false; 88 88 m_eRapRefList = REF_PIC_LIST_0; … … 489 489 } 490 490 } 491 #if QC_SIMPLE_NBDV_B0047491 #if H3D_NBDV 492 492 Bool TComPic::getDisCandRefPictures(Int iColPOC) 493 493 { -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComPic.h
r280 r289 79 79 #if HHI_INTER_VIEW_MOTION_PRED 80 80 TComPicYuv* m_pcOrgDepthMap; // original depth map 81 #if QC_MULTI_DIS_CAN_A009781 #if H3D_NBDV 82 82 Bool m_checked; 83 #endif84 #if QC_SIMPLE_NBDV_B004785 83 UInt m_uiRapRefIdx; 86 84 RefPicList m_eRapRefList; … … 169 167 #if HHI_INTER_VIEW_MOTION_PRED 170 168 TComPicYuv* getOrgDepthMap() { return m_pcOrgDepthMap; } 171 #if QC_MULTI_DIS_CAN_A0097169 #if H3D_NBDV 172 170 Void setCandPicCheckedFlag (Bool bchecked) { m_checked = bchecked; } 173 171 Bool getCandPicCheckedFlag () { return m_checked;} … … 178 176 TComPicYuv* getResidual() { return m_pcResidual; } 179 177 #endif 180 #if QC_SIMPLE_NBDV_B0047178 #if H3D_NBDV 181 179 UInt getRapRefIdx() {return m_uiRapRefIdx;} 182 180 RefPicList getRapRefList() {return m_eRapRefList;} -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComResidualGenerator.cpp
r280 r289 226 226 } 227 227 228 #if QC_MULTI_DIS_CAN_A0097228 #if H3D_NBDV 229 229 #if MTK_RELEASE_DV_CONSTRAINT_C0129 230 230 Bool … … 249 249 #endif 250 250 ) 251 #endif 251 #endif //H3D_NBDV 252 252 { 253 253 AOF( pcCU ); … … 259 259 iBlkHeight = pcCU->getHeight ( 0 ); 260 260 pcCU->getPic()->getPicYuvRec()->getTopLeftSamplePos( pcCU->getAddr(), pcCU->getZorderIdxInCU() + uiPartAddr, iXPos, iYPos ); 261 #if QC_MULTI_DIS_CAN_A0097261 #if H3D_NBDV 262 262 #if MTK_RELEASE_DV_CONSTRAINT_C0129 263 263 return getResidualSamples( pcCU->getPic(), (UInt)iXPos, (UInt)iYPos, (UInt)iBlkWidth, (UInt)iBlkHeight, pcYuv, iDisp … … 279 279 #endif 280 280 ); 281 #endif 281 #endif // H3D_NBDV 282 282 } 283 283 284 #if QC_MULTI_DIS_CAN_A0097284 #if H3D_NBDV 285 285 #if MTK_RELEASE_DV_CONSTRAINT_C0129 286 286 Bool … … 319 319 UInt uiXPosInRefView = uiXPos , uiYPosInRefView = uiYPos; 320 320 #endif 321 #if QC_MULTI_DIS_CAN_A0097321 #if H3D_NBDV 322 322 #if MTK_RELEASE_DV_CONSTRAINT_C0129 323 323 xSetPredResidualBlock( pcPic, uiBaseViewId, uiXPos, uiYPos, uiBlkWidth, uiBlkHeight, pcYuv, iDisp … … 567 567 568 568 569 #if QC_MULTI_DIS_CAN_A0097569 #if H3D_NBDV 570 570 #if MTK_RELEASE_DV_CONSTRAINT_C0129 571 571 Void … … 575 575 #endif 576 576 ) 577 #else 577 #else // MTK_RELEASE_DV_CONSTRAINT_C0129 578 578 Void 579 579 TComResidualGenerator::xSetPredResidualBlock( TComPic* pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, Int iDisp … … 582 582 #endif 583 583 ) 584 #endif 585 #else 584 #endif // MTK_RELEASE_DV_CONSTRAINT_C0129 585 #else // H3D_NBDV 586 586 Void 587 587 TComResidualGenerator::xSetPredResidualBlock( TComPic* pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv … … 590 590 #endif 591 591 ) 592 #endif 592 #endif // H3D_NBDV 593 593 { 594 594 //===== set and check some basic variables ===== … … 607 607 608 608 //===== get disparity ===== 609 #if QC_MULTI_DIS_CAN_A0097609 #if H3D_NBDV 610 610 #if MTK_RELEASE_DV_CONSTRAINT_C0129 611 611 Int iDisparity_y = iDisp.getVer(); … … 614 614 Int iDisparity = iDisp; 615 615 #endif 616 #else 616 #else //H3D_NBDV 617 617 Int iMidPosX = Int( uiXPos + ( ( uiBlkWidth - 1 ) >> 1 ) ) >> m_pcDepthMapGenerator->getSubSampExpX(); 618 618 Int iMidPosY = Int( uiYPos + ( ( uiBlkHeight - 1 ) >> 1 ) ) >> m_pcDepthMapGenerator->getSubSampExpY(); 619 619 Int iDisparity = m_pcDepthMapGenerator->getDisparity( pcPic, iMidPosX, iMidPosY, uiBaseViewId ); 620 #endif 620 #endif //H3D_NBDV 621 621 //===== compensate luma ===== 622 622 Int iYWidth = Int( uiBlkWidth ); -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComResidualGenerator.h
r249 r289 69 69 Void setRecResidualPic ( TComPic* pcPic ); 70 70 71 #if QC_MULTI_DIS_CAN_A009771 #if H3D_NBDV 72 72 #if MTK_RELEASE_DV_CONSTRAINT_C0129 73 73 Bool getResidualSamples ( TComDataCU* pcCU, UInt uiPUIdx, TComYuv* pcYuv, TComMv iDisp_x … … 113 113 Void xClearIntViewResidual ( TComDataCU* pcCU, TComYuv* pcCUResidual, UInt uiPartIdx ); 114 114 Void xClearResidual ( TComYuv* pcCUResidual, UInt uiAbsPartIdx, UInt uiWidth, UInt uiHeight ); 115 #if QC_MULTI_DIS_CAN_A0097115 #if H3D_NBDV 116 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 -
branches/HTM-5.1-dev0/source/Lib/TLibCommon/TypeDef.h
r287 r289 45 45 #define QC_TMVP_IDX_MOD_B0046 1 //JCT3V-B0046: the reference index for temporal merging candidate is set to 0, as defined in HEVC 46 46 #define QC_REM_IDV_B0046 1 //JCT3V-B0046: removal of IDV NAL unit type 47 #define FIX_DEL_NULLPTR 148 #define FIX_MISUSE_REFINDEX 149 #define FIX_FCO_COMP_WARNING 150 47 #define DV_V_RESTRICTION_B0037 1 // JCT3V-B0037 disparity vector vertical range restriction 51 48 … … 69 66 #define FIX_RDO_NEGDIST 1 70 67 #define FIX_DMM_NEG_DIST 1 71 #define FIX_LGE_DVMCP_B0133 1 68 72 69 73 70 // 3rd meeting … … 89 86 #define HHI_DMM_PRED_TEX 1 // depth model modes dependent on texture (inter-component Wedgelet and Contour prediction ) 90 87 #define LGE_EDGE_INTRA_A0070 1 // JCT3V-A0070 88 91 89 #define RWTH_SDC_DLT_B0036 1 // JCT3V-B0036: Simplified Depth Coding + Depth Lookup Table 92 #define HHIQC_DMMFASTSEARCH_B0039 1 // JCT3V-B0039: fast Wedgelet search for DMM modes 1 and 3 90 91 #define HHIQC_DMMFASTSEARCH_B0039 1 // JCT3V-B0039: fast Wedgelet search for DMM modes 1 and 3 // --> weg 92 93 93 #define HHI_DMM_DELTADC_Q1_C0034 1 // JCT3V-C0034: no quantization and fast encoder search for DMM delta DC values 94 94 95 #if HHIQC_DMMFASTSEARCH_B0039 && HHI_DMM_PRED_TEX 95 96 #define LGE_DMM3_SIMP_C0044 1 … … 129 130 130 131 ///// ***** DISPARITY VECTOR DERIVATION ********* 131 #define QC_MULTI_DIS_CAN_A0097 1 // JCT3V-A0097 132 #define LGE_DVMCP_A0126 1 // JCT3V-A0126 133 #define LGE_DVMCP_MEM_REDUCTION_B0135 1 // JCT3V-B0135 134 #define DV_DERIVATION_PARALLEL_B0096 1 // JCT3V-B0096, enable parallel derivation of disparity vector 135 #define QC_SIMPLE_NBDV_B0047 1 // JCT3V-B0047 132 #define H3D_NBDV 1 // Neighboring block disparity derivation 133 // JCT3V-A0097 134 // LGE_DVMCP_A0126 135 // LGE_DVMCP_MEM_REDUCTION_B0135 136 // DV_DERIVATION_PARALLEL_B0096, enable parallel derivation of disparity vector 137 // QC_SIMPLE_NBDV_B0047 138 // FIX_LGE_DVMCP_B0133 139 // LGE_IVMP_PARALLEL_MERGE_B0136, B0136 support of parallel merge/skip in disparity vector derivation 140 136 141 ///// ***** MOTION PARAMETER INHERITANCE ********* 137 142 #define MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 1 // JCT3V-C0137 … … 216 221 217 222 ///// ***** DEFINED PARAMETERS ********* 218 #if QC_MULTI_DIS_CAN_A0097223 #if H3D_NBDV 219 224 #define DIS_CANS 1 220 225 #endif … … 238 243 239 244 240 #if LGE_DVMCP_A0126245 #if H3D_NBDV 241 246 #define DVFROM_LEFTBELOW 1 242 247 #define DVFROM_LEFT 2 … … 271 276 272 277 #define PARALLEL_MERGE 1 //< H0082 parallel merge/skip 273 #define LGE_IVMP_PARALLEL_MERGE_B0136 1 //< B0136 support of parallel merge/skip in disparity vector derivation274 278 #define LOG2_PARALLEL_MERGE_LEVEL_MINUS2 0 //< H0082 parallel merge level 0-> 4x4, 1-> 8x8, 2->16x16, 3->32x32, 4->64x64 275 279 … … 453 457 454 458 #if LGE_EDGE_INTRA_A0070 455 #if HHI_DMM_WEDGE_INTRA &&HHI_DMM_PRED_TEX459 #if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX 456 460 #define EDGE_INTRA_IDX (NUM_INTRA_MODE+NUM_DMM_MODE) 457 #endif // HHI_DMM_WEDGE_INTRA &&HHI_DMM_PRED_TEX461 #endif // HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX 458 462 #if LGE_EDGE_INTRA_DELTA_DC 459 463 #define EDGE_INTRA_DELTA_IDX (EDGE_INTRA_IDX+1) -
branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecGop.cpp
r231 r289 303 303 { 304 304 m_pcDepthMapGenerator->initViewComponent( rpcPic ); 305 #if ! QC_MULTI_DIS_CAN_A0097305 #if !H3D_NBDV 306 306 m_pcDepthMapGenerator->predictDepthMap ( rpcPic ); 307 307 #endif … … 312 312 #endif 313 313 314 #if QC_SIMPLE_NBDV_B0047314 #if H3D_NBDV 315 315 if(pcSlice->getViewId() && pcSlice->getSPS()->getMultiviewMvPredMode()) 316 316 { … … 348 348 #endif 349 349 #if DEPTH_MAP_GENERATION 350 #if ! QC_MULTI_DIS_CAN_A0097350 #if !H3D_NBDV 351 351 // update virtual depth map 352 352 m_pcDepthMapGenerator->updateDepthMap( rpcPic ); -
branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncGOP.cpp
r280 r289 754 754 // init view component and predict virtual depth map 755 755 m_pcDepthMapGenerator->initViewComponent( pcPic ); 756 #if ! QC_MULTI_DIS_CAN_A0097756 #if !H3D_NBDV 757 757 m_pcDepthMapGenerator->predictDepthMap ( pcPic ); 758 758 #endif … … 765 765 #endif 766 766 767 #if QC_SIMPLE_NBDV_B0047767 #if H3D_NBDV 768 768 if(pcSlice->getViewId() && pcSlice->getSPS()->getMultiviewMvPredMode()) 769 769 { … … 830 830 #endif 831 831 #if DEPTH_MAP_GENERATION 832 #if ! QC_MULTI_DIS_CAN_A0097832 #if !H3D_NBDV 833 833 // update virtual depth map 834 834 m_pcDepthMapGenerator->updateDepthMap( pcPic );
Note: See TracChangeset for help on using the changeset viewer.