Changeset 530 in 3DVCSoftware for branches/HTM-DEV-0.3-dev2/source
- Timestamp:
- 8 Jul 2013, 19:40:03 (11 years ago)
- Location:
- branches/HTM-DEV-0.3-dev2/source/Lib
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComDataCU.cpp
r529 r530 2645 2645 Bool* abCandIsInter, TComMvField* pcMvFieldNeighbours, UChar* puhInterDirNeighbours, Int* vspFlag ) 2646 2646 { 2647 if ( pDInfo->bDV == false || ucVspMergePos != H_3D_VSP_POSITION || 0 == m_pcSlice->getViewIndex() || 2648 !m_pcSlice->getVPS()->getViewSynthesisPredFlag( m_pcSlice->getLayerIdInVps() ) || // Not to add the candidate if VSP is turned off 2649 m_pcSlice->getIsDepth() ) // VSP is disabled for depth layers 2647 if ( ucVspMergePos != H_3D_VSP_POSITION || 0 == m_pcSlice->getViewIndex() || !m_pcSlice->getVPS()->getViewSynthesisPredFlag( m_pcSlice->getLayerIdInVps() ) || m_pcSlice->getIsDepth() ) 2650 2648 return false; 2651 2649 … … 2726 2724 , Int* vspFlag 2727 2725 #endif 2728 , Int& numValidMergeCand 2729 , Int mrgCandIdx 2726 , Int& numValidMergeCand, Int mrgCandIdx 2730 2727 ) 2731 2728 { … … 2831 2828 #endif 2832 2829 //pcMvFieldNeighbours[(iCount<<1)+1].setMvField(cMvPred,pcMvFieldNeighbours[(iCount<<1)+1].getRefIdx()); 2833 #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-D01912830 #if H_3D_CLEANUPS 2834 2831 pcMvFieldNeighbours[(iCount<<1)+1].setMvField(cMvPred,pcMvFieldNeighbours[(iCount<<1)+1].getRefIdx()); 2835 2832 #else -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComDataCU.h
r519 r530 227 227 #if H_3D_VSP 228 228 Bool xAddVspCand( UChar ucVspMergePos, Int mrgCandIdx, DisInfo* pDInfo, Int& iCount, 229 Bool* abCandIsInter, TComMvField* pcMvFieldNeighbours, UChar* puhInterDirNeighbours, Int* vsp IdxTrue);229 Bool* abCandIsInter, TComMvField* pcMvFieldNeighbours, UChar* puhInterDirNeighbours, Int* vspFlag ); 230 230 #endif 231 231 … … 561 561 , Int* vspFlag 562 562 #endif 563 , Int& numValidMergeCand 564 , Int mrgCandIdx = -1 ); 563 , Int& numValidMergeCand, Int mrgCandIdx = -1 ); 565 564 #if H_3D_VSP 566 565 Char* getVSPFlag () { return m_piVSPFlag; } -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComPrediction.cpp
r529 r530 1835 1835 1836 1836 #if H_3D_VSP_CONSTRAINED 1837 1838 1837 Int TComPrediction::xGetConstrainedSize(Int nPbW, Int nPbH, Bool bLuma) 1839 1838 { … … 1853 1852 return iSize; 1854 1853 } 1855 1856 #endif 1857 1858 1859 #endif 1860 1854 #endif // H_3D_VSP_CONSTRAINED 1855 1856 #endif // H_3D_VSP 1861 1857 1862 1858 //! \} -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComPrediction.h
r519 r530 80 80 81 81 #if H_3D_VSP 82 Int* m_pDepthBlock; ///< Local variable, to store a depth block, just to prevent allocate memoryevery time82 Int* m_pDepthBlock; ///< Store a depth block, local variable, to prevent memory allocation every time 83 83 #if H_3D_VSP_CONSTRAINED 84 84 Int xGetConstrainedSize(Int nPbW, Int nPbH, Bool bLuma = true); … … 91 91 // motion compensation functions 92 92 #if H_3D_ARP 93 Void xPredInterUniARP ( TComDataCU* pcCU, UInt uiPartAddr, 93 Void xPredInterUniARP ( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Bool bi=false, TComMvField * pNewMvFiled = NULL ); 94 94 #endif 95 Void xPredInterUni ( TComDataCU* pcCU, UInt uiPartAddr, 96 Void xPredInterBi ( TComDataCU* pcCU, UInt uiPartAddr, 95 Void xPredInterUni ( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Bool bi=false ); 96 Void xPredInterBi ( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, TComYuv*& rpcYuvPred ); 97 97 #if H_3D_VSP 98 Void xPredInterUniVSP ( TComDataCU* pcCU, UInt uiPartAddr, 99 Void xPredInterBiVSP ( TComDataCU* pcCU, UInt uiPartAddr, 98 Void xPredInterUniVSP ( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Bool bi=false ); 99 Void xPredInterBiVSP ( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, TComYuv*& rpcYuvPred ); 100 100 #endif 101 101 … … 119 119 120 120 #if H_3D_VSP 121 Void xPredInterLumaBlkFromDM ( TComPicYuv *refPic, TComPicYuv *pPicBaseDepth, Int* pShiftLUT, TComMv* dv, UInt partAddr, Int posX, Int posY, Int sizeX, Int sizeY, Bool isDepth 122 , TComYuv *&dstPic 123 , Bool bi ); 124 Void xPredInterChromaBlkFromDM( TComPicYuv *refPic, TComPicYuv *pPicBaseDepth, Int* pShiftLUT, TComMv* dv, UInt partAddr, Int posX, Int posY, Int sizeX, Int sizeY, Bool isDepth 125 , TComYuv *&dstPic 126 , Bool bi ); 121 Void xPredInterLumaBlkFromDM ( TComPicYuv *refPic, TComPicYuv *pPicBaseDepth, Int* pShiftLUT, TComMv* dv, UInt partAddr, Int posX, Int posY, Int sizeX, Int sizeY, Bool isDepth, TComYuv *&dstPic, Bool bi ); 122 Void xPredInterChromaBlkFromDM( TComPicYuv *refPic, TComPicYuv *pPicBaseDepth, Int* pShiftLUT, TComMv* dv, UInt partAddr, Int posX, Int posY, Int sizeX, Int sizeY, Bool isDepth, TComYuv *&dstPic, Bool bi ); 127 123 #endif 128 124 -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TypeDef.h
r525 r530 99 99 #define H_3D_NBDV_REF 1 // Depth oriented neighboring block disparity derivation 100 100 // MTK_D0156 101 // MERL_VSP_NBDV_RefVId_Fix_D0166 102 // MERL_C0152 103 #endif 104 #define H_3D_VSP 1 // View syntheis prediction, C0152, D0166, D0092, 101 // MERL_D0166: Reference view selection in NBDV & Bi-VSP 102 // MERL_C0152: Basic VSP 103 #endif 104 #define H_3D_VSP 1 // View synthesis prediction 105 // MERL_C0152: Basic VSP 106 // MERL_D0166: Reference view selection in NBDV & Bi-VSP 105 107 // MTK_D0105, LG_D0139: No VSP for depth 106 // MTK_D0156,107 // MERL_C0152: Basic VSP108 108 // QC_D0191: Clean up 109 109 // LG_D0092: Multiple VSP candidate allowed 110 // MTK_D0105: No VSP for depth. Single depth fetching for DoNBDV and VSP111 //112 //113 110 114 111 #if H_3D_VSP 115 112 #define H_3D_VSP_POSITION 3 // The only supported position 116 #define H_3D_VSP_BLOCKSIZE 1// Supported values: 1, 2, and 4113 #define H_3D_VSP_BLOCKSIZE 4 // Supported values: 1, 2, and 4 117 114 #if H_3D_VSP_BLOCKSIZE == 1 118 115 #define H_3D_VSP_CONSTRAINED 1 // Constrained VSP @ 1x1 -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncGOP.cpp
r521 r530 828 828 } 829 829 830 // A bug fix provided by Gerhard to deal with IBP configuration. NEED futher study831 830 #if H_MV 832 831 if( pcSlice->getIdrPicFlag() )
Note: See TracChangeset for help on using the changeset viewer.