Ignore:
Timestamp:
1 Nov 2012, 19:22:41 (12 years ago)
Author:
mitsubishi-htm
Message:

Initial integration of VSP into HTM 4.0.1. The version used for JCT3V-B0102 at Shanghai meeting.

  • VC9 project/solution files updated. Other Visual C++ project/solution files are not updated.
  • Linux make file updated.

TODO

  • A second release is expected to include some bug fix and improvements on the interface, e.g. to move switches from macro definition to the configuration file.
  • A third release is expected after being integrated within HTM 5.x, which is to be used for CE1.h anchor.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibEncoder/TEncGOP.cpp

    r102 r166  
    332332#endif
    333333
     334#if VSP_N
     335      Int NumberOfVspRefs = ( ( pcPic->getViewId()==0
     336#if VSP_TEXT_ONLY
     337                                || m_pcEncTop->getIsDepth()
     338#endif
     339#if VSP_SLICE_HEADER
     340                                || !m_pcEncTop->getUseVSP()
     341#endif
     342                              ) ? 0 : 1 );
     343      pcSlice->setNumRefIdx( REF_PIC_LIST_0, min( m_pcCfg->getGOPEntry( (getNalUnitType(uiPOCCurr) == NAL_UNIT_CODED_SLICE_IDV) ? MAX_GOP : iGOPid ).m_numRefPicsActive + NumberOfVspRefs, (pcSlice->getRPS()->getNumberOfPictures() + pcSlice->getSPS()->getNumberOfUsableInterViewRefs() + NumberOfVspRefs) ) );
     344      pcSlice->setNumRefIdx( REF_PIC_LIST_1, min( m_pcCfg->getGOPEntry( (getNalUnitType(uiPOCCurr) == NAL_UNIT_CODED_SLICE_IDV) ? MAX_GOP : iGOPid ).m_numRefPicsActive + NumberOfVspRefs, (pcSlice->getRPS()->getNumberOfPictures() + pcSlice->getSPS()->getNumberOfUsableInterViewRefs() + NumberOfVspRefs) ) );
     345#else
    334346      pcSlice->setNumRefIdx( REF_PIC_LIST_0, min( m_pcCfg->getGOPEntry( (getNalUnitType(uiPOCCurr) == NAL_UNIT_CODED_SLICE_IDV) ? MAX_GOP : iGOPid ).m_numRefPicsActive, (pcSlice->getRPS()->getNumberOfPictures() + pcSlice->getSPS()->getNumberOfUsableInterViewRefs()) ) );
    335347      pcSlice->setNumRefIdx( REF_PIC_LIST_1, min( m_pcCfg->getGOPEntry( (getNalUnitType(uiPOCCurr) == NAL_UNIT_CODED_SLICE_IDV) ? MAX_GOP : iGOPid ).m_numRefPicsActive, (pcSlice->getRPS()->getNumberOfPictures() + pcSlice->getSPS()->getNumberOfUsableInterViewRefs()) ) );
     348#endif
    336349
    337350      TComRefPicListModification* refPicListModification = pcSlice->getRefPicListModification();
     
    358371
    359372      std::vector<TComPic*> apcInterViewRefPics = tAppEncTop->getInterViewRefPics( m_pcEncTop->getViewId(), pcSlice->getPOC(), m_pcEncTop->getIsDepth(), pcSlice->getSPS() );
     373#if VSP_N
     374      Bool bUseVsp = (pcPic->getViewId()!=0);
     375#if VSP_TEXT_ONLY
     376      if( m_pcEncTop->getIsDepth() ) bUseVsp = false;
     377#endif
     378#if VSP_SLICE_HEADER
     379      if( !m_pcEncTop->getUseVSP() ) bUseVsp = false;
     380#endif
     381      pcSlice->setRefPicListMvc( rcListPic, apcInterViewRefPics, bUseVsp ? m_pcEncTop->getVSPBuf() : NULL );
     382#else
    360383      pcSlice->setRefPicListMvc( rcListPic, apcInterViewRefPics );
     384#endif
     385#if VSP_SLICE_HEADER
     386      pcSlice->setVspFlag( bUseVsp );
     387#endif
    361388
    362389      //  Slice info. refinement
     
    11301157          m_pcSbacCoder->load( &pcSbacCoders[0] );
    11311158
     1159#if DEBUGLOGOUT
     1160        char fname[128];
     1161        sprintf(fname, "%sV%02d_%05d%s.csv", "Log", pcSlice->getViewId(), uiPOCCurr, pcSlice->getIsDepth() ? "depth":"text");
     1162        getSliceEncoder()->getCUEncoder()->m_cDebug.DebugLogFileOpen( fname );
     1163#endif
     1164
    11321165        pcSlice->setTileOffstForMultES( uiOneBitstreamPerSliceLength );
    11331166        if (!bEntropySlice)
     
    11401173          m_pcSliceEncoder->encodeSlice(pcPic, &nalu.m_Bitstream, pcSubstreamsOut); // nalu.m_Bitstream is only used for CAVLC tile position info.
    11411174        }
     1175
     1176#if DEBUGLOGOUT
     1177        getSliceEncoder()->getCUEncoder()->m_cDebug.DebugLogFileClose();
     1178#endif
    11421179
    11431180        {
Note: See TracChangeset for help on using the changeset viewer.