Ignore:
Timestamp:
4 Nov 2013, 17:39:44 (11 years ago)
Author:
zhang
Message:

JCT3V-F0125

Location:
branches/HTM-8.2-dev2-Qualcomm/source/Lib/TLibDecoder
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-8.2-dev2-Qualcomm/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r655 r669  
    12651265      else
    12661266      {
    1267 
     1267#if QC_DEPTH_IV_MRG_F0125 && H_3D_IV_MERGE
     1268        if(i!=1)
     1269        {
     1270          READ_FLAG( uiCode, "iv_mv_pred_flag[i]");          pcVPS->setIvMvPredFlag         ( i, uiCode == 1 ? true : false );
     1271        }
     1272#endif
    12681273        READ_FLAG( uiCode, "vps_depth_modes_flag[i]" );             pcVPS->setVpsDepthModesFlag( i, uiCode == 1 ? true : false );
    12691274        //          READ_FLAG( uiCode, "lim_qt_pred_flag[i]");                  pcVPS->setLimQtPreFlag     ( i, uiCode == 1 ? true : false );
  • branches/HTM-8.2-dev2-Qualcomm/source/Lib/TLibDecoder/TDecCu.cpp

    r655 r669  
    135135Void TDecCu::decompressCU( TComDataCU* pcCU )
    136136{
     137#if !QC_DEPTH_IV_MRG_F0125
    137138  xDecompressCU( pcCU, 0,  0 );
     139#endif
    138140}
    139141
     
    313315      m_ppcCU[uiDepth]->setHeight ( 0, pcCU->getSlice()->getSPS()->getMaxCUHeight()/(1<<uiDepth)  );
    314316      m_ppcCU[uiDepth]->setPartSizeSubParts( SIZE_2Nx2N, 0, uiDepth );     
     317#if QC_DEPTH_IV_MRG_F0125
     318      if( pcCU->getSlice()->getIsDepth())
     319      {
     320        DvInfo.bDV = m_ppcCU[uiDepth]->getDispNeighBlocks(0, 0, &DvInfo);
     321      }
     322      else
     323      {
     324#endif
    315325#if H_3D_NBDV_REF
    316326      if(pcCU->getSlice()->getVPS()->getDepthRefinementFlag( pcCU->getSlice()->getLayerIdInVps() ))  //Notes from QC: please check the condition for DoNBDV. Remove this comment once it is done.
     
    323333        DvInfo.bDV = m_ppcCU[uiDepth]->getDisMvpCandNBDV(&DvInfo);
    324334      }
    325 
     335#if QC_DEPTH_IV_MRG_F0125
     336      }
     337#endif
    326338#if ENC_DEC_TRACE && H_MV_ENC_DEC_TRAC   
    327339      if ( g_decTraceDispDer )
     
    430442#endif
    431443    xFinishDecodeCU( pcCU, uiAbsPartIdx, uiDepth, ruiIsLast );
     444#if QC_DEPTH_IV_MRG_F0125
     445    xDecompressCU(pcCU, uiAbsPartIdx, uiDepth );
     446#endif
    432447    return;
    433448  }
     
    443458    {
    444459      xFinishDecodeCU( pcCU, uiAbsPartIdx, uiDepth, ruiIsLast );
     460#if QC_DEPTH_IV_MRG_F0125
     461      xDecompressCU(pcCU, uiAbsPartIdx, uiDepth );
     462#endif
    445463      return;
    446464    }
     
    466484  setdQPFlag( bCodeDQP );
    467485  xFinishDecodeCU( pcCU, uiAbsPartIdx, uiDepth, ruiIsLast );
     486#if QC_DEPTH_IV_MRG_F0125
     487  xDecompressCU(pcCU, uiAbsPartIdx, uiDepth );
     488#endif
    468489}
    469490
     
    481502{
    482503  TComPic* pcPic = pcCU->getPic();
    483  
     504#if !QC_DEPTH_IV_MRG_F0125 
    484505  Bool bBoundary = false;
    485506  UInt uiLPelX   = pcCU->getCUPelX() + g_auiRasterToPelX[ g_auiZscanToRaster[uiAbsPartIdx] ];
     
    516537    return;
    517538  }
    518  
     539#endif 
    519540  // Residual reconstruction
    520541  m_ppcYuvResi[uiDepth]->clear();
  • branches/HTM-8.2-dev2-Qualcomm/source/Lib/TLibDecoder/TDecTop.cpp

    r655 r669  
    282282}
    283283
     284#if QC_DEPTH_IV_MRG_F0125
     285Void
     286CamParsCollector::copyCamParamForSlice( TComSlice* pcSlice )
     287{
     288  UInt uiViewIndex = pcSlice->getViewIndex();
     289
     290  pcSlice->getSPS()->initCamParaSPS( uiViewIndex, m_uiCamParsCodedPrecision, m_bCamParsVaryOverTime, m_aaiCodedScale, m_aaiCodedOffset );
     291
     292  if( m_bCamParsVaryOverTime )
     293  {
     294    pcSlice->setCamparaSlice( m_aaiCodedScale, m_aaiCodedOffset );
     295  }
     296}
     297#endif
     298
    284299Bool
    285300CamParsCollector::xIsComplete()
     
    10531068  }
    10541069
     1070#if QC_DEPTH_IV_MRG_F0125
     1071  if( pcSlice->getIsDepth() && m_pcCamParsCollector )
     1072  {
     1073    m_pcCamParsCollector->copyCamParamForSlice( pcSlice );
     1074  }
     1075#endif
     1076
    10551077  //  Decode a picture
    10561078  m_cGopDecoder.decompressSlice(nalu.m_Bitstream, pcPic);
     
    10601082    m_pcCamParsCollector->setSlice( pcSlice );
    10611083  }
     1084#if QC_DEPTH_IV_MRG_F0125
     1085  if( pcSlice->getIsDepth() )
     1086  {
     1087    pcSlice->getSPS()->setHasCamParInSliceHeader( false );
     1088  }
     1089#endif
    10621090#endif
    10631091  m_bFirstSliceInPicture = false;
  • branches/HTM-8.2-dev2-Qualcomm/source/Lib/TLibDecoder/TDecTop.h

    r655 r669  
    7777  Bool  isInitialized() const     { return m_bInitialized; }
    7878  Int**** getBaseViewShiftLUTI()  { return m_aiBaseViewShiftLUT;   }
     79
     80#if QC_DEPTH_IV_MRG_F0125
     81  Void  copyCamParamForSlice( TComSlice* pcSlice );
     82#endif
    7983
    8084private:
Note: See TracChangeset for help on using the changeset viewer.