Changeset 313 in 3DVCSoftware for trunk/source/App
- Timestamp:
- 20 Mar 2013, 21:35:14 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/App/TAppEncoder/TAppEncTop.cpp
r296 r313 429 429 m_cVPS.setDependentLayer ( layerId-1, layerId); 430 430 #endif 431 #if FCO_FIX_SPS_CHANGE 432 m_acTEncDepthTopList[iViewIdx]->setCamParPrecision ( m_cCameraData.getCamParsCodedPrecision () ); 433 m_acTEncDepthTopList[iViewIdx]->setCamParInSliceHeader ( m_cCameraData.getVaryingCameraParameters() ); 434 m_acTEncDepthTopList[iViewIdx]->setCodedScale ( m_cCameraData.getCodedScale () ); 435 m_acTEncDepthTopList[iViewIdx]->setCodedOffset ( m_cCameraData.getCodedOffset () ); 436 #else 431 437 m_acTEncDepthTopList[iViewIdx]->setCamParPrecision ( 0 ); 432 438 m_acTEncDepthTopList[iViewIdx]->setCamParInSliceHeader ( false ); 433 439 m_acTEncDepthTopList[iViewIdx]->setCodedScale ( 0 ); 434 440 m_acTEncDepthTopList[iViewIdx]->setCodedOffset ( 0 ); 441 #endif 435 442 436 443 //====== Coding Structure ======== … … 970 977 { 971 978 Int iNumEncoded = 0; 979 972 980 #if !QC_MVHEVC_B0046 973 981 UInt iNextPoc = m_acTEncTopList[0] -> getFrameId( gopId ); … … 977 985 } 978 986 #endif 987 979 988 980 989 #if FLEX_CODING_ORDER_M23723 … … 994 1003 assert(isdigit(m_pchMVCJointCodingOrder[i])); 995 1004 iViewIdx = (Int)(m_pchMVCJointCodingOrder[i]-'0'); 1005 #if (FCO_FIX && MERL_VSP_C0152) 1006 Int iCurPoc = m_acTEncTopList[iViewIdx]->getFrameId(gopId); 1007 if( iCurPoc < m_acTEncTopList[iViewIdx]->getFrameToBeEncoded() && iViewIdx!=0 ) 1008 { 1009 TComPic* pcBaseTxtPic = getPicFromView( 0, m_acTEncTopList[iViewIdx]->getFrameId(gopId), false ); //get base view reconstructed texture 1010 TComPic* pcBaseDepthPic = getPicFromView( 0, m_acTEncTopList[iViewIdx]->getFrameId(gopId), true ); //get base view reconstructed depth 1011 TEncSlice* pEncSlice = m_acTEncTopList[iViewIdx]->getSliceEncoder(); 1012 pEncSlice->setRefPicBaseTxt(pcBaseTxtPic); 1013 pEncSlice->setRefPicBaseDepth(pcBaseDepthPic); 1014 } 1015 setBWVSPLUT( iViewIdx, gopId, false); 1016 #endif 996 1017 997 1018 m_acTEncTopList[iViewIdx]->encode( eos[iViewIdx], pcPicYuvOrg, *m_picYuvRec[iViewIdx], outputAccessUnits, iNumEncoded, gopId ); … … 1008 1029 assert(isdigit(m_pchMVCJointCodingOrder[i])); 1009 1030 iViewIdx = (Int)(m_pchMVCJointCodingOrder[i]-'0'); 1031 1010 1032 #if SAIT_VSO_EST_A0033 1011 1033 if( m_bUseVSO && iNextPoc < m_iFrameToBeEncoded ) … … 1015 1037 } 1016 1038 #endif 1039 #if (FCO_FIX && MERL_VSP_C0152) 1040 Int iCurPocDepth = m_acTEncDepthTopList[iViewIdx]->getFrameId(gopId); 1041 if( iCurPocDepth < m_acTEncDepthTopList[iViewIdx]->getFrameToBeEncoded() && iViewIdx!=0 ) 1042 { 1043 TComPic* pcBaseDepthPic = getPicFromView( 0, m_acTEncDepthTopList[iViewIdx]->getFrameId(gopId), true ); 1044 TEncSlice* pcSlice = (TEncSlice*) m_acTEncDepthTopList[iViewIdx]->getSliceEncoder(); 1045 pcSlice->setRefPicBaseDepth(pcBaseDepthPic); 1046 } 1047 setBWVSPLUT( iViewIdx, gopId, true); 1048 #endif 1017 1049 m_acTEncDepthTopList[iViewIdx]->encode( depthEos[iViewIdx], pcDepthPicYuvOrg, *m_picYuvDepthRec[iViewIdx], outputAccessUnits, iNumDepthEncoded, gopId ); 1018 1050 xWriteOutput(bitstreamFile, iNumDepthEncoded, outputAccessUnits, iViewIdx, true); … … 1039 1071 1040 1072 #if MERL_VSP_C0152 1073 #if MERL_VSP_C0152_BugFix_ForNoDepthCase 1074 if(m_bUsingDepthMaps) //VSP can be used only when depth is available as input 1075 { 1076 #endif 1041 1077 Int iCurPoc = m_acTEncDepthTopList[iViewIdx]->getFrameId(gopId); 1042 1078 if( iCurPoc < m_acTEncDepthTopList[iViewIdx]->getFrameToBeEncoded() && iViewIdx!=0 ) … … 1049 1085 } 1050 1086 setBWVSPLUT( iViewIdx, gopId, false); 1087 #if MERL_VSP_C0152_BugFix_ForNoDepthCase 1088 } 1089 else 1090 { 1091 Int iCurPoc = m_acTEncTopList[iViewIdx]->getFrameId(gopId); 1092 if( iCurPoc < m_acTEncTopList[iViewIdx]->getFrameToBeEncoded() && iViewIdx!=0 ) 1093 { 1094 TEncSlice* pEncSlice = m_acTEncTopList[iViewIdx]->getSliceEncoder(); 1095 pEncSlice->setRefPicBaseTxt(NULL);//Initialize the base view reconstructed texture buffer 1096 pEncSlice->setRefPicBaseDepth(NULL);//Initialize the base view reconstructed depth buffer 1097 } 1098 } 1099 #endif 1100 1051 1101 #endif 1052 1102 // call encoding function for one frame
Note: See TracChangeset for help on using the changeset viewer.