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/TLibEncoder
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibEncoder/TEncCavlc.cpp

    r976 r1007  
    887887{
    888888#if H_3D_QTLPC
     889#if !MTK_I0099_VPS_EX2
    889890//GT: This has to go to VPS
    890891if( depthFlag )
     
    893894  WRITE_FLAG( pcSPS->getUsePC()  ? 1 : 0, "use_pc_flag");
    894895}
     896#endif
    895897#endif
    896898}
     
    15621564    if (i!= 0)
    15631565    {
     1566#if MTK_I0099_VPS_EX2
     1567      WRITE_FLAG( pcVPS->getIvMvPredFlag         ( i ) ? 1 : 0 , "iv_mv_pred_flag[i]");
     1568#endif
    15641569      if ( !( pcVPS->getDepthId( i ) == 1 ) )
    15651570      {
    15661571#if H_3D_IV_MERGE
     1572#if !MTK_I0099_VPS_EX2
    15671573        WRITE_FLAG( pcVPS->getIvMvPredFlag         ( i ) ? 1 : 0 , "iv_mv_pred_flag[i]");
     1574#endif
    15681575#if H_3D_SPIVMP
    15691576        WRITE_UVLC( pcVPS->getSubPULog2Size(i)-3, "log2_sub_PU_size_minus3[i]");
     
    15851592      else
    15861593      {
     1594#if !MTK_I0099_VPS_EX2
    15871595        if(i!=1)
    15881596        {
     
    15951603        }
    15961604#endif
     1605#endif
    15971606#if H_3D_IV_MERGE
    15981607        WRITE_FLAG( pcVPS->getMPIFlag( i ) ? 1 : 0 ,          "mpi_flag[i]" );
    15991608#endif
     1609#if MTK_I0099_VPS_EX2
     1610        WRITE_UVLC( pcVPS->getSubPUMPILog2Size(i)-3, "log2_mpi_sub_PU_size_minus3[i]");
     1611#endif
    16001612        WRITE_FLAG( pcVPS->getVpsDepthModesFlag( i ) ? 1 : 0 ,          "vps_depth_modes_flag[i]" );
    1601         //WRITE_FLAG( pcVPS->getLimQtPredFlag    ( i ) ? 1 : 0 ,          "lim_qt_pred_flag[i]"     );
     1613#if MTK_I0099_VPS_EX2
     1614        WRITE_FLAG( pcVPS->getLimQtPredFlag    ( i ) ? 1 : 0 ,          "lim_qt_pred_flag[i]"     );
     1615#endif
    16021616#if H_3D_INTER_SDC
    16031617        WRITE_FLAG( pcVPS->getInterSDCFlag( i ) ? 1 : 0, "depth_inter_SDC_flag" );
     
    16251639    }
    16261640  }
     1641#if !MTK_I0099_VPS_EX2
    16271642  WRITE_UVLC( pcVPS->getSubPUMPILog2Size( ) - 3, "log2_sub_PU_MPI_size_minus3");
     1643#endif
    16281644#if H_3D_TMVP
    16291645  WRITE_FLAG( pcVPS->getIvMvScalingFlag( ) ? 1 : 0 ,          "iv_mv_scaling_flag" );
  • branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibEncoder/TEncCfg.h

    r976 r1007  
    420420  Bool      m_useMPI;
    421421#endif
     422#if !MTK_I0099_VPS_EX2
    422423#if H_3D_QTLPC
    423424  Bool      m_bUseQTL;
    424425  Bool      m_bUsePC;
     426#endif
    425427#endif
    426428#endif
     
    10081010  Void      setUseDLT                       ( Bool b) { m_useDLT = b;    }
    10091011#endif
     1012#if !MTK_I0099_VPS_EX2
    10101013#if H_3D_QTLPC
    10111014  Void      setUseQTL                       ( Bool b ) { m_bUseQTL = b;    }
     
    10141017  Bool      getUsePC                        ()         { return m_bUsePC;  }
    10151018#endif
     1019#endif
    10161020#if H_3D_IV_MERGE
    10171021  Void      setUseMPI                       ( Bool b ) { m_useMPI = b;    }
  • branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibEncoder/TEncCu.cpp

    r976 r1007  
    409409
    410410#if H_3D_QTLPC
     411#if MTK_I0099_VPS_EX2
     412  TComVPS *vps            = pcPic->getSlice(0)->getVPS();
     413  Bool  bLimQtPredFalg    = vps->getLimQtPredFlag(pcPic->getSlice(0)->getLayerId());
     414#else
    411415  TComSPS *sps            = pcPic->getSlice(0)->getSPS();
     416#endif
    412417  TComPic *pcTexture      = rpcBestCU->getSlice()->getTexturePic();
    413418
     
    531536      //logic for setting bTrySplit using the partition information that is stored of the texture colocated CU
    532537
     538#if MTK_I0099_VPS_EX2
     539      if(depthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFalg)
     540#else
    533541      if(depthMapDetect && !bIntraSliceDetect && !rapPic && sps->getUseQTL())
     542#endif
    534543      {
    535544        TComDataCU* pcTextureCU = pcTexture->getCU( rpcBestCU->getAddr() ); //Corresponding texture LCU
     
    685694
    686695#if H_3D_QTLPC     
     696#if MTK_I0099_VPS_EX2
     697      if(depthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFalg)
     698#else
    687699      if(depthMapDetect && !bIntraSliceDetect && !rapPic && sps->getUseQTL())
     700#endif
    688701      {
    689702        bTrySplitDQP = bTrySplit;
  • branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibEncoder/TEncSbac.cpp

    r976 r1007  
    664664  PartSize eSize         = pcCU->getPartitionSize( uiAbsPartIdx );
    665665#if H_3D_QTLPC
     666#if MTK_I0099_VPS_EX2
     667  TComVPS *vps           = pcCU->getPic()->getSlice(0)->getVPS();
     668  Bool    bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId());
     669#else
    666670  TComSPS *sps           = pcCU->getPic()->getSlice(0)->getSPS();
     671#endif
    667672  TComPic *pcTexture     = pcCU->getSlice()->getTexturePic();
    668673  Bool bDepthMapDetect   = (pcTexture != NULL);
     
    673678  Bool depthDependent = false;
    674679  UInt uiTexturePart = eSize;
     680#if MTK_I0099_VPS_EX2
     681  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && pcCU->getPic()->getReduceBitsFlag() && bLimQtPredFlag )
     682#else
    675683  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && pcCU->getPic()->getReduceBitsFlag() && sps->getUseQTL() && sps->getUsePC() )
     684#endif
    676685  {
    677686    TComDataCU *pcTextureCU = pcTexture->getCU(pcCU->getAddr());
     
    10311040  Bool bCodeSplitFlag    = true;
    10321041
     1042#if MTK_I0099_VPS_EX2
     1043  TComVPS *vps           = pcCU->getPic()->getSlice(0)->getVPS();
     1044  Bool    bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId());
     1045#else
    10331046  TComSPS *sps           = pcCU->getPic()->getSlice(0)->getSPS();
     1047#endif
    10341048  TComPic *pcTexture     = pcCU->getSlice()->getTexturePic();
    10351049  Bool bDepthMapDetect   = (pcTexture != NULL);
     
    10381052  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);
    10391053
     1054#if MTK_I0099_VPS_EX2
     1055  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && pcCU->getPic()->getReduceBitsFlag() && bLimQtPredFlag  )
     1056#else
    10401057  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && pcCU->getPic()->getReduceBitsFlag() && sps->getUseQTL() && sps->getUsePC())
     1058#endif
    10411059  {
    10421060    TComDataCU *pcTextureCU = pcTexture->getCU(pcCU->getAddr());
  • branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibEncoder/TEncTop.cpp

    r976 r1007  
    744744  m_cSPS.setUseAMP ( m_useAMP );
    745745
     746#if !MTK_I0099_VPS_EX2
    746747#if H_3D_QTLPC
    747748  m_cSPS.setUseQTL( m_bUseQTL );
    748749  m_cSPS.setUsePC ( m_bUsePC  );
     750#endif
    749751#endif
    750752
Note: See TracChangeset for help on using the changeset viewer.