Changeset 1090 in 3DVCSoftware


Ignore:
Timestamp:
28 Oct 2014, 03:54:11 (10 years ago)
Author:
mediatek-htm
Message:

Integration of JCT3V-J0060. The MACRO is "MTK_SINGLE_DEPTH_VPS_FLAG_J0060".

By YiWen Chen (yiwen.chen@…)

Location:
branches/HTM-12.2-dev1-Mediatek
Files:
2 added
10 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-12.2-dev1-Mediatek/source/App/TAppEncoder/TAppEncTop.cpp

    r1084 r1090  
    20912091    vps.setInterSDCFlag( layer, !isLayerZero && isDepth && m_bDepthInterSDCFlag );
    20922092#endif
     2093#if MTK_SINGLE_DEPTH_VPS_FLAG_J0060
     2094    vps.setSingleDepthModeFlag( layer, !isLayerZero && isDepth && m_useSingleDepthMode );         
     2095#endif
    20932096#if H_3D_IV_MERGE
    20942097#if H_3D_FCO
  • branches/HTM-12.2-dev1-Mediatek/source/Lib/TLibCommon/TComSlice.cpp

    r1084 r1090  
    19531953    m_ivMvScalingFlag[i] = true;
    19541954    m_bIVPFlag [i]      = false;
     1955#if MTK_SINGLE_DEPTH_VPS_FLAG_J0060
     1956    m_singleDepthModeFlag[ i ] = false;
     1957#endif
    19551958#endif
    19561959
  • branches/HTM-12.2-dev1-Mediatek/source/Lib/TLibCommon/TComSlice.h

    r1084 r1090  
    950950  Bool        m_bMPIFlag[MAX_NUM_LAYERS   ];
    951951#endif
    952 
     952#if MTK_SINGLE_DEPTH_VPS_FLAG_J0060
     953  Bool        m_singleDepthModeFlag    [ MAX_NUM_LAYERS ];
     954#endif
    953955#endif
    954956public:
     
    13451347  Bool    getMPIFlag      ( Int layerIdInVps )           { return m_bMPIFlag[layerIdInVps]; }
    13461348  Void    setMPIFlag      ( Int layerIdInVps, Bool bval ){ m_bMPIFlag[layerIdInVps] = bval; }
     1349#endif
     1350#if MTK_SINGLE_DEPTH_VPS_FLAG_J0060
     1351  Void    setSingleDepthModeFlag  ( Int layerIdInVps, Bool val )  { m_singleDepthModeFlag[ layerIdInVps ] = val; }
     1352  Bool    getSingleDepthModeFlag  ( Int layerIdInVps )            { return m_singleDepthModeFlag[ layerIdInVps ]; };
    13471353#endif
    13481354#endif 
     
    24252431  TComPic*  getTexturePic       ()                              { return  m_ivPicsCurrPoc[0][ m_viewIndex ]; }
    24262432#endif
     2433#if !MTK_SINGLE_DEPTH_VPS_FLAG_J0060
    24272434#if H_3D_SINGLE_DEPTH
    24282435  Void      setApplySingleDepthMode( Bool b )                                { m_bApplySingleDepthMode = b; }
    24292436  Bool      getApplySingleDepthMode()                                        { return m_bApplySingleDepthMode; }
     2437#endif
    24302438#endif
    24312439#if H_3D_IC
  • branches/HTM-12.2-dev1-Mediatek/source/Lib/TLibCommon/TypeDef.h

    r1089 r1090  
    231231
    232232#define H_3D_SINGLE_DEPTH                 1   // Single depth mode proposed in JCT3V-I0095
    233 
     233#define MTK_SINGLE_DEPTH_VPS_FLAG_J0060   1   // Add VPS control flags and remove slice header control flag for single depth, JCT3V-J0060
    234234
    235235#define H_3D_INTER_SDC                    1   // INTER SDC, Inter simplified depth coding
  • branches/HTM-12.2-dev1-Mediatek/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r1089 r1090  
    19031903            READ_FLAG( uiCode, "depth_inter_SDC_flag" );              pcVPS->setInterSDCFlag( i, uiCode ? true : false );
    19041904#endif
     1905#if MTK_SINGLE_DEPTH_VPS_FLAG_J0060
     1906        READ_FLAG( uiCode, "single_depth_mode_flag[i]"); pcVPS->setSingleDepthModeFlag( i, uiCode == 1 ? true : false );       
     1907#endif
    19051908      }
    19061909    }
     
    25592562    }
    25602563#endif
     2564#if !MTK_SINGLE_DEPTH_VPS_FLAG_J0060
    25612565#if H_3D_SINGLE_DEPTH
    25622566    if(rpcSlice->getIsDepth())
     
    25662570      rpcSlice->setApplySingleDepthMode(uiCodeTmp);
    25672571    }
     2572#endif
    25682573#endif
    25692574    if (!rpcSlice->isIntra())
  • branches/HTM-12.2-dev1-Mediatek/source/Lib/TLibDecoder/TDecEntropy.cpp

    r1084 r1090  
    5959    return;
    6060  }
     61#if MTK_SINGLE_DEPTH_VPS_FLAG_J0060
     62  if(!pcCU->getSlice()->getVPS()->getSingleDepthModeFlag(pcCU->getSlice()->getLayerIdInVps()))
     63  {
     64     return;
     65  }
     66#else
    6167  if(!pcCU->getSlice()->getApplySingleDepthMode())
    6268  {
    6369     return;
    6470  }
     71#endif
    6572  m_pcEntropyDecoderIf->parseSingleDepthMode( pcCU, uiAbsPartIdx, uiDepth );
    6673}
  • branches/HTM-12.2-dev1-Mediatek/source/Lib/TLibEncoder/TEncCavlc.cpp

    r1089 r1090  
    16191619        WRITE_FLAG( pcVPS->getInterSDCFlag( i ) ? 1 : 0, "depth_inter_SDC_flag" );
    16201620#endif
     1621#if MTK_SINGLE_DEPTH_VPS_FLAG_J0060
     1622        WRITE_FLAG( pcVPS->getSingleDepthModeFlag( i ) ? 1 : 0, "single_depth_mode_flag" );
     1623#endif
    16211624      }
    16221625    } 
     
    20462049    }
    20472050#endif
     2051#if !MTK_SINGLE_DEPTH_VPS_FLAG_J0060
    20482052#if H_3D_SINGLE_DEPTH
    20492053    if(pcSlice->getIsDepth())
     
    20512055      WRITE_FLAG( pcSlice->getApplySingleDepthMode() ? 1 : 0, "slice_enable_single_depth_mode" );
    20522056    }
     2057#endif
    20532058#endif
    20542059#if H_3D_IV_MERGE
  • branches/HTM-12.2-dev1-Mediatek/source/Lib/TLibEncoder/TEncCu.cpp

    r1084 r1090  
    715715#if H_3D_SINGLE_DEPTH
    716716    rpcTempCU->initEstData( uiDepth, iMinQP, isAddLowestQP  );
     717#if MTK_SINGLE_DEPTH_VPS_FLAG_J0060
     718    if(rpcBestCU->getSlice()->getVPS()->getSingleDepthModeFlag(rpcBestCU->getSlice()->getLayerIdInVps()))
     719#else
    717720    if(rpcBestCU->getSlice()->getApplySingleDepthMode())
     721#endif
    718722    {
    719723      xCheckRDCostSingleDepth( rpcBestCU, rpcTempCU, SIZE_2Nx2N );
  • branches/HTM-12.2-dev1-Mediatek/source/Lib/TLibEncoder/TEncEntropy.cpp

    r1084 r1090  
    126126    return;
    127127  }
     128#if MTK_SINGLE_DEPTH_VPS_FLAG_J0060
     129  if(!pcCU->getSlice()->getVPS()->getSingleDepthModeFlag(pcCU->getSlice()->getLayerIdInVps()))
     130  {
     131     return;
     132  }
     133#else
    128134  if(!pcCU->getSlice()->getApplySingleDepthMode())
    129135  {
    130136     return;
    131137  }
    132  
     138#endif
    133139  if( bRD )
    134140  {
  • branches/HTM-12.2-dev1-Mediatek/source/Lib/TLibEncoder/TEncGOP.cpp

    r1084 r1090  
    941941    pcSlice->setRefPicList ( rcListPic );
    942942#endif
     943#if !MTK_SINGLE_DEPTH_VPS_FLAG_J0060
    943944#if H_3D_SINGLE_DEPTH
    944945    TEncTop* pcEncTop = (TEncTop*) m_pcCfg;
     
    953954    pcSlice->setApplySingleDepthMode(enableSingleDepthMode);
    954955#endif   
     956#endif
    955957#if H_3D_ARP
    956958    //GT: This seems to be broken when layerId in vps is not equal to layerId in nuh
Note: See TracChangeset for help on using the changeset viewer.