Changeset 303 in 3DVCSoftware for branches/HTM-6.0-Mediatek/source/Lib/TLibCommon
- Timestamp:
- 8 Mar 2013, 16:13:08 (12 years ago)
- Location:
- branches/HTM-6.0-Mediatek/source/Lib/TLibCommon
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-6.0-Mediatek/source/Lib/TLibCommon/TComDataCU.cpp
r296 r303 3596 3596 #if H3D_IVMP 3597 3597 #if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 3598 #if FCO_FIX 3599 const Int extraMergeCand = ( ( ( getSlice()->getIsDepth() && m_pcSlice->getTexturePic() ) || getSlice()->getSPS()->getMultiviewMvPredMode() )? 1 : 0 ); 3600 #else 3598 3601 const Int extraMergeCand = ( ( getSlice()->getIsDepth() || getSlice()->getSPS()->getMultiviewMvPredMode() )? 1 : 0 ); 3602 #endif 3599 3603 #else 3600 3604 const Int extraMergeCand = ( getSlice()->getSPS()->getMultiviewMvPredMode() ? 1 : 0 ); … … 3651 3655 if(!bNoPdmMerge) 3652 3656 { 3657 #if FCO_DVP_REFINE_C0132_C0170 3658 if( !getPic()->getDepthCoded() ) 3659 #endif 3653 3660 getDisMvpCandNBDV(uiPUIdx, uiAbsPartIdx, &cDisInfo , true 3654 3661 #if MERL_VSP_C0152 … … 3657 3664 ); 3658 3665 } 3666 #if FCO_DVP_REFINE_C0132_C0170 3667 if(getPic()->getDepthCoded() ) 3668 { 3669 TComPic* pcCodedDepthMap = getPic()->getRecDepthMap(); 3670 TComMv cColMv; 3671 3672 cColMv.setZero(); 3673 estimateDVFromDM(uiPUIdx, pcCodedDepthMap, uiAbsPartIdx, &cColMv, false); 3674 3675 cDisInfo.iN = 1; 3676 cDisInfo.m_acMvCand[0].setHor( cColMv.getHor() ); 3677 cDisInfo.m_acMvCand[0].setVer( cColMv.getVer() ); 3678 cDisInfo.m_aVIdxCan[0] = 0; 3679 3680 } 3681 #endif 3659 3682 if(cDisInfo.iN==0) 3660 3683 { … … 3669 3692 3670 3693 #if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 3694 #if FCO_FIX 3695 if( m_pcSlice->getIsDepth() && m_pcSlice->getTexturePic() ) 3696 #else 3671 3697 if( m_pcSlice->getIsDepth()) 3698 #endif 3672 3699 { 3673 3700 UInt uiPartIdxCenter; … … 6079 6106 DisInfo cDisInfo; 6080 6107 cDisInfo.iN = 0; 6108 #if FCO_DVP_REFINE_C0132_C0170 6109 if( !getPic()->getDepthCoded() ) 6110 #endif 6081 6111 getDisMvpCandNBDV(uiPartIdx, uiPartAddr, &cDisInfo, false 6082 6112 #if MERL_VSP_C0152 … … 6084 6114 #endif 6085 6115 ); 6116 #if FCO_DVP_REFINE_C0132_C0170 6117 if(getPic()->getDepthCoded() ) 6118 { 6119 TComPic* pcCodedDepthMap = getPic()->getRecDepthMap(); 6120 TComMv cColMv; 6121 6122 cColMv.setZero(); 6123 estimateDVFromDM(uiPartIdx, pcCodedDepthMap, uiPartAddr, &cColMv, false); 6124 6125 cDisInfo.iN = 1; 6126 cDisInfo.m_acMvCand[0].setHor( cColMv.getHor() ); 6127 cDisInfo.m_acMvCand[0].setVer( cColMv.getVer() ); 6128 cDisInfo.m_aVIdxCan[0] = 0; 6129 } 6130 #endif 6086 6131 if(cDisInfo.iN==0) 6087 6132 { … … 7921 7966 PartSize m_peSaved = getPartitionSize( 0 ); 7922 7967 m_pePartSize[0] = SIZE_2Nx2N; 7968 #if FCO_DVP_REFINE_C0132_C0170 7969 if(getPic()->getDepthCoded() ) 7970 { 7971 TComPic* pcCodedDepthMap = getPic()->getRecDepthMap(); 7972 TComMv cColMv; 7973 7974 cColMv.setZero(); 7975 estimateDVFromDM(0, pcCodedDepthMap, 0, &cColMv, false); 7976 7977 cDisInfo.iN = 1; 7978 cDisInfo.m_acMvCand[0].setHor( cColMv.getHor() ); 7979 cDisInfo.m_acMvCand[0].setVer( cColMv.getVer() ); 7980 cDisInfo.m_aVIdxCan[0] = 0; 7981 7982 } 7983 else 7984 #endif 7923 7985 getDisMvpCandNBDV( 0, 0, &cDisInfo, false ); 7924 7986 if( cDisInfo.iN == 0) -
branches/HTM-6.0-Mediatek/source/Lib/TLibCommon/TComPic.cpp
r296 r303 59 59 #endif 60 60 #endif 61 #if FCO_DVP_REFINE_C0132_C0170 62 m_bDepthCoded = false; 63 m_pcRecDepthMap = NULL; 64 #endif 61 65 #if H3D_IVMP 62 66 m_pcOrgDepthMap = NULL; -
branches/HTM-6.0-Mediatek/source/Lib/TLibCommon/TComPic.h
r296 r303 73 73 #endif 74 74 75 #if FCO_DVP_REFINE_C0132_C0170 76 Bool m_bDepthCoded; 77 TComPic* m_pcRecDepthMap; 78 #endif 79 75 80 #if LG_ZEROINTRADEPTHRESI_A0087 76 81 Int m_uiIntraPeriod; … … 171 176 Bool getCandPicCheckedFlag () { return m_checked;} 172 177 #endif 178 #endif 179 180 #if FCO_DVP_REFINE_C0132_C0170 181 void setRecDepthMap(TComPic * pRecPic) { m_pcRecDepthMap = pRecPic; } 182 TComPic * getRecDepthMap() { return m_pcRecDepthMap; } 183 void setDepthCoded(Bool flag) { m_bDepthCoded = flag; } 184 Bool getDepthCoded() { return m_bDepthCoded; } 173 185 #endif 174 186 -
branches/HTM-6.0-Mediatek/source/Lib/TLibCommon/TComPrediction.cpp
r296 r303 1434 1434 Int dstStride = dstPic->getStride(); 1435 1435 Int depStride = pPicBaseDepth->getStride(); 1436 1437 1436 Int depthPosX = Clip3(0, widthLuma - size_x - 1, (posX/nTxtPerDepthX) + (mv->getHor()>>2)); 1438 1437 Int depthPosY = Clip3(0, heightLuma- size_y - 1, (posY/nTxtPerDepthY) + (mv->getVer()>>2)); -
branches/HTM-6.0-Mediatek/source/Lib/TLibCommon/TComSlice.cpp
r296 r303 1761 1761 1762 1762 Void 1763 #if FCO_FIX_SPS_CHANGE 1764 TComSPS::initMultiviewSPSDepth( UInt uiViewId, Int iViewOrderIdx, UInt uiCamParPrecision, Bool bCamParSlice, Int** aaiScale, Int** aaiOffset ) 1765 #else 1763 1766 TComSPS::initMultiviewSPSDepth( UInt uiViewId, Int iViewOrderIdx ) 1767 #endif 1764 1768 { 1765 1769 AOT( uiViewId == 0 && iViewOrderIdx != 0 ); … … 1769 1773 m_iViewOrderIdx = iViewOrderIdx; 1770 1774 m_bDepth = true; 1775 #if FCO_FIX_SPS_CHANGE 1776 m_uiCamParPrecision = ( m_uiViewId ? uiCamParPrecision : 0 ); 1777 m_bCamParInSliceHeader = ( m_uiViewId ? bCamParSlice : false ); 1778 #else 1771 1779 m_uiCamParPrecision = 0; 1772 1780 m_bCamParInSliceHeader = false; 1781 #endif 1773 1782 ::memset( m_aaiCodedScale, 0x00, sizeof( m_aaiCodedScale ) ); 1774 1783 ::memset( m_aaiCodedOffset, 0x00, sizeof( m_aaiCodedOffset ) ); 1784 #if FCO_FIX_SPS_CHANGE 1785 #if !QC_MVHEVC_B0046 1786 if( !m_bCamParInSliceHeader ) 1787 { 1788 for( UInt uiBaseViewId = 0; uiBaseViewId < m_uiViewId; uiBaseViewId++ ) 1789 { 1790 m_aaiCodedScale [ 0 ][ uiBaseViewId ] = aaiScale [ uiBaseViewId ][ m_uiViewId ]; 1791 m_aaiCodedScale [ 1 ][ uiBaseViewId ] = aaiScale [ m_uiViewId ][ uiBaseViewId ]; 1792 m_aaiCodedOffset[ 0 ][ uiBaseViewId ] = aaiOffset[ uiBaseViewId ][ m_uiViewId ]; 1793 m_aaiCodedOffset[ 1 ][ uiBaseViewId ] = aaiOffset[ m_uiViewId ][ uiBaseViewId ]; 1794 } 1795 } 1796 #endif 1797 #endif 1798 1775 1799 } 1776 1800 -
branches/HTM-6.0-Mediatek/source/Lib/TLibCommon/TComSlice.h
r296 r303 623 623 624 624 Void initMultiviewSPS ( UInt uiViewId, Int iViewOrderIdx = 0, UInt uiCamParPrecision = 0, Bool bCamParSlice = false, Int** aaiScale = 0, Int** aaiOffset = 0 ); 625 #if FCO_FIX_SPS_CHANGE 626 Void initMultiviewSPSDepth ( UInt uiViewId, Int iViewOrderIdx, UInt uiCamParPrecision = 0, Bool bCamParSlice = false, Int** aaiScale = 0, Int** aaiOffset = 0 ); 627 #else 625 628 Void initMultiviewSPSDepth ( UInt uiViewId, Int iViewOrderIdx ); 629 #endif 626 630 627 631 UInt getViewId () { return m_uiViewId; } -
branches/HTM-6.0-Mediatek/source/Lib/TLibCommon/TypeDef.h
r296 r303 171 171 #if FLEX_CODING_ORDER_M23723 172 172 #define DISABLE_FCO_FOR_VSO 0 // Optional compile settings to disable VSO with FCO. 173 #define FCO_DVP_REFINE_C0132_C0170 0 // depth oriented disparity vector prediction from JCT3V-C0132 and JCT3V-C0170 174 #define FCO_FIX 0 // Bug fix for C0137 and C0152 on FCO 175 #define FCO_FIX_SPS_CHANGE 0 // Sending camera parameters in SPS of depth for depth to disparity conversion used by VSP and DoDVP 176 #else 177 #define DISABLE_FCO_FOR_VSO 0 // Optional compile settings to disable VSO with FCO. 178 #define FCO_DVP_REFINE_C0132_C0170 0 // depth oriented disparity vector prediction from JCT3V-C0132 and JCT3V-C0170 179 #define FCO_FIX 0 // Fixing bugs from HTM 6.0 which 180 #define FCO_FIX_SPS_CHANGE 0 // Fixing bugs from HTM 6.0 which 173 181 #endif 174 182
Note: See TracChangeset for help on using the changeset viewer.