Ignore:
Timestamp:
16 May 2013, 16:05:31 (12 years ago)
Author:
mitsubishi-htm
Message:

-D0166 part 1, set refView selection for NBDV.

Location:
branches/HTM-6.2-dev2-MERL/source/App/TAppEncoder
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-6.2-dev2-MERL/source/App/TAppEncoder/TAppEncTop.cpp

    r402 r412  
    10971097          pEncSlice->setRefPicBaseTxt(pcBaseTxtPic);
    10981098          pEncSlice->setRefPicBaseDepth(pcBaseDepthPic);
     1099#if MERL_VSP_NBDV_RefVId_Fix_D0166
     1100          for (Int refViewId=0; refViewId < iViewIdx; refViewId++ )
     1101          {
     1102            pEncSlice->setListDepthPic(m_acTEncDepthTopList[refViewId]->getListPic(), refViewId ); // The list will store only the depth pictures
     1103            setBWVSPLUT(refViewId, iViewIdx, gopId, false);
     1104          }
     1105#endif
    10991106        }
     1107#if !MERL_VSP_NBDV_RefVId_Fix_D0166
    11001108        setBWVSPLUT( iViewIdx, gopId, false);
     1109#endif
     1110#endif
     1111
    11011112#if MERL_VSP_C0152_BugFix_ForNoDepthCase
    11021113        }
     
    11131124#endif
    11141125
    1115 #endif
    11161126        // call encoding function for one frame
    11171127        m_acTEncTopList[iViewIdx]->encode( eos[iViewIdx], pcPicYuvOrg, *m_picYuvRec[iViewIdx], outputAccessUnits, iNumEncoded, gopId );
     
    11281138          TEncSlice* pcSlice = (TEncSlice*) m_acTEncDepthTopList[iViewIdx]->getSliceEncoder();
    11291139          pcSlice->setRefPicBaseDepth(pcBaseDepthPic);
     1140#if  MERL_VSP_NBDV_RefVId_Fix_D0166
     1141          for (Int refViewId=0; refViewId < iViewIdx; refViewId++ )
     1142          {
     1143            pcSlice->setListDepthPic(m_acTEncDepthTopList[refViewId]->getListPic(), refViewId ); // The list will store only the depth pictures
     1144            setBWVSPLUT( refViewId, iViewIdx, gopId, true);
     1145          }
     1146#endif
    11301147        }
     1148#if !MERL_VSP_NBDV_RefVId_Fix_D0166
    11311149        setBWVSPLUT( iViewIdx, gopId, true);
     1150#endif
    11321151#endif
    11331152
     
    16461665
    16471666#if MERL_VSP_C0152
    1648 Void TAppEncTop::setBWVSPLUT(Int iCodedViewIdx, Int gopId, Bool isDepth)
     1667
     1668Void TAppEncTop::setBWVSPLUT(
     1669#if MERL_VSP_NBDV_RefVId_Fix_D0166
     1670        Int iNeighborViewId,
     1671#endif
     1672        Int iCodedViewIdx, Int gopId, Bool isDepth)
    16491673{
    16501674  //first view does not have VSP
     
    16531677  AOT( iCodedViewIdx <= 0);
    16541678  AOT( iCodedViewIdx >= m_iNumberOfViews );
    1655 
     1679#if !MERL_VSP_NBDV_RefVId_Fix_D0166
    16561680  Int iNeighborViewId = 0;
     1681#endif
    16571682  //setting look-up table
    16581683  Int* piShiftLUT = m_cCameraData.getBaseViewShiftLUTI()[iNeighborViewId][iCodedViewIdx][0];
     
    16611686  {
    16621687    TEncSlice* pcEncSlice = (TEncSlice*) m_acTEncDepthTopList[iCodedViewIdx]->getSliceEncoder();
     1688#if MERL_VSP_NBDV_RefVId_Fix_D0166
     1689    pcEncSlice->setBWVSPLUTParam(  piShiftLUT, LOG2_DISP_PREC_LUT, iNeighborViewId );
     1690#else
    16631691    pcEncSlice->setBWVSPLUTParam(  piShiftLUT, LOG2_DISP_PREC_LUT );
     1692#endif
    16641693  }
    16651694  else
    16661695  {
    16671696    TEncSlice* pcEncSlice = (TEncSlice*) m_acTEncTopList[iCodedViewIdx]->getSliceEncoder();
     1697#if MERL_VSP_NBDV_RefVId_Fix_D0166
     1698    pcEncSlice->setBWVSPLUTParam(  piShiftLUT, LOG2_DISP_PREC_LUT, iNeighborViewId );
     1699#else
    16681700    pcEncSlice->setBWVSPLUTParam(  piShiftLUT, LOG2_DISP_PREC_LUT );
     1701#endif
    16691702  }
    16701703
  • branches/HTM-6.2-dev2-MERL/source/App/TAppEncoder/TAppEncTop.h

    r296 r412  
    167167
    168168#if MERL_VSP_C0152
     169#if MERL_VSP_NBDV_RefVId_Fix_D0166
     170  Void setBWVSPLUT( Int refViewIdx, Int iCodedViewIdx, Int gopId, Bool isDepth);
     171#else
    169172  Void setBWVSPLUT( Int iCodedViewIdx, Int gopId, Bool isDepth);
     173#endif
    170174#endif
    171175};// END CLASS DEFINITION TAppEncTop
Note: See TracChangeset for help on using the changeset viewer.