Ignore:
Timestamp:
8 Mar 2013, 16:13:08 (12 years ago)
Author:
mediatek-htm
Message:

Added FCO_FIX, FCO_FIX_SPS_CHANGE, and FCO_DVP_REFINE_C0132_C0170 macros to support FCO.
The new macros are default disabled in CTC.

Location:
branches/HTM-6.0-Mediatek/source/Lib/TLibEncoder
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-6.0-Mediatek/source/Lib/TLibEncoder/TEncCavlc.cpp

    r296 r303  
    663663      WRITE_UVLC( pcSPS->getViewId(), "view_id" );
    664664      WRITE_SVLC( pcSPS->getViewOrderIdx(), "view_order_idx" );
     665#if FCO_FIX_SPS_CHANGE
     666      if ( pcSPS->getViewId() )
     667      {
     668        WRITE_UVLC( pcSPS->getCamParPrecision(), "camera_parameter_precision" );
     669        WRITE_FLAG( pcSPS->hasCamParInSliceHeader() ? 1 : 0, "camera_parameter_in_slice_header" );
     670        if( !pcSPS->hasCamParInSliceHeader() )
     671        {
     672          for( UInt uiId = 0; uiId < pcSPS->getViewId(); uiId++ )
     673          {
     674            WRITE_SVLC( pcSPS->getCodedScale    ()[ uiId ], "coded_scale" );
     675            WRITE_SVLC( pcSPS->getCodedOffset   ()[ uiId ], "coded_offset" );
     676            WRITE_SVLC( pcSPS->getInvCodedScale ()[ uiId ] + pcSPS->getCodedScale ()[ uiId ], "inverse_coded_scale_plus_coded_scale" );
     677            WRITE_SVLC( pcSPS->getInvCodedOffset()[ uiId ] + pcSPS->getCodedOffset()[ uiId ], "inverse_coded_offset_plus_coded_offset" );
     678          }
     679        }     
     680      }
     681#endif
    665682    }
    666683    else
  • branches/HTM-6.0-Mediatek/source/Lib/TLibEncoder/TEncGOP.cpp

    r296 r303  
    726726      m_uiStoredStartCUAddrForEncodingEntropySlice[uiStartCUAddrEntropySliceIdx++]  = uiNextCUAddr;
    727727
     728#if FCO_DVP_REFINE_C0132_C0170
     729      pcPic->setDepthCoded(false);
     730
     731      if(pcSlice->getViewId() != 0)
     732      {
     733        if(pcSlice->getSPS()->isDepth() == 0 )
     734        {
     735          TComPic * recDepthMapBuffer;
     736          recDepthMapBuffer = m_pcEncTop->getEncTop()->getPicFromView( pcSlice->getViewId(), pcSlice->getPOC(), true );
     737          pcSlice->getPic()->setRecDepthMap(recDepthMapBuffer);
     738          if(recDepthMapBuffer->getReconMark())
     739          {
     740            pcPic->setDepthCoded(true);
     741          }
     742        }
     743      }
     744#endif
     745
    728746#if DEPTH_MAP_GENERATION
    729747      // init view component and predict virtual depth map
  • branches/HTM-6.0-Mediatek/source/Lib/TLibEncoder/TEncSlice.cpp

    r296 r303  
    6060  m_pcBufferLowLatSbacCoders    = NULL;
    6161  m_pcBufferLowLatBinCoderCABACs  = NULL;
     62#if FCO_DVP_REFINE_C0132_C0170
     63  m_pPicBaseTxt = NULL;
     64  m_pPicBaseDepth = NULL;
     65#endif
    6266}
    6367
  • branches/HTM-6.0-Mediatek/source/Lib/TLibEncoder/TEncTop.cpp

    r296 r303  
    712712  if( m_isDepth )
    713713  {
     714#if FCO_FIX_SPS_CHANGE
     715    m_cSPS.initMultiviewSPSDepth    ( m_viewId, m_iViewOrderIdx, m_uiCamParPrecision, m_bCamParInSliceHeader, m_aaiCodedScale, m_aaiCodedOffset );
     716#else
    714717    m_cSPS.initMultiviewSPSDepth    ( m_viewId, m_iViewOrderIdx );
     718#endif
     719
    715720#if DEPTH_MAP_GENERATION
    716721    m_cSPS.setPredDepthMapGeneration( m_viewId, true );
Note: See TracChangeset for help on using the changeset viewer.