Changeset 522 in 3DVCSoftware for branches/HTM-DEV-0.3-dev2/source
- Timestamp:
- 5 Jul 2013, 23:54:00 (11 years ago)
- Location:
- branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComDataCU.cpp
r519 r522 2674 2674 iRefListIdY = 1 - iRefListIdX; 2675 2675 pcMvFieldNeighbours[(iCount<<1)+iRefListIdX].setMvField( pDInfo->m_acDoNBDV, i ); 2676 #if H_3D_NBDV 2677 pcMvFieldNeighbours[(iCount<<1)+iRefListIdX].getMv().setIDVFlag (false); 2678 #endif 2676 2679 } 2677 2680 } … … 2693 2696 predFlag[iRefListIdY] = 1; 2694 2697 pcMvFieldNeighbours[(iCount<<1)+iRefListIdY].setMvField( pDInfo->m_acDoNBDV, i ); 2698 #if H_3D_NBDV 2699 pcMvFieldNeighbours[(iCount<<1)+iRefListIdY].getMv().setIDVFlag (false); 2700 #endif 2695 2701 } 2696 2702 } … … 2801 2807 //pcMvFieldNeighbours[iCount<<1].setMvField(cMvPred,pcMvFieldNeighbours[iCount<<1].getRefIdx()); 2802 2808 #if H_3D_CLEANUPS //Notes from QC: for BVSP coded blocks, the reference index shall not be equal to -1 due to the adoption of JCT3V-D0191 2809 #if !H_3D_VSP_FIX 2803 2810 pcMvFieldNeighbours[iCount<<1].setMvField(cMvPred,pcMvFieldNeighbours[iCount<<1].getRefIdx()); 2811 #else 2812 if ( pcTextureCU->getVSPFlag( uiPartIdxCenter ) != 0 ) // Texture coded using VSP mode 2813 { 2814 for ( Int i = 0; i < m_pcSlice->getNumRefIdx( REF_PIC_LIST_0 ); i++ ) 2815 { 2816 if (m_pcSlice->getRefPOC( REF_PIC_LIST_0, i ) == m_pcSlice->getPOC()) 2817 { 2818 pcMvFieldNeighbours[ iCount<<1 ].setMvField(cMvPred, i); 2819 break; 2820 } 2821 } 2822 } 2823 #endif 2804 2824 #else 2805 2825 if (pcMvFieldNeighbours[iCount<<1].getRefIdx()<0) … … 2831 2851 #endif 2832 2852 //pcMvFieldNeighbours[(iCount<<1)+1].setMvField(cMvPred,pcMvFieldNeighbours[(iCount<<1)+1].getRefIdx()); 2833 #if H_3D_CLEANUPS 2853 #if H_3D_CLEANUPS //Notes from QC: for BVSP coded blocks, the reference index shall not be equal to -1 due to the adoption of JCT3V-D0191 2854 #if !H_3D_VSP_FIX 2834 2855 pcMvFieldNeighbours[(iCount<<1)+1].setMvField(cMvPred,pcMvFieldNeighbours[(iCount<<1)+1].getRefIdx()); 2856 #else 2857 if ( pcTextureCU->getVSPFlag( uiPartIdxCenter ) != 0 ) // Texture coded using VSP mode 2858 { 2859 for ( Int i = 0; i < m_pcSlice->getNumRefIdx( REF_PIC_LIST_1 ); i++ ) 2860 { 2861 if (m_pcSlice->getRefPOC( REF_PIC_LIST_1, i ) == m_pcSlice->getPOC()) 2862 { 2863 pcMvFieldNeighbours[ (iCount<<1)+1 ].setMvField(cMvPred, i); 2864 break; 2865 } 2866 } 2867 } 2868 #endif 2835 2869 #else 2836 2870 if (pcMvFieldNeighbours[(iCount<<1)+1].getRefIdx()<0) … … 2853 2887 { 2854 2888 #endif 2889 #if H_3D_VSP_FIX 2890 if ( pcTextureCU->getVSPFlag( uiPartIdxCenter ) == 0 ) // MERL Question: When texture coded using nonVSP mode???????? 2891 { 2892 #endif 2855 2893 #if H_3D_NBDV 2856 2894 pcMvFieldNeighbours[iCount<<1 ].getMv().setIDVFlag (false); … … 2862 2900 } 2863 2901 iCount ++; 2902 #if H_3D_VSP_FIX 2903 } 2904 // else 2905 // assert(0); // MERL Question: Should the assert be kept??? 2906 #endif 2864 2907 #if !H_3D_CLEANUPS 2865 2908 } … … 4899 4942 Int refViewIdx = pcTmpCU->getSlice()->getRefPic(eRefPicList, refId)->getViewIndex(); 4900 4943 if (refViewIdx != m_pcSlice->getViewIndex()) 4901 { 4944 { 4902 4945 clipMv(cMvPred); 4903 4946 pNbDvInfo->m_acNBDV = cMvPred; … … 4919 4962 return true; 4920 4963 } 4964 #if 0 // H_3D_VSP // MERL: To be confirmed 4965 else if ( bSearchForMvpDv && (cMvPred.getIDVFlag() || pcTmpCU->getVSPFlag( uiIdx )) && bTmpIsSkipped ) 4966 #else 4921 4967 else if ( bSearchForMvpDv && cMvPred.getIDVFlag() && bTmpIsSkipped ) 4968 #endif 4922 4969 { 4923 4970 assert( uiMvpDvPos < IDV_CANDS ); -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TypeDef.h
r521 r522 120 120 #define H_3D_VSP_CONSTRAINED 0 121 121 #endif 122 #define H_3D_VSP_FIX 1 // Temporary, to be removed soon 122 123 #endif 123 124
Note: See TracChangeset for help on using the changeset viewer.