Ignore:
Timestamp:
26 Jan 2013, 19:36:53 (11 years ago)
Author:
mitsubishi-htm
Message:

-Integration of JCT3V-C0152 & JCT3V-C0131
-This check-in enable C0131 only

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-5.1-dev3-MERL/source/App/TAppEncoder/TAppEncTop.cpp

    r210 r231  
    793793  m_cUsedPelsRenderer.init(m_iSourceWidth, m_iSourceHeight, true, 0, LOG2_DISP_PREC_LUT, true, 0, 0, 0, 0, 0, 6, 4, 1, 0, 6 );
    794794#endif
    795 
    796795}
    797796
     
    931930  TComPicYuv*       pcPicYuvRec = NULL;
    932931  TComPicYuv*       pcDepthPicYuvRec = NULL;
    933  
     932
    934933  // initialize internal class & member variables
    935934  xInitLibCfg();
     
    10331032      if ( iNextPoc < m_iFrameToBeEncoded )
    10341033      {
    1035       m_cCameraData.update( iNextPoc );
     1034        m_cCameraData.update( iNextPoc );
    10361035      }
    10371036#endif
     
    10961095#endif
    10971096        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
    10981110        // call encoding function for one frame
    10991111        m_acTEncTopList[iViewIdx]->encode( eos[iViewIdx], pcPicYuvOrg, *m_picYuvRec[iViewIdx], outputAccessUnits, iNumEncoded, gopId );
     
    11031115        {
    11041116          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
    11051128          // call encoding function for one depth frame
    11061129          m_acTEncDepthTopList[iViewIdx]->encode( depthEos[iViewIdx], pcDepthPicYuvOrg, *m_picYuvDepthRec[iViewIdx], outputAccessUnits, iNumDepthEncoded, gopId );
     
    16341657#endif
    16351658
     1659#if MERL_VSP_C0152
     1660Void 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
    16361686//! \}
Note: See TracChangeset for help on using the changeset viewer.