Ignore:
Timestamp:
22 Jul 2014, 10:27:09 (11 years ago)
Author:
mediatek-htm
Message:

JCT3V-I0099. Changes of sub-PU size signaling and lim_qt_pred_flag signaling in VPS extension 2. Remove use_qtl_flag and use_pc_flag.

Location:
branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibDecoder
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r976 r1007  
    10511051Void TDecCavlc::parseSPSExtension2( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )
    10521052{
     1053#if !MTK_I0099_VPS_EX2
    10531054  UInt uiCode;
    10541055#if H_3D_QTLPC
     
    10611062    pcSPS->setUsePC( uiCode );
    10621063  }
     1064#endif
    10631065#endif
    10641066}
     
    17671769    if ( i != 0 )
    17681770    {
     1771#if MTK_I0099_VPS_EX2
     1772      READ_FLAG( uiCode, "iv_mv_pred_flag[i]");          pcVPS->setIvMvPredFlag         ( i, uiCode == 1 ? true : false );
     1773#endif
    17691774      if( !( pcVPS->getDepthId( i ) == 1 ) )
    17701775      {
    17711776#if H_3D_IV_MERGE
     1777#if !MTK_I0099_VPS_EX2
    17721778        READ_FLAG( uiCode, "iv_mv_pred_flag[i]");          pcVPS->setIvMvPredFlag         ( i, uiCode == 1 ? true : false );
     1779#endif
    17731780        if( !pcVPS->getNumDirectRefLayers(i) )
    17741781        {
     
    18021809      else
    18031810      {
     1811#if !MTK_I0099_VPS_EX2
    18041812#if H_3D_IV_MERGE
    18051813        if(i!=1)
     
    18181826        }
    18191827#endif
     1828#endif
    18201829#if H_3D_IV_MERGE
    18211830        READ_FLAG( uiCode, "mpi_flag[i]" );             pcVPS->setMPIFlag( i, uiCode == 1 ? true : false );
    18221831#endif
     1832#if MTK_I0099_VPS_EX2
     1833        READ_UVLC (uiCode, "log2_mpi_sub_PU_size_minus3[i]");     pcVPS->setSubPUMPILog2Size(i, uiCode+3);
     1834#endif
    18231835        READ_FLAG( uiCode, "vps_depth_modes_flag[i]" );             pcVPS->setVpsDepthModesFlag( i, uiCode == 1 ? true : false );
    1824         //          READ_FLAG( uiCode, "lim_qt_pred_flag[i]");                  pcVPS->setLimQtPreFlag     ( i, uiCode == 1 ? true : false );
     1836#if MTK_I0099_VPS_EX2
     1837        READ_FLAG( uiCode, "lim_qt_pred_flag[i]");                  pcVPS->setLimQtPredFlag     ( i, uiCode == 1 ? true : false );
     1838#endif
    18251839#if H_3D_INTER_SDC
    18261840            READ_FLAG( uiCode, "depth_inter_SDC_flag" );              pcVPS->setInterSDCFlag( i, uiCode ? true : false );
     
    18571871    }
    18581872  }
     1873#if !MTK_I0099_VPS_EX2
    18591874  READ_UVLC (uiCode, "log2_sub_PU_MPI_size_minus3");              pcVPS->setSubPUMPILog2Size( uiCode + 3 );
     1875#endif
    18601876  READ_FLAG( uiCode, "iv_mv_scaling_flag");                       pcVPS->setIvMvScalingFlag( uiCode == 1 ? true : false );
    18611877}
  • branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibDecoder/TDecSbac.cpp

    r976 r1007  
    721721  Bool bParseSplitFlag    = true;
    722722
    723   TComSPS *sps            = pcCU->getPic()->getSlice(0)->getSPS();
     723#if MTK_I0099_VPS_EX2
     724  TComVPS *vps           = pcCU->getPic()->getSlice(0)->getVPS();
     725  Bool    bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId());
     726#else
     727  TComSPS *sps           = pcCU->getPic()->getSlice(0)->getSPS();
     728#endif
    724729  TComPic *pcTexture      = pcCU->getSlice()->getTexturePic();
    725730  Bool bDepthMapDetect    = (pcTexture != NULL);
     
    728733  Bool rapPic = (pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_W_RADL || pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_N_LP || pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_CRA);
    729734
     735#if MTK_I0099_VPS_EX2
     736  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFlag)
     737#else
    730738  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && sps->getUseQTL() && sps->getUsePC())
     739#endif
    731740  {
    732741    TComDataCU *pcTextureCU = pcTexture->getCU(pcCU->getAddr());
     
    770779#if H_3D_QTLPC
    771780  Bool bParsePartSize    = true;
     781#if MTK_I0099_VPS_EX2
     782  TComVPS *vps           = pcCU->getPic()->getSlice(0)->getVPS();
     783  Bool    bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId());
     784#else
    772785  TComSPS *sps           = pcCU->getPic()->getSlice(0)->getSPS();
     786#endif
    773787  TComPic *pcTexture     = pcCU->getSlice()->getTexturePic();
    774788  Bool bDepthMapDetect   = (pcTexture != NULL);
     
    779793  Bool depthDependent = false;
    780794  UInt uiTexturePart = uiMode;
     795#if MTK_I0099_VPS_EX2
     796  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFlag )
     797#else
    781798  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && sps->getUseQTL() && sps->getUsePC())
     799#endif
    782800  {
    783801    TComDataCU *pcTextureCU = pcTexture->getCU(pcCU->getAddr());
Note: See TracChangeset for help on using the changeset viewer.