Changeset 280 in 3DVCSoftware for branches/HTM-5.1-dev0/source/Lib/TLibDecoder
- Timestamp:
- 14 Feb 2013, 23:41:41 (12 years ago)
- Location:
- branches/HTM-5.1-dev0/source/Lib/TLibDecoder
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecCAVLC.cpp
r210 r280 1458 1458 } 1459 1459 } 1460 #if INTER_VIEW_VECTOR_SCALING_C0115 1461 READ_FLAG( uiCode, "inter_view_vector_scaling_flag" ); pcVPS->setIVScalingFlag( uiCode ? true:false); 1462 #endif 1460 1463 } 1461 1464 … … 1468 1471 #endif 1469 1472 #endif 1470 #if HHI_MPI 1473 #if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068 1471 1474 Void TDecCavlc::parseSPS(TComSPS* pcSPS, Bool bIsDepth) 1472 1475 #else … … 1892 1895 1893 1896 #if LCU_SYNTAX_ALF 1897 #if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 1898 Void TDecCavlc::parseSliceHeader (TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager, AlfCUCtrlInfo &alfCUCtrl, AlfParamSet& alfParamSet, bool isDepth) 1899 #else 1894 1900 Void TDecCavlc::parseSliceHeader (TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager, AlfCUCtrlInfo &alfCUCtrl, AlfParamSet& alfParamSet) 1901 #endif 1895 1902 #else 1896 1903 Void TDecCavlc::parseSliceHeader (TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager, AlfCUCtrlInfo &alfCUCtrl) … … 2495 2502 #elif HHI_MPI 2496 2503 const int iExtraMergeCandidates = sps->getUseMVI() ? 1 : 0; 2504 #elif MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 2505 const int iExtraMergeCandidates = ( (isDepth || sps->getMultiviewMvPredMode()) ) ? 1 : 0; 2497 2506 #else 2498 2507 const int iExtraMergeCandidates = sps->getMultiviewMvPredMode() ? 1 : 0; -
branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecCAVLC.h
r210 r280 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-dev0/source/Lib/TLibDecoder/TDecCu.cpp
r275 r280 424 424 } 425 425 #endif 426 #if HHI_INTER_VIEW_RESIDUAL_PRED 426 #if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138 427 427 m_pcEntropyDecoder->decodeResPredFlag( pcCU, uiAbsPartIdx, uiDepth, m_ppcCU[uiDepth], 0 ); 428 428 #endif … … 476 476 #endif 477 477 478 #if HHI_INTER_VIEW_RESIDUAL_PRED 478 #if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138 479 479 if( !pcCU->isIntra( uiAbsPartIdx ) ) 480 480 { … … 692 692 m_pcPrediction->motionCompensation( pcCU, m_ppcYuvReco[uiDepth] ); 693 693 #endif 694 #if MTK_MDIVRP_C0138 695 if (pcCU->getMergeFlag(0) && pcCU->getMergeIndex(0)==0 && pcCU->getResPredAvail(0)) 696 { 697 m_pcPrediction->residualPrediction(pcCU, m_ppcYuvReco[uiDepth], m_ppcYuvResPred[uiDepth]); 698 } 699 #endif 700 694 701 #if HHI_MPI 695 702 if( pcCU->getTextureModeDepth( 0 ) != -1 ) … … 697 704 #endif 698 705 699 #if HHI_INTER_VIEW_RESIDUAL_PRED 706 #if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138 700 707 if( pcCU->getResPredFlag( 0 ) ) 701 708 { … … 728 735 { 729 736 #if HHI_INTER_VIEW_RESIDUAL_PRED 737 #if MTK_MDIVRP_C0138 738 if (pcCU->getMergeFlag(0) && pcCU->getMergeIndex(0)==0 && pcCU->getResPredAvail(0)) 739 #else 730 740 if( pcCU->getResPredFlag( 0 ) ) 741 #endif 731 742 { 732 743 m_ppcYuvReco[uiDepth]->clip( pcCU->getWidth( 0 ), pcCU->getHeight( 0 ) ); … … 1079 1090 // reconstruct residual based on mask + DC residuals 1080 1091 Pel apDCResiValues[2]; 1081 //Pel apDCRecoValues[2];1092 Pel apDCRecoValues[2]; 1082 1093 for( UInt ui = 0; ui < uiNumSegments; ui++ ) 1083 1094 { … … 1086 1097 Pel pRecoValue = GetIdx2DepthValue( pPredIdx + pResiIdx ); 1087 1098 1088 //apDCRecoValues[ui] = pRecoValue;1099 apDCRecoValues[ui] = pRecoValue; 1089 1100 apDCResiValues[ui] = pRecoValue - apDCPredValues[ui]; 1090 1101 } -
branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecEntropy.cpp
r231 r280 100 100 } 101 101 102 #if HHI_INTER_VIEW_RESIDUAL_PRED 102 #if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138 103 103 Void 104 104 TDecEntropy::decodeResPredFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, TComDataCU* pcSubCU, UInt uiPUIdx ) … … 341 341 pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, uiDepth, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, iVSPIndexTrue, uiMergeIndex ); 342 342 343 #if HHI_MPI 343 344 if(pcCU->getTextureModeDepth( uiSubPartIdx ) == uiDepth)//MPI is used 344 345 { … … 352 353 } 353 354 else // MPI not used 355 #endif 354 356 { 355 357 Int iVSPIdx = 0; -
branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecEntropy.h
r210 r280 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); } … … 210 218 Void decodeMergeFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx ); 211 219 Void decodeMergeIndex ( TComDataCU* pcSubCU, UInt uiPartIdx, UInt uiPartAddr, PartSize eCUMode, UChar* puhInterDirNeighbours, TComMvField* pcMvFieldNeighbours, UInt uiDepth ); 212 #if HHI_INTER_VIEW_RESIDUAL_PRED 220 #if HHI_INTER_VIEW_RESIDUAL_PRED && !MTK_MDIVRP_C0138 213 221 Void decodeResPredFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, TComDataCU* pcSubCU, UInt uiPUIdx ); 214 222 #endif -
branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecSbac.h
r210 r280 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-dev0/source/Lib/TLibDecoder/TDecTop.cpp
r231 r280 353 353 m_iMaxRefPicNum = 0; 354 354 m_uiValidPS = 0; 355 #if SONY_COLPIC_AVAILABILITY356 m_iViewOrderIdx = 0;357 #endif358 355 #if ENC_DEC_TRACE 359 356 if(!g_hTrace) g_hTrace = fopen( "TraceDec.txt", "wb" ); … … 788 785 } 789 786 790 #if SONY_COLPIC_AVAILABILITY791 m_apcSlicePilot->setViewOrderIdx( m_apcSlicePilot->getSPS()->getViewOrderIdx());792 #endif793 794 787 #if NAL_REF_FLAG 795 788 m_apcSlicePilot->setReferenced(nalu.m_nalRefFlag); … … 801 794 // ALF CU parameters should be part of the slice header -> needs to be fixed 802 795 #if LCU_SYNTAX_ALF 796 #if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137 797 m_cEntropyDecoder.decodeSliceHeader (m_apcSlicePilot, &m_parameterSetManagerDecoder, m_cGopDecoder.getAlfCuCtrlParam(), m_cGopDecoder.getAlfParamSet(),m_apcSlicePilot->getVPS()->getDepthFlag(nalu.m_layerId)); 798 #else 803 799 m_cEntropyDecoder.decodeSliceHeader (m_apcSlicePilot, &m_parameterSetManagerDecoder, m_cGopDecoder.getAlfCuCtrlParam(), m_cGopDecoder.getAlfParamSet()); 800 #endif 804 801 #else 805 802 m_cEntropyDecoder.decodeSliceHeader (m_apcSlicePilot, &m_parameterSetManagerDecoder, m_cGopDecoder.getAlfCuCtrlParam() ); … … 865 862 xGetNewPicBuffer (m_apcSlicePilot, pcPic); 866 863 867 #if SONY_COLPIC_AVAILABILITY 868 pcPic->setViewOrderIdx( m_apcSlicePilot->getSPS()->getViewOrderIdx() ); 869 #endif 870 864 #if INTER_VIEW_VECTOR_SCALING_C0115 865 pcPic->setViewOrderIdx( m_apcSlicePilot->getVPS()->getViewOrderIdx(nalu.m_layerId) ); // will be changed to view_id 866 #endif 871 867 /* transfer any SEI messages that have been received to the picture */ 872 868 pcPic->setSEIs(m_SEIs); … … 1093 1089 #endif 1094 1090 1095 #if SONY_COLPIC_AVAILABILITY1091 #if INTER_VIEW_VECTOR_SCALING_C0115 1096 1092 #if VIDYO_VPS_INTEGRATION 1097 pcSlice->setViewOrderIdx( pcSlice->getVPS()->getViewOrderIdx(nalu.m_layerId) ); 1093 pcSlice->setViewOrderIdx( pcSlice->getVPS()->getViewOrderIdx(nalu.m_layerId) ); // will be changed to view_id 1098 1094 #else 1099 1095 pcSlice->setViewOrderIdx( pcPic->getViewOrderIdx() ); 1100 1096 #endif 1097 #endif 1098 1099 #if INTER_VIEW_VECTOR_SCALING_C0115 1100 pcSlice->setIVScalingFlag( pcSlice->getVPS()->getIVScalingFlag()); 1101 1101 #endif 1102 1102 … … 1269 1269 sps->setRPSList(rps); 1270 1270 #endif 1271 #if HHI_MPI 1271 #if HHI_MPI || OL_QTLIMIT_PREDCODING_B0068 1272 1272 m_cEntropyDecoder.decodeSPS( sps, m_isDepth ); 1273 1273 #else -
branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecTop.h
r231 r280 196 196 SEImessages *m_SEIs; ///< "all" SEI messages. If not NULL, we own the object. 197 197 198 #if SONY_COLPIC_AVAILABILITY199 Int m_iViewOrderIdx;200 #endif201 202 198 // functional classes 203 199 TComPrediction m_cPrediction; … … 264 260 Void setIsDepth( Bool isDepth ) { m_isDepth = isDepth; } 265 261 266 #if SONY_COLPIC_AVAILABILITY267 Void setViewOrderIdx(Int i) { m_iViewOrderIdx = i ;}268 Int getViewOrderIdx() { return m_iViewOrderIdx ; }269 #endif270 271 262 #if DEPTH_MAP_GENERATION 272 263 TComDepthMapGenerator* getDepthMapGenerator () { return &m_cDepthMapGenerator; }
Note: See TracChangeset for help on using the changeset viewer.