Changeset 254 in 3DVCSoftware for branches/HTM-5.1-dev2-Mediatek/source
- Timestamp:
- 4 Feb 2013, 02:58:35 (12 years ago)
- Location:
- branches/HTM-5.1-dev2-Mediatek/source/Lib
- Files:
-
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibCommon/TComDataCU.cpp
r244 r254 3624 3624 { 3625 3625 #if HHI_INTER_VIEW_MOTION_PRED 3626 #if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 3627 const Int extraMergeCand = ( ( getSlice()->getIsDepth() || getSlice()->getSPS()->getMultiviewMvPredMode() )? 1 : 0 ); 3628 #else 3626 3629 const Int extraMergeCand = ( getSlice()->getSPS()->getMultiviewMvPredMode() ? 1 : 0 ); 3630 #endif 3627 3631 #endif 3628 3632 … … 3651 3655 deriveLeftRightTopIdxGeneral( cCurPS, uiAbsPartIdx, uiPUIdx, uiPartIdxLT, uiPartIdxRT ); 3652 3656 deriveLeftBottomIdxGeneral( cCurPS, uiAbsPartIdx, uiPUIdx, uiPartIdxLB ); 3657 3658 #if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 3659 if( m_pcSlice->getIsDepth()) 3660 { 3661 UInt uiPartIdxCenter; 3662 xDeriveCenterIdx( cCurPS, uiPUIdx, uiPartIdxCenter ); 3663 TComDataCU *pcTextureCU = m_pcSlice->getTexturePic()->getCU( getAddr() ); 3664 if ( pcTextureCU && !pcTextureCU->isIntra( uiPartIdxCenter ) ) 3665 { 3666 abCandIsInter[iCount] = true; 3667 puhInterDirNeighbours[iCount] = pcTextureCU->getInterDir( uiPartIdxCenter ); 3668 if( ( puhInterDirNeighbours[iCount] & 1 ) == 1 ) 3669 { 3670 pcTextureCU->getMvField( pcTextureCU, uiPartIdxCenter, REF_PIC_LIST_0, pcMvFieldNeighbours[iCount<<1] ); 3671 TComMv cMvPred = pcMvFieldNeighbours[iCount<<1].getMv(); 3672 const TComMv cAdd( 1 << ( 2 - 1 ), 1 << ( 2 - 1 ) ); 3673 cMvPred+=cAdd; 3674 cMvPred>>=2; 3675 clipMv(cMvPred); 3676 pcMvFieldNeighbours[iCount<<1].setMvField(cMvPred,pcMvFieldNeighbours[iCount<<1].getRefIdx()); 3677 } 3678 if ( getSlice()->isInterB() ) 3679 { 3680 if( ( puhInterDirNeighbours[iCount] & 2 ) == 2 ) 3681 { 3682 pcTextureCU->getMvField( pcTextureCU, uiPartIdxCenter, REF_PIC_LIST_1, pcMvFieldNeighbours[(iCount<<1)+1] ); 3683 TComMv cMvPred = pcMvFieldNeighbours[(iCount<<1)+1].getMv(); 3684 const TComMv cAdd( 1 << ( 2 - 1 ), 1 << ( 2 - 1 ) ); 3685 cMvPred+=cAdd; 3686 cMvPred>>=2; 3687 clipMv(cMvPred); 3688 pcMvFieldNeighbours[(iCount<<1)+1].setMvField(cMvPred,pcMvFieldNeighbours[(iCount<<1)+1].getRefIdx()); 3689 } 3690 } 3691 #if SIMP_MRG_PRUN 3692 if ( mrgCandIdx == iCount ) 3693 { 3694 return; 3695 } 3696 #endif 3697 iCount ++; 3698 } 3699 } 3700 #endif 3653 3701 3654 3702 #if HHI_INTER_VIEW_MOTION_PRED -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibCommon/TypeDef.h
r244 r254 115 115 116 116 ///// ***** MOTION PARAMETER INHERITANCE ********* 117 #define HHI_MPI 1 // motion parameter inheritance from texture picture for depth map coding 117 #define MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 1 // JCT3V-C0137 118 #define HHI_MPI 0 // motion parameter inheritance from texture picture for depth map coding 118 119 #if HHI_MPI 119 120 #define FIX_MPI_B0065 1 // JCT3V-B0065, fix the MPI bug when RQT is off -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibDecoder/TDecCAVLC.cpp
r210 r254 1468 1468 #endif 1469 1469 #endif 1470 #if HHI_MPI 1470 #if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068 1471 1471 Void TDecCavlc::parseSPS(TComSPS* pcSPS, Bool bIsDepth) 1472 1472 #else … … 1892 1892 1893 1893 #if LCU_SYNTAX_ALF 1894 #if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 1895 Void TDecCavlc::parseSliceHeader (TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager, AlfCUCtrlInfo &alfCUCtrl, AlfParamSet& alfParamSet, bool isDepth) 1896 #else 1894 1897 Void TDecCavlc::parseSliceHeader (TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager, AlfCUCtrlInfo &alfCUCtrl, AlfParamSet& alfParamSet) 1898 #endif 1895 1899 #else 1896 1900 Void TDecCavlc::parseSliceHeader (TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager, AlfCUCtrlInfo &alfCUCtrl) … … 2495 2499 #elif HHI_MPI 2496 2500 const int iExtraMergeCandidates = sps->getUseMVI() ? 1 : 0; 2501 #elif MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 2502 const int iExtraMergeCandidates = ( (isDepth || sps->getMultiviewMvPredMode()) ) ? 1 : 0; 2497 2503 #else 2498 2504 const int iExtraMergeCandidates = sps->getMultiviewMvPredMode() ? 1 : 0; -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibDecoder/TDecCAVLC.h
r210 r254 118 118 Void parseVPS ( TComVPS* pcVPS ); 119 119 #endif 120 #if HHI_MPI 120 #if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068 121 121 Void parseSPS ( TComSPS* pcSPS, Bool bIsDepth ); 122 122 #else … … 131 131 Void parseAPS ( TComAPS* pAPS ); 132 132 #if LCU_SYNTAX_ALF 133 #if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 134 Void parseSliceHeader ( TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager, AlfCUCtrlInfo &alfCUCtrl, AlfParamSet& alfParamSet, bool isDepth); 135 #else 133 136 Void parseSliceHeader ( TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager, AlfCUCtrlInfo &alfCUCtrl, AlfParamSet& alfParamSet); 137 #endif 134 138 #else 135 139 Void parseSliceHeader ( TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager, AlfCUCtrlInfo &alfCUCtrl ); -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibDecoder/TDecEntropy.h
r244 r254 74 74 virtual Void parseVPS ( TComVPS* pcVPS ) = 0; 75 75 #endif 76 #if HHI_MPI 76 #if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068 77 77 virtual Void parseSPS ( TComSPS* pcSPS, Bool bIsDepth ) = 0; 78 78 #else … … 88 88 89 89 #if LCU_SYNTAX_ALF 90 #if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 91 virtual Void parseSliceHeader ( TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager, AlfCUCtrlInfo &alfCUCtrl, AlfParamSet& alfParamSet, bool isDepth) = 0; 92 #else 90 93 virtual Void parseSliceHeader ( TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager, AlfCUCtrlInfo &alfCUCtrl, AlfParamSet& alfParamSet) = 0; 94 #endif 91 95 #else 92 96 virtual Void parseSliceHeader ( TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager, AlfCUCtrlInfo &alfCUCtrl ) = 0; … … 179 183 #endif 180 184 181 #if HHI_MPI 185 #if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068 182 186 Void decodeSPS ( TComSPS* pcSPS, Bool bIsDepth ) { m_pcEntropyDecoderIf->parseSPS(pcSPS, bIsDepth); } 183 187 #else … … 193 197 194 198 #if LCU_SYNTAX_ALF 199 #if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 200 Void decodeSliceHeader ( TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager, AlfCUCtrlInfo &alfCUCtrl, AlfParamSet& alfParamSet, bool isDepth) { m_pcEntropyDecoderIf->parseSliceHeader(rpcSlice, parameterSetManager, alfCUCtrl, alfParamSet, isDepth); } 201 #else 195 202 Void decodeSliceHeader ( TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager, AlfCUCtrlInfo &alfCUCtrl, AlfParamSet& alfParamSet) { m_pcEntropyDecoderIf->parseSliceHeader(rpcSlice, parameterSetManager, alfCUCtrl, alfParamSet); } 203 #endif 196 204 #else 197 205 Void decodeSliceHeader ( TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager, AlfCUCtrlInfo &alfCUCtrl ) { m_pcEntropyDecoderIf->parseSliceHeader(rpcSlice, parameterSetManager, alfCUCtrl); } -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibDecoder/TDecSbac.h
r210 r254 90 90 Void parseVPS ( TComVPS* pcVPS ) {} 91 91 #endif 92 #if HHI_MPI 92 #if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068 93 93 Void parseSPS ( TComSPS* pcSPS, Bool bIsDepth ) {} 94 94 #else … … 104 104 105 105 #if LCU_SYNTAX_ALF 106 #if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 107 Void parseSliceHeader ( TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager, AlfCUCtrlInfo &alfCUCtrl, AlfParamSet& alfParamSet, bool isDepth) {} 108 #else 106 109 Void parseSliceHeader ( TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager, AlfCUCtrlInfo &alfCUCtrl, AlfParamSet& alfParamSet) {} 110 #endif 107 111 #else 108 112 Void parseSliceHeader ( TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager, AlfCUCtrlInfo &alfCUCtrl ) {} -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibDecoder/TDecTop.cpp
r210 r254 700 700 // ALF CU parameters should be part of the slice header -> needs to be fixed 701 701 #if LCU_SYNTAX_ALF 702 #if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 703 m_cEntropyDecoder.decodeSliceHeader (m_apcSlicePilot, &m_parameterSetManagerDecoder, m_cGopDecoder.getAlfCuCtrlParam(), m_cGopDecoder.getAlfParamSet(),m_apcSlicePilot->getVPS()->getDepthFlag(nalu.m_layerId)); 704 #else 702 705 m_cEntropyDecoder.decodeSliceHeader (m_apcSlicePilot, &m_parameterSetManagerDecoder, m_cGopDecoder.getAlfCuCtrlParam(), m_cGopDecoder.getAlfParamSet()); 706 #endif 703 707 #else 704 708 m_cEntropyDecoder.decodeSliceHeader (m_apcSlicePilot, &m_parameterSetManagerDecoder, m_cGopDecoder.getAlfCuCtrlParam() ); … … 1153 1157 sps->setRPSList(rps); 1154 1158 #endif 1155 #if HHI_MPI 1159 #if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068 1156 1160 m_cEntropyDecoder.decodeSPS( sps, m_isDepth ); 1157 1161 #else -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibEncoder/TEncCavlc.cpp
r210 r254 508 508 #endif 509 509 #endif 510 #if HHI_MPI 510 #if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068 511 511 Void TEncCavlc::codeSPS( TComSPS* pcSPS, Bool bIsDepth ) 512 512 #else … … 1304 1304 #elif HHI_MPI 1305 1305 const int iExtraMergeCandidates = pcSlice->getSPS()->getUseMVI() ? 1 : 0; 1306 #elif MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 1307 const int iExtraMergeCandidates = ( pcSlice->getIsDepth() || pcSlice->getSPS()->getMultiviewMvPredMode() ) ? 1 : 0; 1306 1308 #else 1307 1309 const int iExtraMergeCandidates = pcSlice->getSPS()->getMultiviewMvPredMode() ? 1 : 0; -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibEncoder/TEncCavlc.h
r210 r254 118 118 #endif 119 119 120 #if HHI_MPI 120 #if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068 121 121 Void codeSPS ( TComSPS* pcSPS, Bool bIsDepth ); 122 122 #else -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibEncoder/TEncEntropy.cpp
r244 r254 133 133 #endif 134 134 135 #if HHI_MPI 135 #if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068 136 136 Void TEncEntropy::encodeSPS( TComSPS* pcSPS, Bool bIsDepth ) 137 137 { -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibEncoder/TEncEntropy.h
r244 r254 80 80 #endif 81 81 82 #if HHI_MPI 82 #if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068 83 83 virtual Void codeSPS ( TComSPS* pcSPS, Bool bIsDepth ) = 0; 84 84 #else … … 246 246 #endif 247 247 // SPS 248 #if HHI_MPI 248 #if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068 249 249 Void encodeSPS ( TComSPS* pcSPS, Bool bIsDepth ); 250 250 #else -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibEncoder/TEncGOP.cpp
r210 r254 247 247 std::vector<TComAPS>& vAPS = m_pcEncTop->getAPS(); 248 248 #if VIDYO_VPS_INTEGRATION|QC_MVHEVC_B0046 249 #if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 250 m_pcSliceEncoder->initEncSlice ( pcPic, iPOCLast, uiPOCCurr, iNumPicRcvd, iGOPid, pcSlice, m_pcEncTop->getEncTop()->getVPS(), m_pcEncTop->getSPS(), m_pcEncTop->getPPS(), m_pcEncTop->getIsDepth() ); 251 #else 249 252 m_pcSliceEncoder->initEncSlice ( pcPic, iPOCLast, uiPOCCurr, iNumPicRcvd, iGOPid, pcSlice, m_pcEncTop->getEncTop()->getVPS(), m_pcEncTop->getSPS(), m_pcEncTop->getPPS() ); 253 #endif 250 254 #else 251 255 m_pcSliceEncoder->initEncSlice ( pcPic, iPOCLast, uiPOCCurr, iNumPicRcvd, iGOPid, pcSlice, m_pcEncTop->getSPS(), m_pcEncTop->getPPS() ); … … 906 910 pcSlice->getSPS()->setNumSubstreams( pcSlice->getPPS()->getNumSubstreams() ); 907 911 #endif 908 #if HHI_MPI 912 #if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068 909 913 m_pcEntropyCoder->encodeSPS(pcSlice->getSPS(), m_pcEncTop->getIsDepth()); 910 914 #else -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibEncoder/TEncSbac.cpp
r210 r254 404 404 #endif 405 405 406 #if HHI_MPI 406 #if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068 407 407 Void TEncSbac::codeSPS( TComSPS* pcSPS, Bool bIsDepth ) 408 408 #else -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibEncoder/TEncSbac.h
r210 r254 102 102 #endif 103 103 104 #if HHI_MPI 104 #if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068 105 105 Void codeSPS ( TComSPS* pcSPS, Bool bIsDepth ); 106 106 #else -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibEncoder/TEncSlice.cpp
r210 r254 163 163 */ 164 164 #if VIDYO_VPS_INTEGRATION|QC_MVHEVC_B0046 165 #if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 166 Void TEncSlice::initEncSlice( TComPic* pcPic, Int iPOCLast, UInt uiPOCCurr, Int iNumPicRcvd, Int iGOPid, TComSlice*& rpcSlice, TComVPS * pVPS, TComSPS* pSPS, TComPPS *pPPS, bool isDepth ) 167 #else 165 168 Void TEncSlice::initEncSlice( TComPic* pcPic, Int iPOCLast, UInt uiPOCCurr, Int iNumPicRcvd, Int iGOPid, TComSlice*& rpcSlice, TComVPS * pVPS, TComSPS* pSPS, TComPPS *pPPS ) 169 #endif 166 170 #else 167 171 Void TEncSlice::initEncSlice( TComPic* pcPic, Int iPOCLast, UInt uiPOCCurr, Int iNumPicRcvd, Int iGOPid, TComSlice*& rpcSlice, TComSPS* pSPS, TComPPS *pPPS ) … … 470 474 #elif HHI_MPI 471 475 const int iExtraMergeCandidates = pSPS->getUseMVI() ? 1 : 0; 476 #elif MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 477 const int iExtraMergeCandidates = ( isDepth || pSPS->getMultiviewMvPredMode() ) ? 1 : 0; 472 478 #else 473 479 const int iExtraMergeCandidates = pSPS->getMultiviewMvPredMode() ? 1 : 0; -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibEncoder/TEncSlice.h
r210 r254 111 111 /// preparation of slice encoding (reference marking, QP and lambda) 112 112 #if VIDYO_VPS_INTEGRATION|QC_MVHEVC_B0046 113 #if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 114 Void initEncSlice ( TComPic* pcPic, Int iPOCLast, UInt uiPOCCurr, Int iNumPicRcvd, Int iGOPid, TComSlice*& rpcSlice, TComVPS* pVPS, TComSPS* pSPS, TComPPS *pPPS, bool isDepth ); 115 #else 113 116 Void initEncSlice ( TComPic* pcPic, Int iPOCLast, UInt uiPOCCurr, Int iNumPicRcvd, Int iGOPid, TComSlice*& rpcSlice, TComVPS* pVPS, TComSPS* pSPS, TComPPS *pPPS ); 117 #endif 114 118 #else 115 119 Void initEncSlice ( TComPic* pcPic, Int iPOCLast, UInt uiPOCCurr, Int iNumPicRcvd, Int iGOPid, TComSlice*& rpcSlice, TComSPS* pSPS, TComPPS *pPPS ); -
branches/HTM-5.1-dev2-Mediatek/source/Lib/TLibExtractor/TExtrTop.cpp
r210 r254 81 81 cSPS.setRPSList( &cRPS ); 82 82 #endif 83 #if HHI_MPI 83 #if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068 84 84 #if VIDYO_VPS_INTEGRATION 85 85 m_cEntropyDecoder.decodeSPS( &cSPS, m_cVPS.getDepthFlag(uiLayerId) );
Note: See TracChangeset for help on using the changeset viewer.