Changeset 231 in 3DVCSoftware for branches/HTM-5.1-dev3-MERL/source/App/TAppEncoder/TAppEncTop.cpp
- Timestamp:
- 26 Jan 2013, 19:36:53 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-5.1-dev3-MERL/source/App/TAppEncoder/TAppEncTop.cpp
r210 r231 793 793 m_cUsedPelsRenderer.init(m_iSourceWidth, m_iSourceHeight, true, 0, LOG2_DISP_PREC_LUT, true, 0, 0, 0, 0, 0, 6, 4, 1, 0, 6 ); 794 794 #endif 795 796 795 } 797 796 … … 931 930 TComPicYuv* pcPicYuvRec = NULL; 932 931 TComPicYuv* pcDepthPicYuvRec = NULL; 933 932 934 933 // initialize internal class & member variables 935 934 xInitLibCfg(); … … 1033 1032 if ( iNextPoc < m_iFrameToBeEncoded ) 1034 1033 { 1035 m_cCameraData.update( iNextPoc );1034 m_cCameraData.update( iNextPoc ); 1036 1035 } 1037 1036 #endif … … 1096 1095 #endif 1097 1096 iNumEncoded = 0; 1097 1098 #if MERL_VSP_C0152 1099 Int iCurPoc = m_acTEncDepthTopList[iViewIdx]->getFrameId(gopId); 1100 if( iCurPoc < m_acTEncDepthTopList[iViewIdx]->getFrameToBeEncoded() && iViewIdx!=0 ) 1101 { 1102 TComPic* pcBaseTxtPic = getPicFromView( 0, m_acTEncDepthTopList[iViewIdx]->getFrameId(gopId), false ); //get base view reconstructed texture 1103 TComPic* pcBaseDepthPic = getPicFromView( 0, m_acTEncDepthTopList[iViewIdx]->getFrameId(gopId), true ); //get base view reconstructed depth 1104 TEncSlice* pEncSlice = m_acTEncTopList[iViewIdx]->getSliceEncoder(); 1105 pEncSlice->setRefPicBaseTxt(pcBaseTxtPic); 1106 pEncSlice->setRefPicBaseDepth(pcBaseDepthPic); 1107 } 1108 setBWVSPLUT( iViewIdx, gopId, false); 1109 #endif 1098 1110 // call encoding function for one frame 1099 1111 m_acTEncTopList[iViewIdx]->encode( eos[iViewIdx], pcPicYuvOrg, *m_picYuvRec[iViewIdx], outputAccessUnits, iNumEncoded, gopId ); … … 1103 1115 { 1104 1116 Int iNumDepthEncoded = 0; 1117 #if MERL_VSP_C0152 1118 Int iCurPocDepth = m_acTEncDepthTopList[iViewIdx]->getFrameId(gopId); 1119 if( iCurPocDepth < m_acTEncDepthTopList[iViewIdx]->getFrameToBeEncoded() && iViewIdx!=0 ) 1120 { 1121 TComPic* pcBaseDepthPic = getPicFromView( 0, m_acTEncDepthTopList[iViewIdx]->getFrameId(gopId), true ); 1122 TEncSlice* pcSlice = (TEncSlice*) m_acTEncDepthTopList[iViewIdx]->getSliceEncoder(); 1123 pcSlice->setRefPicBaseDepth(pcBaseDepthPic); 1124 } 1125 setBWVSPLUT( iViewIdx, gopId, true); 1126 #endif 1127 1105 1128 // call encoding function for one depth frame 1106 1129 m_acTEncDepthTopList[iViewIdx]->encode( depthEos[iViewIdx], pcDepthPicYuvOrg, *m_picYuvDepthRec[iViewIdx], outputAccessUnits, iNumDepthEncoded, gopId ); … … 1634 1657 #endif 1635 1658 1659 #if MERL_VSP_C0152 1660 Void TAppEncTop::setBWVSPLUT(Int iCodedViewIdx, Int gopId, Bool isDepth) 1661 { 1662 //first view does not have VSP 1663 if((iCodedViewIdx == 0)) return; 1664 1665 AOT( iCodedViewIdx <= 0); 1666 AOT( iCodedViewIdx >= m_iNumberOfViews ); 1667 1668 Int iNeighborViewId = 0; 1669 //setting look-up table 1670 Int* piShiftLUT = m_cCameraData.getBaseViewShiftLUTI()[iNeighborViewId][iCodedViewIdx][0]; 1671 1672 if(isDepth) 1673 { 1674 TEncSlice* pcEncSlice = (TEncSlice*) m_acTEncDepthTopList[iCodedViewIdx]->getSliceEncoder(); 1675 pcEncSlice->setBWVSPLUTParam( piShiftLUT, LOG2_DISP_PREC_LUT ); 1676 } 1677 else 1678 { 1679 TEncSlice* pcEncSlice = (TEncSlice*) m_acTEncTopList[iCodedViewIdx]->getSliceEncoder(); 1680 pcEncSlice->setBWVSPLUTParam( piShiftLUT, LOG2_DISP_PREC_LUT ); 1681 } 1682 1683 } 1684 #endif 1685 1636 1686 //! \}
Note: See TracChangeset for help on using the changeset viewer.