Changeset 42 in 3DVCSoftware for trunk/source/Lib/TLibDecoder/TDecTop.cpp


Ignore:
Timestamp:
26 Mar 2012, 18:05:40 (12 years ago)
Author:
tech
Message:

Nokia (Flexible Coding Order)
Ericsson ( High Level Syntax )
changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibDecoder/TDecTop.cpp

    r21 r42  
    513513
    514514#if DCM_SKIP_DECODING_FRAMES
     515#if FLEX_CODING_ORDER
     516Bool TDecTop::decode (Bool bEos, TComBitstream* pcBitstream, UInt& ruiPOC, TComList<TComPic*>*& rpcListPic, NalUnitType& reNalUnitType, TComSPS& cComSPS, Int& iSkipFrame,  Int& iPOCLastDisplay, Bool& bNewPictureType)
     517#else
    515518Bool TDecTop::decode (Bool bEos, TComBitstream* pcBitstream, UInt& ruiPOC, TComList<TComPic*>*& rpcListPic, NalUnitType& reNalUnitType, TComSPS& cComSPS, Int& iSkipFrame,  Int& iPOCLastDisplay)
     519
     520#endif
    516521#else
    517522Void TDecTop::decode (Bool bEos, TComBitstream* pcBitstream, UInt& ruiPOC, TComList<TComPic*>*& rpcListPic, NalUnitType& reNalUnitType, TComSPS& cComSPS )
     
    530535  NalUnitType eNalUnitType;
    531536  UInt        TemporalId;
     537
     538#if BITSTREAM_EXTRACTION
     539  UInt        uiLayerId;
     540
     541  m_cEntropyDecoder.decodeNalUnitHeader(eNalUnitType, TemporalId, uiLayerId);
     542#else
    532543  Bool        OutputFlag;
    533544
    534545  m_cEntropyDecoder.decodeNalUnitHeader(eNalUnitType, TemporalId, OutputFlag);
     546#endif
     547
    535548  reNalUnitType = eNalUnitType;
    536549
     
    541554      TComSPS cTempSPS;
    542555      m_cEntropyDecoder.decodeSPS( &cTempSPS );
     556#if FLEX_CODING_ORDER
     557      m_cNewSPS = cTempSPS;
     558#endif
    543559
    544560      if( (m_iViewIdx == cTempSPS.getViewId()) && ( m_bIsDepth == cTempSPS.isDepth() ) )
     
    615631      {
    616632        m_uiPrevPOC = m_apcSlicePilot->getPOC();
     633#if FLEX_CODING_ORDER
     634        bNewPictureType = m_cNewSPS.isDepth();
     635#endif
    617636        return true;
    618637      }
     
    697716        std::vector<TComPic*> apcSpatRefPics = getDecTop()->getSpatialRefPics( pcPic->getViewIdx(), pcSlice->getPOC(), m_cSPS.isDepth() );
    698717        TComPic * const pcTexturePic = m_cSPS.isDepth() ? getDecTop()->getPicFromView( pcPic->getViewIdx(), pcSlice->getPOC(), false ) : NULL;
     718
     719#if FLEX_CODING_ORDER
     720        if (pcTexturePic != NULL)
     721        {
     722          assert( ! m_cSPS.isDepth() || pcTexturePic != NULL );
     723          pcSlice->setTexturePic( pcTexturePic );
     724        }
     725#else
    699726        assert( ! m_cSPS.isDepth() || pcTexturePic != NULL );
    700727        pcSlice->setTexturePic( pcTexturePic );
    701728        pcSlice->setViewIdx( pcPic->getViewIdx() );
     729#endif
    702730#if SONY_COLPIC_AVAILABILITY
    703731        pcSlice->setViewOrderIdx( pcPic->getViewOrderIdx() );
Note: See TracChangeset for help on using the changeset viewer.