Changeset 519 in 3DVCSoftware for branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComDataCU.cpp
- Timestamp:
- 4 Jul 2013, 02:34:03 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComDataCU.cpp
r518 r519 2189 2189 setSubPart<Char>( iVSPFlag, m_piVSPFlag, uiAbsPartIdx, uiDepth, uiPartIdx ); 2190 2190 } 2191 2191 2192 #endif 2192 2193 … … 2632 2633 * \param uiCount: The next position to add merge candidate. Will be updated if VSP is successfully added 2633 2634 * \param abCandIsInter: abCandIsInter[iCount] tells that VSP candidate is an Inter candidate, if VSP is successfully added 2634 * \param pcMvFieldNeighbours: Return the "disparity vector". Type 1 MV. To be used to fetch a depth block. A "global" variable 2635 * \param puhInterDirNeighbours: Tells the VSP prediction direction. TODO: The value does NOT matter for VSP, as the direction will be determined based on availability later 2636 * Having it as output is mainly for coding beauty 2635 * \param pcMvFieldNeighbours: Return combined motion information, then stored to a global buffer 2636 * 1) the "disparity vector". Type 1 MV. To be used to fetch a depth block. 2637 * 2) the ref index /list. Type 2 reference picture pointer, typically for texture 2638 * \param puhInterDirNeighbours: Indicate the VSP prediction direction. 2637 2639 * \param vspFlag: vspFlag[iCount] will be set (equal to 1), if VSP is successfully added. To be used to indicate the actual position of the VSP candidate 2638 2640 * … … 2654 2656 return false; 2655 2657 2656 //////////2657 // Code if simply re-writing2658 // if(ucVspMergePos == H_3D_VSPPOSITION && picDepth != NULL && 0 != m_pcSlice->getViewIndex() ) // VSP can be used only when depth is used as input2659 // {2660 // abCandIsInter[iCount] = true;2661 // puhInterDirNeighbours[iCount] = 1;2662 // vspFlag[iCount] = 1;2663 // vspDirTrue[iCount] = 0; // TODO: Check if this is really useful!!!!2664 //2665 // Int iRefIdxList0 = getSlice()->getRefPic(REF_PIC_LIST_0, 0)->getPOC() == getSlice()->getPOC() ? 0 :2666 // (getSlice()->getAlterRefIdx(REF_PIC_LIST_0) == -1 ? NOT_VALID : getSlice()->getAlterRefIdx(REF_PIC_LIST_0));2667 // pcMvFieldNeighbours[iCount<<1].setMvField( pDInfo->m_acDoNBDV, iRefIdxList0 );2668 // if (getSlice()->isInterB())2669 // {2670 // puhInterDirNeighbours[iCount] = xGetVspDirection(uiPUIdx);2671 // Int iRefIdxList1 = getSlice()->getRefPic(REF_PIC_LIST_1, 0)->getPOC() == getSlice()->getPOC() ? 0 :2672 // (getSlice()->getAlterRefIdx(REF_PIC_LIST_1) == -1 ? NOT_VALID : getSlice()->getAlterRefIdx(REF_PIC_LIST_1));2673 // pcMvFieldNeighbours[(iCount<<1)+1].setMvField( pDInfo->m_acDoNBDV, iRefIdxList1 );2674 // }2675 //2676 // if ( mrgCandIdx == iCount )2677 // return true;2678 //2679 // iCount++;2680 // }2681 /////////////2682 2683 2684 2658 Bool refViewAvailFlag = false; 2685 2659 UChar predFlag[2] = {0, 0}; … … 2711 2685 { 2712 2686 TComPic* refPic = m_pcSlice->getRefPic(eRefPicList, i); 2713 if ( refPic->getPOC() == m_pcSlice->getPOC() ) // i s inter-view reference2687 if ( refPic->getPOC() == m_pcSlice->getPOC() ) // inter-view reference 2714 2688 { 2715 2689 Int viewIdxRefInList = refPic->getViewIndex(); … … 2736 2710 return false; 2737 2711 } 2712 2738 2713 #endif 2739 2714 … … 4726 4701 estimateDVFromDM(iTargetViewIdx, uiPartIdx, picDepth, uiPartAddr, &cColMv ); 4727 4702 4728 #if 0 // H_3D_VSP4729 Int refFrmIdx = 0;4730 RefPicList privateRefPicList = REF_PIC_LIST_0;4731 //getRefListAndRefFrmIdx(iTargetViewIdx, privateRefPicList, refFrmIdx);4732 4733 //pDInfo->m_aListIdx[ pDInfo->iN ] = privateRefPicList;4734 //pDInfo->m_aRefIdx [ pDInfo->iN ] = -1-refFrmIdx;4735 assert(pDInfo->m_aRefIdx [ pDInfo->iN ] < 0);4736 #endif //H_3D_VSP4737 4703 pDInfo->m_acDoNBDV = cColMv; 4738 4704 #endif //H_3D_NBDV_REF … … 4844 4810 #endif 4845 4811 pDInfo->m_acDoNBDV = cDispVec; 4846 4847 #if 0 // H_3D_VSP4848 Int refFrmIdx = 0;4849 RefPicList privateRefPicList = REF_PIC_LIST_0 ;4850 getRefListAndRefFrmIdx(0, privateRefPicList, refFrmIdx); // find the reference picture from base view4851 4852 pDInfo->m_aListIdx[ pDInfo->iN ] = privateRefPicList;4853 pDInfo->m_aRefIdx [ pDInfo->iN ] = -1-refFrmIdx;4854 assert(pDInfo->m_aRefIdx [ pDInfo->iN ] < 0);4855 #endif //H_3D_VSP4856 4857 4812 #endif 4858 4813 return true; … … 4875 4830 } 4876 4831 pDInfo->m_acDoNBDV = defaultDV; 4877 4878 #if 0 // H_3D_VSP 4879 Int refFrmIdx = 0; 4880 RefPicList privateRefPicList = REF_PIC_LIST_0 ; 4881 getRefListAndRefFrmIdx(0, privateRefPicList, refFrmIdx); // find the reference picture from base view 4882 4883 pDInfo->m_aListIdx[ pDInfo->iN ] = privateRefPicList; 4884 pDInfo->m_aRefIdx [ pDInfo->iN ] = -1-refFrmIdx; 4885 assert(pDInfo->m_aRefIdx [ pDInfo->iN ] < 0); 4886 #endif 4887 #endif 4832 #endif 4833 4888 4834 return false; 4889 4835 } … … 4968 4914 if (picDepth && bDepthRefine) 4969 4915 estimateDVFromDM(refViewIdx, uiPartIdx, picDepth, uiPartAddr, &cMvPred ); 4970 4971 #if 0 // H_3D_VSP4972 pNbDvInfo->m_aListIdx[ pNbDvInfo->iN ] = eRefPicList;4973 pNbDvInfo->m_aRefIdx [ pNbDvInfo->iN ] = -1-refId;4974 assert(pNbDvInfo->m_aRefIdx [ pNbDvInfo->iN ] < 0);4975 #endif4976 4916 4977 4917 pNbDvInfo->m_acDoNBDV = cMvPred;
Note: See TracChangeset for help on using the changeset viewer.