Ignore:
Timestamp:
19 Nov 2012, 21:15:40 (12 years ago)
Author:
mitsubishi-htm
Message:

A second release, as planned

  • Migrate to HTM 4.1
  • Move VSP related switches to cfg file instead of #define in the source code
  • A few bug fixes
  • For VC project files, only VC9 file is updated

TODO

  • Migrate to HTM 5.0, to be used as anchor for CE1 toward Geneva meeting
Location:
branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibCommon
Files:
2 deleted
15 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibCommon/CommonDef.h

    r166 r193  
    5858
    5959#define HM_VERSION        "6.1"
    60 #define NV_VERSION        "4.0.1"                 ///< Current software version
     60#define NV_VERSION        "4.1"                  ///< Current software version
    6161
    6262// ====================================================================================================================
  • branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibCommon/TComDataCU.cpp

    r166 r193  
    7676  if( ucVspMergePos == VSP_MERGE_POS )
    7777  {
    78 #if VSP_TEXT_ONLY
    79     if( !getSlice()->getSPS()->isDepth() )
     78#if VSP_CFG
     79    if( getSlice()->getSPS()->getVspDepthPresentFlag() || !getSlice()->getSPS()->isDepth() )
     80#else
     81    if( !getSlice()->getVspDepthDisableFlag() || !getSlice()->getSPS()->isDepth() )
    8082#endif
    8183    if( getSlice()->getSPS()->getViewId()!=0 && !bVspMvZeroDone )
     
    150152  m_pcTrCoeffCr        = NULL;
    151153#if ADAPTIVE_QP_SELECTION 
     154#if FIX_MEM_LEAKS
     155  m_ArlCoeffIsAliasedAllocation = false;
    152156  m_pcArlCoeffY        = NULL;
    153157  m_pcArlCoeffCb       = NULL;
    154158  m_pcArlCoeffCr       = NULL;
     159#endif
    155160#endif
    156161 
     
    211216  m_piEdgeDeltaDC1      = NULL;
    212217#endif
     218#endif
     219#if OL_DEPTHLIMIT_A0044
     220  //add a variable to store the partition information
     221  //a 2D array in part_symbol, uidepth format
     222  //initialize m_partInfo to OL_END_CU
     223  for (Int i=0; i < OL_PART_BUF_SIZE; i++)
     224  {
     225    for (Int j=0; j < 2; j++)
     226    {
     227      m_uiPartInfo[i][j] = OL_END_CU;
     228    }
     229  }
    213230#endif
    214231}
     
    295312      m_pcArlCoeffCb       = m_pcGlbArlCoeffCb;
    296313      m_pcArlCoeffCr       = m_pcGlbArlCoeffCr;
     314#if FIX_MEM_LEAKS
     315      m_ArlCoeffIsAliasedAllocation = true;
     316#endif
    297317    }
    298318    else
     
    410430    if ( m_pcTrCoeffCr        ) { xFree(m_pcTrCoeffCr);         m_pcTrCoeffCr       = NULL; }
    411431#if ADAPTIVE_QP_SELECTION
     432#if FIX_MEM_LEAKS
     433    if (!m_ArlCoeffIsAliasedAllocation)
     434    {
     435      xFree(m_pcArlCoeffY); m_pcArlCoeffY = 0;
     436      xFree(m_pcArlCoeffCb); m_pcArlCoeffCb = 0;
     437      xFree(m_pcArlCoeffCr); m_pcArlCoeffCr = 0;
     438    }
     439#endif
    412440    if ( m_pcGlbArlCoeffY     ) { xFree(m_pcGlbArlCoeffY);      m_pcGlbArlCoeffY    = NULL; }
    413441    if ( m_pcGlbArlCoeffCb    ) { xFree(m_pcGlbArlCoeffCb);     m_pcGlbArlCoeffCb   = NULL; }
     
    516544Void TComDataCU::initCU( TComPic* pcPic, UInt iCUAddr )
    517545{
     546#if OL_DEPTHLIMIT_A0044
     547  TComDataCU* pcCU     = pcPic->getCU(iCUAddr);
     548#endif
    518549
    519550  m_pcPic              = pcPic;
     
    732763    m_apcCUColocated[1] = getSlice()->getRefPic( REF_PIC_LIST_1, 0)->getCU( m_uiCUAddr );
    733764  }
     765#if OL_DEPTHLIMIT_A0044
     766  setPartDumpFlag (pcCU->getPartDumpFlag());
     767#endif
    734768}
    735769
     
    10611095  memcpy(m_uiSliceStartCU,pcCU->m_uiSliceStartCU+uiPartOffset,sizeof(UInt)*m_uiNumPartition);
    10621096  memcpy(m_uiEntropySliceStartCU,pcCU->m_uiEntropySliceStartCU+uiPartOffset,sizeof(UInt)*m_uiNumPartition);
     1097#if OL_DEPTHLIMIT_A0044
     1098  setPartDumpFlag (pcCU->getPartDumpFlag());
     1099#endif
    10631100}
    10641101
     
    23462383#if H0204_QP_PREDICTION
    23472384  UInt        lPartIdx, aPartIdx;
     2385#if FIX_COMP_WARNING_INIT
     2386  lPartIdx = 0;
     2387  aPartIdx = 0;
     2388#endif
    23482389  TComDataCU* cULeft  = getQpMinCuLeft ( lPartIdx, m_uiAbsIdxInLCU + uiCurrAbsIdxInLCU );
    23492390  TComDataCU* cUAbove = getQpMinCuAbove( aPartIdx, m_uiAbsIdxInLCU + uiCurrAbsIdxInLCU );
     
    31463187    RefPicList eRefList = uiRefIdx ? REF_PIC_LIST_1 : REF_PIC_LIST_0;
    31473188    Int iBestRefIdx = getCUMvField(eRefList)->getRefIdx(uiPartAddr);
    3148     if(iBestRefIdx >= 0 && getSlice()->getViewId() == getSlice()->getRefViewId(eRefList, iBestRefIdx))
     3189    if(iBestRefIdx >= 0 && getSlice()->getViewId() == getSlice()->getRefViewId(eRefList, iBestRefIdx)
     3190#if VSP_N
     3191                        && getSlice()->getPOC() != getSlice()->getRefPOC(eRefList, iBestRefIdx)
     3192#endif
     3193      )
    31493194      iAddResiShift++;
    31503195  }
     
    46144659#endif
    46154660  if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ) )
    4616 #if VSP_N
    4617   if(pcTmpCU->getSlice()->getViewId() != NUM_VIEW_VSP)
    4618 #endif
    46194661  {
    46204662    for(Int iList = 0; iList < (getSlice()->isInterB() ? 2: 1); iList ++)
     
    46254667      {
    46264668        Int refViewIdx  = pcTmpCU->getSlice()->getRefViewId( eRefPicList, refId);
     4669#if VSP_N & VSP_BUGFIX
     4670        Int refPOC = pcTmpCU->getSlice()->getRefPOC( eRefPicList, refId);
     4671        //if( !pcTmpCU->isVspRef( eRefPicList, refId ) )
     4672        if ( refViewIdx!= m_pcSlice->getViewId() || refPOC != m_pcSlice->getPOC())
     4673#else
    46274674        if (refViewIdx!= m_pcSlice->getViewId())
     4675#endif
    46284676        {
    46294677           TComMv cMvPred = pcTmpCU->getCUMvField(eRefPicList)->getMv(uiIdx);
     
    46434691
    46444692  if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ))
    4645 #if VSP_N
    4646   if(pcTmpCU->getSlice()->getViewId() != NUM_VIEW_VSP)
    4647 #endif
    46484693  {
    46494694    for(Int iList = 0; iList < (getSlice()->isInterB() ? 2: 1); iList ++)
     
    46544699      {
    46554700        Int refViewIdx  = pcTmpCU->getSlice()->getRefViewId( eRefPicList, refId);
     4701#if VSP_N & VSP_BUGFIX
     4702        Int refPOC = pcTmpCU->getSlice()->getRefPOC( eRefPicList, refId);
     4703        //if( !pcTmpCU->isVspRef( eRefPicList, refId ) )
     4704        if ( refViewIdx!= m_pcSlice->getViewId() || refPOC != m_pcSlice->getPOC())
     4705#else
    46564706        if (refViewIdx!= m_pcSlice->getViewId())
     4707#endif
    46574708        {
    46584709           TComMv cMvPred = pcTmpCU->getCUMvField(eRefPicList)->getMv(uiIdx);
     
    46724723#endif
    46734724  if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ) )
    4674 #if VSP_N
    4675   if(pcTmpCU->getSlice()->getViewId() != NUM_VIEW_VSP)
    4676 #endif
    46774725  {
    46784726    for(Int iList = 0; iList < (getSlice()->isInterB() ? 2: 1); iList ++)
     
    46834731      {
    46844732        Int refViewIdx  = pcTmpCU->getSlice()->getRefViewId( eRefPicList, refId);
     4733#if VSP_N & VSP_BUGFIX
     4734        Int refPOC = pcTmpCU->getSlice()->getRefPOC( eRefPicList, refId);
     4735        //if( !pcTmpCU->isVspRef( eRefPicList, refId ) )
     4736        if ( refViewIdx!= m_pcSlice->getViewId() || refPOC != m_pcSlice->getPOC())
     4737#else
    46854738        if (refViewIdx!= m_pcSlice->getViewId())
     4739#endif
    46864740        {
    46874741           TComMv cMvPred = pcTmpCU->getCUMvField(eRefPicList)->getMv(uiIdx);
     
    47004754#endif
    47014755  if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ))
    4702 #if VSP_N
    4703   if(pcTmpCU->getSlice()->getViewId() != NUM_VIEW_VSP)
    4704 #endif
    47054756  {
    47064757    for(Int iList = 0; iList < (getSlice()->isInterB() ? 2: 1); iList ++)
     
    47114762      {
    47124763        Int refViewIdx  = pcTmpCU->getSlice()->getRefViewId( eRefPicList, refId);
     4764#if VSP_N & VSP_BUGFIX
     4765        Int refPOC = pcTmpCU->getSlice()->getRefPOC( eRefPicList, refId);
     4766        //if( !pcTmpCU->isVspRef( eRefPicList, refId ) )
     4767        if ( refViewIdx!= m_pcSlice->getViewId() || refPOC != m_pcSlice->getPOC())
     4768#else
    47134769        if (refViewIdx!= m_pcSlice->getViewId())
     4770#endif
    47144771        {
    47154772           TComMv cMvPred = pcTmpCU->getCUMvField(eRefPicList)->getMv(uiIdx);
     
    47314788#endif
    47324789  if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ))
    4733 #if VSP_N
    4734   if(pcTmpCU->getSlice()->getViewId() != NUM_VIEW_VSP)
    4735 #endif
    47364790  {
    47374791    for(Int iList = 0; iList < (getSlice()->isInterB() ? 2: 1); iList ++)
     
    47424796      {
    47434797        Int refViewIdx  = pcTmpCU->getSlice()->getRefViewId( eRefPicList, refId);
     4798#if VSP_N & VSP_BUGFIX
     4799        Int refPOC = pcTmpCU->getSlice()->getRefPOC( eRefPicList, refId);
     4800        //if( !pcTmpCU->isVspRef( eRefPicList, refId ) )
     4801        if ( refViewIdx!= m_pcSlice->getViewId() || refPOC != m_pcSlice->getPOC())
     4802#else
    47444803        if (refViewIdx!= m_pcSlice->getViewId())
     4804#endif
    47454805        {
    47464806           TComMv cMvPred = pcTmpCU->getCUMvField(eRefPicList)->getMv(uiIdx);
     
    49655025  UInt uiLeftPartIdx = uiIdx;
    49665026  if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ) )
    4967 #if VSP_N
    4968   if(pcTmpCU->getSlice()->getViewId() != NUM_VIEW_VSP)
    4969 #endif
    49705027  {
    49715028    bTmpIsSkipped = pcTmpCU->isSkipped( uiIdx );
     
    49855042          return;
    49865043        }
     5044#if VSP_N & VSP_BUGFIX
     5045        else if (pcTmpCU->getSlice()->getRefPOC( eRefPicList, refId) != m_pcSlice->getPOC()) // MCP
     5046#else
    49875047        else // MCP
     5048#endif
    49885049        {
    49895050          cTmpMvPred = pcTmpCU->getCUMvField(eRefPicList)->getMv(uiIdx);
     
    50065067
    50075068  if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ))
    5008 #if VSP_N
    5009   if(pcTmpCU->getSlice()->getViewId() != NUM_VIEW_VSP)
    5010 #endif
    50115069  {
    50125070    bTmpIsSkipped = pcTmpCU->isSkipped( uiIdx );
     
    50265084          return;
    50275085        }
     5086#if VSP_N & VSP_BUGFIX
     5087        else if (pcTmpCU->getSlice()->getRefPOC( eRefPicList, refId) != m_pcSlice->getPOC()) // MCP
     5088#else
    50285089        else // MCP
     5090#endif
    50295091        {
    50305092          cTmpMvPred = pcTmpCU->getCUMvField(eRefPicList)->getMv(uiIdx);
     
    50465108#endif
    50475109  if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ) )
    5048 #if VSP_N
    5049   if(pcTmpCU->getSlice()->getViewId() != NUM_VIEW_VSP)
    5050 #endif
    50515110  {
    50525111    bTmpIsSkipped = pcTmpCU->isSkipped( uiIdx );
     
    50665125          return;
    50675126        }
    5068         else  // MCP
     5127#if VSP_N & VSP_BUGFIX
     5128        else if (pcTmpCU->getSlice()->getRefPOC( eRefPicList, refId) != m_pcSlice->getPOC()) // MCP
     5129#else
     5130        else // MCP
     5131#endif
    50695132        {
    50705133          cTmpMvPred = pcTmpCU->getCUMvField(eRefPicList)->getMv(uiIdx);
     
    50865149#endif
    50875150  if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ))
    5088 #if VSP_N
    5089   if(pcTmpCU->getSlice()->getViewId() != NUM_VIEW_VSP)
    5090 #endif
    50915151  {
    50925152    bTmpIsSkipped = pcTmpCU->isSkipped( uiIdx );
     
    51065166          return;
    51075167        }
     5168#if VSP_N & VSP_BUGFIX
     5169        else if (pcTmpCU->getSlice()->getRefPOC( eRefPicList, refId) != m_pcSlice->getPOC()) // MCP
     5170#else
    51085171        else // MCP
     5172#endif
    51095173        {
    51105174          cTmpMvPred = pcTmpCU->getCUMvField(eRefPicList)->getMv(uiIdx);
     
    51285192#endif
    51295193  if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ))
    5130 #if VSP_N
    5131   if(pcTmpCU->getSlice()->getViewId() != NUM_VIEW_VSP)
    5132 #endif
    51335194  {
    51345195    bTmpIsSkipped = pcTmpCU->isSkipped( uiIdx );
     
    51485209          return;
    51495210        }
     5211#if VSP_N & VSP_BUGFIX
     5212        else if (pcTmpCU->getSlice()->getRefPOC( eRefPicList, refId) != m_pcSlice->getPOC()) // MCP
     5213#else
    51505214        else // MCP
     5215#endif
    51515216        {
    51525217          cTmpMvPred = pcTmpCU->getCUMvField(eRefPicList)->getMv(uiIdx);
     
    57535818  {
    57545819    aiRefIdx[iList] = getCUMvField( RefPicList(iList) )->getRefIdx( uiPartIdx );
    5755     if( aiRefIdx[iList] >= 0 && getSlice()->getRefViewId( RefPicList(iList), aiRefIdx[iList] ) == NUM_VIEW_VSP )
     5820    if( aiRefIdx[iList] >= 0 && isVspRef( RefPicList(iList), aiRefIdx[iList] ) )
    57565821    {
    57575822      iRet |= (iList ? 0x02 : 0x01); // L0=1, L1=2, BI=3
     
    58025867  return iRet;
    58035868}
     5869
     5870Bool TComDataCU::isVspRef ( RefPicList e, Int iRefIdx )
     5871{
     5872  if( iRefIdx < 0 ) return false;
     5873
     5874  if( getSlice()->getRefPic( e, iRefIdx )->getViewId() == getSlice()->getViewId()
     5875   && getSlice()->getRefPic( e, iRefIdx )->getPOC()    == getSlice()->getPOC()   )
     5876  {
     5877    return true;
     5878  }
     5879
     5880  return false;
     5881}
    58045882#endif
    58055883
     
    58665944 
    58675945#if AMVP_VSP_UNAVAILABLE
    5868   if( pcTmpCU != NULL && pcTmpCU->getCUMvField(eRefPicList)->getRefIdx(uiIdx) >= 0 && pcTmpCU->getSlice()->getRefViewId( eRefPicList, pcTmpCU->getCUMvField(eRefPicList)->getRefIdx(uiIdx) ) == NUM_VIEW_VSP )
     5946  if( pcTmpCU != NULL && pcTmpCU->getCUMvField(eRefPicList)->getRefIdx(uiIdx) >= 0 && pcTmpCU->isVspRef( eRefPicList, pcTmpCU->getCUMvField(eRefPicList)->getRefIdx(uiIdx) ) )
    58695947  {
    58705948    return false;
     
    59085986      return false;
    59095987    }
     5988#if VSP_N ///
     5989    if( pcTmpCU->isVspRef( eRefPicList2nd, pcTmpCU->getCUMvField(eRefPicList2nd)->getRefIdx(uiIdx) ) )
     5990      return false;
     5991#endif
    59105992    iNeibRefPOC = pcTmpCU->getSlice()->getRefPOC( eRefPicList2nd, pcTmpCU->getCUMvField(eRefPicList2nd)->getRefIdx(uiIdx) );
    59115993    if( iNeibRefPOC == iCurrRefPOC ) // Same Reference Frame But Diff List//
     
    60356117
    60366118#if AMVP_VSP_UNAVAILABLE
    6037   if( pcTmpCU->getCUMvField(eRefPicList)->getRefIdx(uiIdx) >= 0 && pcTmpCU->getSlice()->getRefViewId( eRefPicList, pcTmpCU->getCUMvField(eRefPicList)->getRefIdx(uiIdx) ) == NUM_VIEW_VSP )
     6119  if( pcTmpCU->getCUMvField(eRefPicList)->getRefIdx(uiIdx) >= 0 && pcTmpCU->isVspRef( eRefPicList, pcTmpCU->getCUMvField(eRefPicList)->getRefIdx(uiIdx) ) )
    60386120  {
    60396121    return false;
     
    60616143    if( pcTmpCU->getSlice()->getRefViewId( eRefPicList2nd, pcTmpCU->getCUMvField(eRefPicList2nd)->getRefIdx(uiIdx) ) != m_pcSlice->getRefViewId( eRefPicList, iRefIdx ) )
    60626144      return false;
     6145#if VSP_N ///
     6146    if( pcTmpCU->isVspRef( eRefPicList2nd, pcTmpCU->getCUMvField(eRefPicList2nd)->getRefIdx(uiIdx) ) )
     6147      return false;
     6148#endif
    60636149    if( iNeibRefPOC == iCurrRefPOC ) // Same Reference Frame But Diff List//
    60646150    {
     
    60846170      return false;
    60856171    }
     6172#if VSP_N ///
     6173    if( pcTmpCU->isVspRef( eRefPicList, pcTmpCU->getCUMvField(eRefPicList)->getRefIdx(uiIdx) ) )
     6174      return false;
     6175#endif
    60866176
    60876177#if VSP_N
    6088     if( pcTmpCU->getSlice()->getRefViewId( eRefPicList, pcTmpCU->getCUMvField(eRefPicList)->getRefIdx(uiIdx) ) == NUM_VIEW_VSP )
     6178    if( pcTmpCU->isVspRef( eRefPicList, pcTmpCU->getCUMvField(eRefPicList)->getRefIdx(uiIdx) ) )
    60896179    {
    60906180      bRefVsp = true;
     
    61196209      return false;
    61206210    }
     6211#if VSP_N ///
     6212    if( pcTmpCU->isVspRef( eRefPicList2nd, pcTmpCU->getCUMvField(eRefPicList2nd)->getRefIdx(uiIdx) ) )
     6213      return false;
     6214#endif
    61216215
    61226216#if VSP_N
    6123     if( pcTmpCU->getSlice()->getRefViewId( eRefPicList2nd, pcTmpCU->getCUMvField(eRefPicList2nd)->getRefIdx(uiIdx) ) == NUM_VIEW_VSP )
     6217    if( pcTmpCU->isVspRef( eRefPicList2nd, pcTmpCU->getCUMvField(eRefPicList2nd)->getRefIdx(uiIdx) ) )
    61246218    {
    61256219      bRefVsp = true;
     
    61616255  Int iColViewIdx, iColRefViewIdx;
    61626256  TComPic *pColPic = getSlice()->getRefPic( eRefPicList, refidx);
    6163 #if VSP_MV_ZERO // shimizu
     6257#if VSP_N
     6258  if( pColPic->getSlice(0)->getViewId() == getSlice()->getViewId() && pColPic->getSlice(0)->getPOC() == getSlice()->getPOC() )
     6259  {
     6260    return false;
     6261  }
     6262#endif
    61646263  TComDataCU *pColCU = pColPic->getCU( uiCUAddr );
    61656264  iColViewIdx = pColCU->getSlice()->getViewId();
    6166 #if VSP_N
    6167   if( iColViewIdx == NUM_VIEW_VSP )
    6168   {
    6169     return false;
    6170   }
    6171 #endif
    6172 #else 
    6173 #if VSP_N
    6174   if( pColPic->getSlice(0)->getViewId() == NUM_VIEW_VSP )
    6175   {
    6176     return false;
    6177   }
    6178 #endif
    6179   TComDataCU *pColCU = pColPic->getCU( uiCUAddr );
    6180   iColViewIdx = pColCU->getSlice()->getViewId();
    6181 #endif
     6265
    61826266
    61836267  if (pColCU->getPic()==0||pColCU->getPartitionSize(uiPartUnitIdx)==SIZE_NONE||pColCU->isIntra(uiAbsPartAddr))
     
    62076291    iColRefViewIdx = pColCU->getSlice()->getRefPic(eColRefPicList, iColRefIdx)->getViewId();
    62086292#if VSP_N
    6209     if( iColRefViewIdx == NUM_VIEW_VSP )
     6293    if( iColRefViewIdx == pColCU->getSlice()->getViewId() && pColCU->getSlice()->getRefPic(eColRefPicList, iColRefIdx)->getPOC() == pColCU->getSlice()->getPOC() )
    62106294    {
    62116295      continue;
     
    63516435//  UInt uiColRefViewId = pColCU->getSlice()->getRefPic( eColRefPicList, pColCU->getCUMvField(eColRefPicList)->getRefIdx(uiAbsPartAddr))->getViewId();
    63526436  UInt uiCurRefViewId = m_pcSlice->getRefPic(eRefPicList, riRefIdx)->getViewId();
    6353   if( uiCurRefViewId == NUM_VIEW_VSP )
     6437  if( uiCurRefViewId == m_pcSlice->getViewId() && m_pcSlice->getRefPic(eRefPicList, riRefIdx)->getPOC() == m_pcSlice->getPOC() )
    63546438    iScale = 4096;
    63556439  else
     
    63686452  {
    63696453#if VSP_MV_ZERO
    6370     if( uiCurRefViewId == NUM_VIEW_VSP )
     6454    if( uiCurRefViewId == m_pcSlice->getViewId() && m_pcSlice->getRefPic(eRefPicList, riRefIdx)->getPOC() == m_pcSlice->getPOC() )
    63716455      rcMv.setZero();
    63726456    else
     
    64816565    return false;
    64826566  }
     6567#if VSP_N ///
     6568  if( isVspRef( eRefPicList, iRefIdx ) )
     6569  {
     6570    return false;
     6571  }
     6572#endif
    64836573
    64846574  // Prefer a vector crossing us.  Prefer shortest.
     
    64956585    }
    64966586    int iColRefPOC = pColCU->getSlice()->getRefPOC(RefPicList(l), iColRefIdx);
     6587#if VSP_N ///
     6588    Bool bColVsp    = pColCU->isVspRef( RefPicList(getSlice()->isInterB() ? getSlice()->getColDir() : 0), getSlice()->getColRefIdx() );
     6589    Bool bColRefVsp = pColCU->isVspRef( RefPicList(l), iColRefIdx );
     6590    if( ( bColRefVsp && !bColVsp) || (!bColRefVsp &&  bColVsp) )
     6591#endif
    64976592    if( pColCU->getSlice()->getRefViewId( RefPicList(l), iColRefIdx ) != pColCU->getSlice()->getViewId() )
    64986593    {
  • branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibCommon/TComDataCU.h

    r166 r193  
    159159  Int*          m_pcArlCoeffCb;       ///< ARL coefficient buffer (Cb)
    160160  Int*          m_pcArlCoeffCr;       ///< ARL coefficient buffer (Cr)
     161#if FIX_MEM_LEAKS
     162  Bool          m_ArlCoeffIsAliasedAllocation; ///< ARL coefficient buffer is an alias of the global buffer and must not be free()'d
     163#endif
    161164
    162165  static Int*   m_pcGlbArlCoeffY;     ///< ARL coefficient buffer (Y)
     
    237240  UInt*         m_uiSliceStartCU;    ///< Start CU address of current slice
    238241  UInt*         m_uiEntropySliceStartCU; ///< Start CU address of current slice
     242
     243#if OL_DEPTHLIMIT_A0044
     244  //add a variable to store the partition information
     245  //a 2D array in uidepth, part_symbol format
     246  UInt          m_uiPartInfo[OL_PART_BUF_SIZE][2];
     247  UInt          m_uiPartNum;
     248  Bool          m_dumpPartInfo;
     249#endif
    239250 
    240251  // -------------------------------------------------------------------------------------------------------------------
     
    600611 
    601612  Void          compressMV            ();
     613
     614#if OL_DEPTHLIMIT_A0044
     615  Void        resetPartInfo     () {m_uiPartNum = 0;};
     616  Void        incrementPartInfo () {m_uiPartNum ++;};
     617  Void        updatePartInfo(UInt uiSymbol, UInt uiDepth) { m_uiPartInfo[m_uiPartNum][0] = uiSymbol; m_uiPartInfo[m_uiPartNum][1] = uiDepth;};
     618  UInt*       readPartInfo()                              { return (UInt*)m_uiPartInfo;};
     619  Void        setPartDumpFlag(Bool flag)                  { m_dumpPartInfo = flag; };
     620  Bool        getPartDumpFlag()                           { return m_dumpPartInfo; };
     621#endif
    602622 
    603623  // -------------------------------------------------------------------------------------------------------------------
     
    665685  Int           isVspMode ( UInt uiPartIdx );
    666686  Int           isVspMode ( UInt uiPartIdx, TComMv cCompMv );
     687  Bool          isVspRef  ( RefPicList e, Int iRefIdx );
    667688#endif
    668689 
  • branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibCommon/TComDepthMapGenerator.cpp

    r166 r193  
    743743      {
    744744#if VSP_N
    745         if( pcSlice->getRefViewId( eRefPicList, iPdmRefIdx ) != NUM_VIEW_VSP )
     745        if( !pcCU->isVspRef( eRefPicList, iPdmRefIdx ) )
    746746#endif
    747747        if( pcSlice->getRefPOC( eRefPicList, iPdmRefIdx ) == pcSlice->getPOC())
     
    846846  Bool          bInterview  = ( uiRefViewId < m_uiCurrViewId );
    847847#if VSP_N
    848   Bool          bVsp        = ( pcRefPic->getViewId() == NUM_VIEW_VSP );
     848  Bool          bVsp        = pcCU->isVspRef( eRefPicList, iRefIdx );
    849849  AOT(  bInterview &&  bVsp && iRefPoc != pcSlice->getPOC() );
    850850  AOT( !bInterview && !bVsp && iRefPoc == pcSlice->getPOC() );
     
    947947  Bool          bInterview  = ( uiRefViewId < m_uiCurrViewId );
    948948#if VSP_N
    949   Bool          bVsp        = ( pcRefPic->getViewId() == NUM_VIEW_VSP );
     949  Bool          bVsp        = pcCU->isVspRef( eRefPicList, iRefIdx );
    950950  AOT(  bInterview &&  bVsp && iRefPoc != pcSlice->getPOC() );
    951951  AOT( !bInterview && !bVsp && iRefPoc == pcSlice->getPOC() );
     
    15021502    Bool            bUsesInterViewPrd = ( abCurrIntView[0] || abCurrIntView[1] );
    15031503#if VSP_N
    1504     if(( aiCurrRefIdx[0] >= 0 && pcCU->getSlice()->getRefPic( REF_PIC_LIST_0, aiCurrRefIdx[0] )->getViewId() == NUM_VIEW_VSP ) ||
    1505        ( aiCurrRefIdx[1] >= 0 && pcCU->getSlice()->getRefPic( REF_PIC_LIST_1, aiCurrRefIdx[1] )->getViewId() == NUM_VIEW_VSP )) {
     1504    if(( aiCurrRefIdx[0] >= 0 && pcCU->isVspRef( REF_PIC_LIST_0, aiCurrRefIdx[0] ) ) ||
     1505       ( aiCurrRefIdx[1] >= 0 && pcCU->isVspRef( REF_PIC_LIST_1, aiCurrRefIdx[1] ) )) {
    15061506      //if refpic is VSP, copy to Original cuurent PDM
    15071507      TComPicYuv* pcPdm = pcCU->getPic()->getPredDepthMap();
  • branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibCommon/TComPic.cpp

    r166 r193  
    6969  m_pcResidual        = NULL;
    7070#endif
    71 #if DEBUGIMGOUT
    72   m_acPicYuvDebug     = NULL;
    73 #endif
    7471  m_pcPicYuvPred      = NULL;
    7572  m_pcPicYuvResi      = NULL;
     
    10299  }
    103100  m_apcPicYuv[1]  = new TComPicYuv;  m_apcPicYuv[1]->create( iWidth, iHeight, uiMaxWidth, uiMaxHeight, uiMaxDepth );
    104 #if DEBUGIMGOUT
    105   m_acPicYuvDebug    = new TComPicYuv;  m_acPicYuvDebug->create( iWidth, iHeight, uiMaxWidth, uiMaxHeight, uiMaxDepth );
    106 #endif
    107 
     101 
    108102  /* there are no SEI messages associated with this picture initially */
    109103  m_SEIs = NULL;
     
    172166    delete m_pcResidual;
    173167    m_pcResidual = NULL;
    174   }
    175 #endif
    176 #if DEBUGIMGOUT
    177   if (m_acPicYuvDebug)
    178   {
    179     m_acPicYuvDebug->destroy();
    180     delete m_acPicYuvDebug;
    181     m_acPicYuvDebug = NULL;
    182168  }
    183169#endif
  • branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibCommon/TComPic.h

    r166 r193  
    9191  TComPicYuv*           m_pcResidual;             //  residual buffer (coded or inter-view predicted residual)
    9292#endif
    93 #if DEBUGIMGOUT
    94   TComPicYuv*           m_acPicYuvDebug;          //  debug image
    95 #endif
    9693
    9794  TComPicYuv*           m_pcPicYuvPred;           //  Prediction
     
    120117  Int**                 m_aaiCodedScale;
    121118  Int**                 m_aaiCodedOffset;
     119
     120#if OL_DEPTHLIMIT_A0044
     121  UInt*                 m_texPartInfo;
     122  UInt                  m_uiTexPartIndex;
     123#endif
    122124
    123125public:
     
    183185#if HHI_INTER_VIEW_RESIDUAL_PRED
    184186  TComPicYuv*   getResidual()         { return  m_pcResidual; }
    185 #endif
    186 
    187 #if DEBUGIMGOUT
    188   TComPicYuv*   getPicYuvRecDbg()     { return  m_acPicYuvDebug; }
    189187#endif
    190188
     
    262260  Void          removeResidualBuffer    ();
    263261#endif
     262
     263#if OL_DEPTHLIMIT_A0044
     264  UInt        accessPartInfo        ( UInt count )   { return m_texPartInfo[m_uiTexPartIndex + count]; };
     265  Void        incrementTexPartIndex (            )   { m_uiTexPartIndex += 2;    };
     266  UInt        getTexPartIndex       ()               { return m_uiTexPartIndex;  };
     267  Void        setTexPartIndex       ( UInt idx   )   { m_uiTexPartIndex = idx; };
     268  Void        setPartInfo           ( UInt* texPart) { m_texPartInfo    = texPart;  };
     269#endif
     270
    264271  Bool          getValidSlice                                  (Int sliceID)  {return m_pbValidSlice[sliceID];}
    265272  Int           getSliceGranularityForNDBFilter                ()             {return m_sliceGranularityForNDBFilter;}
  • branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibCommon/TComPicSym.cpp

    r166 r193  
    126126  m_apcTComDataCU = NULL;
    127127
     128
     129#if FIX_MEM_LEAKS
     130  if( m_apcTComTile )
     131  {
     132    for( i=0; i<(m_iNumColumnsMinus1+1)*(m_iNumRowsMinus1+1); i++ )
     133    {
     134      if ( m_apcTComTile[i] )  delete m_apcTComTile[i];
     135    }
     136  }
     137#endif
     138
    128139  delete [] m_apcTComTile;
    129140  m_apcTComTile = NULL;
  • branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibCommon/TComPicYuv.h

    r166 r193  
    184184  Void  setChromaTo  ( Pel pVal ); 
    185185
    186 #if DEBUGIMGOUT
    187   // Degub tools
    188 public:
    189   Void colsetToPicYuv   ( const UChar ucColor[3],                 Int iOffset[2][2], TComPicYuv* pcPicYuvDst, UInt iCuAddr, UInt uiAbsZorderIdx, UInt uiPartDepth = 0, UInt uiPartIdx = 0 );
    190   Void colsetToPicLuma  ( const UChar ucLumaOffCol,               Int iOffset[2][2], TComPicYuv* pcPicYuvDst, UInt iCuAddr, UInt uiAbsZorderIdx, UInt uiPartDepth = 0, UInt uiPartIdx = 0 );
    191   Void colsetToPicChroma( const UChar ucUCol, const UChar ucVCol, Int iOffset[2][2], TComPicYuv* pcPicYuvDst, UInt iCuAddr, UInt uiAbsZorderIdx, UInt uiPartDepth = 0, UInt uiPartIdx = 0 );
    192   Void drawLineToPicYuv ( bool bHor, bool bVer, UInt uiSize,      TComPicYuv* pcPicYuvDst, UInt iCuAddr, UInt uiAbsZorderIdx, UInt uiPartDepth = 0, UInt uiPartIdx = 0 );
    193 #endif
    194 
    195186};// END CLASS DEFINITION TComPicYuv
    196187
  • branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibCommon/TComPrediction.h

    r166 r193  
    9595  Void xPredInterPrdDepthMap    ( TComDataCU* pcCU, TComPicYuv* pcPicYuvRef, UInt uiPartAddr, TComMv* pcMv, Int iWidth, Int iHeight,                         TComYuv*& rpcYuv, UInt uiRShift, UInt uiOffset );
    9696#endif
     97
    9798#if DEPTH_MAP_GENERATION
    9899  Void xWeightedAveragePdm      ( TComDataCU* pcCU, TComYuv* pcYuvSrc0, TComYuv* pcYuvSrc1, Int iRefIdx0, Int iRefIdx1, UInt uiPartAddr, Int iWidth, Int iHeight, TComYuv*& rpcYuvDst, UInt uiSubSampExpX, UInt uiSubSampExpY );
  • branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibCommon/TComRdCost.h

    r100 r193  
    377377  Bool                    m_bUseEstimatedVSD;
    378378#endif
     379#if LGE_WVSO_A0119
     380  Int                     m_iDWeight;
     381  Int                     m_iVSOWeight;
     382  Int                     m_iVSDWeight;
     383  Bool                    m_bUseWVSO;
     384#endif
    379385
    380386  Bool                    m_bUseVSO;
     
    410416  Void    setVSOMode( UInt uiIn);
    411417  UInt    getVSOMode( )                  { return m_uiVSOMode; }
    412 
     418#if LGE_WVSO_A0119
     419  Void    setUseWVSO ( Bool bIn )         { m_bUseWVSO = bIn; };
     420  Bool    getUseWVSO ( )                  { return m_bUseWVSO;};
     421  Void    setDWeight   ( Int iDWeight   ) { m_iDWeight = iDWeight; };
     422  Int     getDWeight   ()                 { return m_iDWeight; };
     423  Void    setVSOWeight ( Int iVSOWeight ) { m_iVSOWeight = iVSOWeight; };
     424  Int     getVSOWeight ()                 { return m_iVSOWeight; };
     425  Void    setVSDWeight ( Int iVSDWeight ) { m_iVSDWeight = iVSDWeight; };
     426  Int     getVSDWeight ()                 { return m_iVSDWeight; };
     427#endif
    413428#if HHI_VSO_DIST_INT
    414429  Void    setAllowNegDist ( Bool bAllowNegDist );
  • branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibCommon/TComSlice.cpp

    r166 r193  
    112112, m_iViewOrderIdx                 ( 0 )
    113113#endif
     114#if VSP_CFG
     115, m_uiNumVspRefPics               ( 0 )
     116#endif
    114117{
    115118  m_aiNumRefIdx[0] = m_aiNumRefIdx[1] = m_aiNumRefIdx[2] = 0;
     
    146149#if VSP_SLICE_HEADER
    147150  m_bVspFlag = false;
     151#if VSP_CFG
     152  memset( m_uiVspRefPos[0], 0, sizeof(UInt)*MAX_NUM_REF_PICS );
     153  memset( m_uiVspRefPos[1], 0, sizeof(UInt)*MAX_NUM_REF_PICS );
     154#else
     155  m_bVspDepthDisableFlag = false;
     156#endif
    148157#endif
    149158}
     
    195204#if VSP_SLICE_HEADER
    196205  m_bVspFlag = false;
     206#if VSP_CFG
     207  m_uiNumVspRefPics = 0;
     208  memset( m_uiVspRefPos[0], 0, sizeof(UInt)*MAX_NUM_REF_PICS );
     209  memset( m_uiVspRefPos[1], 0, sizeof(UInt)*MAX_NUM_REF_PICS );
     210#else
     211  m_bVspDepthDisableFlag = false;
     212#endif
    197213#endif
    198214
     
    544560  }
    545561
     562#if VSP_CFG
     563  UInt cIdxTmp;
     564  for( cIdx = 0, cIdxTmp = 0; cIdx <= num_ref_idx_l0_active_minus1; cIdx ++ )
     565#else
    546566  for( cIdx = 0; cIdx <= num_ref_idx_l0_active_minus1; cIdx ++ )
     567#endif
    547568  {
    548569#if VSP_N
     570#if VSP_CFG
     571    Int iVspRefPos = getVspRefPos(REF_PIC_LIST_0, 0);
     572    iVspRefPos = ( iVspRefPos > 0 ? iVspRefPos - 1 : -1 );
     573    if( pcVspPic && iVspRefPos != -1 && cIdx == (iVspRefPos >= num_ref_idx_l0_active_minus1 ? num_ref_idx_l0_active_minus1 : iVspRefPos) )
     574#else
    549575    if( pcVspPic && cIdx == num_ref_idx_l0_active_minus1 )
     576#endif
    550577    {
    551578      m_apcRefPicList[0][cIdx] = RefPicSetVspCurr[0];
     
    555582    }
    556583    else
     584    {
     585#if VSP_CFG
     586      m_apcRefPicList[0][cIdx] = m_RefPicListModification.getRefPicListModificationFlagL0() ? refPicListTemp0[ m_RefPicListModification.getRefPicSetIdxL0(cIdxTmp) ] : refPicListTemp0[cIdxTmp];
     587      cIdxTmp++;
     588#else
    557589      m_apcRefPicList[0][cIdx] = m_RefPicListModification.getRefPicListModificationFlagL0() ? refPicListTemp0[ m_RefPicListModification.getRefPicSetIdxL0(cIdx) ] : refPicListTemp0[cIdx];
     590#endif
     591    }
    558592#else
    559593    m_apcRefPicList[0][cIdx] = m_RefPicListModification.getRefPicListModificationFlagL0() ? refPicListTemp0[ m_RefPicListModification.getRefPicSetIdxL0(cIdx) ] : refPicListTemp0[cIdx];
     
    567601  else
    568602  {
     603#if VSP_CFG
     604    for( cIdx = 0, cIdxTmp = 0; cIdx <= num_ref_idx_l1_active_minus1; cIdx ++ )
     605#else
    569606    for( cIdx = 0; cIdx <= num_ref_idx_l1_active_minus1; cIdx ++ )
     607#endif
    570608    {
    571609#if VSP_N
     610#if VSP_CFG
     611      Int iVspRefPos = getVspRefPos(REF_PIC_LIST_1, 0);
     612      iVspRefPos = ( iVspRefPos > 0 ? iVspRefPos - 1 : -1 );
     613      if( pcVspPic && iVspRefPos != -1 && cIdx == (iVspRefPos >= num_ref_idx_l1_active_minus1 ? num_ref_idx_l1_active_minus1 : iVspRefPos) )
     614#else
    572615      if( pcVspPic && cIdx == num_ref_idx_l1_active_minus1 )
     616#endif
    573617      {
    574618        m_apcRefPicList[1][cIdx] = RefPicSetVspCurr[0];
     
    578622      }
    579623      else
     624      {
     625#if VSP_CFG
     626        m_apcRefPicList[1][cIdx] = m_RefPicListModification.getRefPicListModificationFlagL1() ? refPicListTemp1[ m_RefPicListModification.getRefPicSetIdxL1(cIdxTmp) ] : refPicListTemp1[cIdxTmp];
     627        cIdxTmp++;
     628#else
    580629        m_apcRefPicList[1][cIdx] = m_RefPicListModification.getRefPicListModificationFlagL1() ? refPicListTemp1[ m_RefPicListModification.getRefPicSetIdxL1(cIdx) ] : refPicListTemp1[cIdx];
     630#endif
     631      }
    581632#else
    582633      m_apcRefPicList[1][cIdx] = m_RefPicListModification.getRefPicListModificationFlagL1() ? refPicListTemp1[ m_RefPicListModification.getRefPicSetIdxL1(cIdx) ] : refPicListTemp1[cIdx];
     
    15011552#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
    15021553, m_bUseDMM                   (false)
     1554#endif
     1555#if OL_DEPTHLIMIT_A0044
     1556, m_bDepthPartitionLimiting   (false)
     1557#endif
     1558#if VSP_N
     1559, m_bVspPresentFlag           (false)
     1560#if VSP_CFG
     1561, m_bVspDepthPresentFlag      (false)
     1562#endif
    15031563#endif
    15041564{
  • branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibCommon/TComSlice.h

    r166 r193  
    4545#include "TComRom.h"
    4646#include "TComList.h"
     47
    4748//! \ingroup TLibCommon
    4849//! \{
     
    353354#endif
    354355
     356#if OL_DEPTHLIMIT_A0044
     357  Bool m_bDepthPartitionLimiting;
     358#endif
     359
    355360#if DEPTH_MAP_GENERATION
    356361  UInt  m_uiPredDepthMapGeneration;
     
    372377#if HHI_INTER_VIEW_RESIDUAL_PRED
    373378  TComResidualGenerator* m_pcResidualGenerator;
     379#endif
     380
     381#if VSP_N
     382  Bool  m_bVspPresentFlag;
     383#if VSP_CFG
     384  Bool  m_bVspDepthPresentFlag;
     385#endif
    374386#endif
    375387
     
    618630#endif
    619631
     632#if OL_DEPTHLIMIT_A0044
     633  Void setUseDPL(Bool b) {m_bDepthPartitionLimiting = b; }
     634  Bool getUseDPL()       {return m_bDepthPartitionLimiting;}
     635#endif
     636
    620637  Void initMultiviewSPS      ( UInt uiViewId, Int iViewOrderIdx = 0, UInt uiCamParPrecision = 0, Bool bCamParSlice = false, Int** aaiScale = 0, Int** aaiOffset = 0 );
    621638  Void initMultiviewSPSDepth ( UInt uiViewId, Int iViewOrderIdx );
     
    660677  Void                    setResidualGenerator( TComResidualGenerator* pcResidualGenerator )  { m_pcResidualGenerator = pcResidualGenerator; }
    661678  TComResidualGenerator*  getResidualGenerator()                                              { return m_pcResidualGenerator; }
     679#endif
     680
     681#if VSP_N
     682  Void  setVspPresentFlag( Bool b ) { m_bVspPresentFlag = b; }
     683  Bool  getVspPresentFlag()         { return m_bVspPresentFlag; }
     684#if VSP_CFG
     685  Void  setVspDepthPresentFlag( Bool b ) { m_bVspDepthPresentFlag = b; }
     686  Bool  getVspDepthPresentFlag()         { return m_bVspDepthPresentFlag; }
     687#endif
    662688#endif
    663689};
     
    12771303#if VSP_SLICE_HEADER
    12781304  Bool      m_bVspFlag;
     1305#if VSP_CFG
     1306  UInt      m_uiNumVspRefPics;
     1307  UInt      m_uiVspRefPos[2][MAX_NUM_REF_PICS];
     1308#else
     1309  Bool      m_bVspDepthDisableFlag;
     1310#endif
    12791311#endif
    12801312
     
    15841616  Void      setVspFlag          ( Bool val )    { m_bVspFlag = val; }
    15851617  Bool      getVspFlag          ()              { return m_bVspFlag; }
     1618#if VSP_CFG
     1619  Void      setNumVspRefPics( UInt val )        { m_uiNumVspRefPics = val; }
     1620  UInt      getNumVspRefPics()                  { return m_uiNumVspRefPics; }
     1621  Void      setVspRefPos( UInt dir, UInt idx, UInt val )  { m_uiVspRefPos[dir][idx] = val; }
     1622  UInt      getVspRefPos( UInt dir, UInt idx )            { return m_uiVspRefPos[dir][idx]; }
     1623#else
     1624  Void      setVspDepthDisableFlag( Bool val )  { m_bVspDepthDisableFlag = val; }
     1625  Bool      getVspDepthDisableFlag()            { return m_bVspDepthDisableFlag; }
     1626#endif
    15861627#endif
    15871628
  • branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibCommon/TComWedgelet.h

    r56 r193  
    198198  static UInt xGetSAD16         ( WedgeDistParam* pcDtParam );
    199199  static UInt xGetSAD32         ( WedgeDistParam* pcDtParam );
    200   //static UInt xGetSAD64         ( WedgeDistParam* pcDtParam );
    201200
    202201  static UInt xGetSSE4          ( WedgeDistParam* pcDtParam );
     
    204203  static UInt xGetSSE16         ( WedgeDistParam* pcDtParam );
    205204  static UInt xGetSSE32         ( WedgeDistParam* pcDtParam );
    206   //static UInt xGetSSE64         ( WedgeDistParam* pcDtParam );
    207205
    208206};// END CLASS DEFINITION TComWedgeDist
  • branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibCommon/TComYuv.h

    r166 r193  
    213213
    214214  __inline Pel  xClip  (Pel x )      { return ( (x < 0) ? 0 : (x > (Pel)g_uiIBDI_MAX) ? (Pel)g_uiIBDI_MAX : x ); }
    215 
    216 #if DEBUGIMGOUT
    217 public:
    218   Void colsetToPicYuv   ( const UChar ucColor[3],                 Int iOffset[2][2], TComPicYuv* pcPicYuvDst, UInt iCuAddr, UInt uiAbsZorderIdx, UInt uiPartDepth = 0, UInt uiPartIdx = 0 );
    219   Void colsetToPicLuma  ( const UChar ucLumaOffCol,               Int iOffset[2][2], TComPicYuv* pcPicYuvDst, UInt iCuAddr, UInt uiAbsZorderIdx, UInt uiPartDepth = 0, UInt uiPartIdx = 0 );
    220   Void colsetToPicChroma( const UChar ucUCol, const UChar ucVCol, Int iOffset[2][2], TComPicYuv* pcPicYuvDst, UInt iCuAddr, UInt uiAbsZorderIdx, UInt uiPartDepth = 0, UInt uiPartIdx = 0 );
    221   Void drawLineToPicYuv ( bool bHor, bool bVer, UInt uiSize,      TComPicYuv* pcPicYuvDst, UInt iCuAddr, UInt uiAbsZorderIdx, UInt uiPartDepth = 0, UInt uiPartIdx = 0 );
    222 #endif
    223 
    224215};// END CLASS DEFINITION TComYuv
    225216
  • branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibCommon/TypeDef.h

    r166 r193  
    4444#define VSP_N                             1
    4545#if VSP_N
    46 #define VSP_TEXT_ONLY                     1
    47 #define NUM_VIEW_VSP                      99
     46#define VSP_BUGFIX                        1
    4847#define VSP_N_DUMP                        0
    4948#define FORCE_REF_VSP                     2   // 0=NotUseVSPSKIP 1:VSPSKIPforFlag 2:VSPSKIPforMergeIdx
    50 #define VSP_MV_ZERO                       0   // use zero vector for VSP
     49#define VSP_MV_ZERO                       1   // use zero vector for VSP
    5150#if VSP_MV_ZERO
    5251#define AMVP_VSP_UNAVAILABLE              1
     
    5453#define VSP_MERGE_POS                     5   // position of vsp in merge list (0..5)
    5554#define NTT_SUBPEL                        1
    56 #endif
    57 #define DEBUGIMGOUT                       0   //Debug YUVImage Out
    58 #define DEBUGLOGOUT                       0   //Debug Log Out
     55#define VSP_CFG                           1
     56#endif
    5957
    6058#define VSP_SLICE_HEADER                  1
     59#if !VSP_CFG
    6160#define VSP_FRAME_INTERVAL                2
     61#endif
    6262
    6363#define FIXES                             1
     
    6666#define FIX_INIT_ROM                      1
    6767#define FIX_VIRT_DESTRUCTOR               1
    68 #define FIX_DBL_CONTROL_DEFAULT           1
     68#define FIX_MEM_LEAKS                     1
     69#define FIX_VSO_SETUP                     1
     70#define FIX_COMP_WARNING_INIT             1
    6971#define FIX_RDO_MACRO                     1
    7072#define FIX_LG_RESTRICTEDRESPRED_M24766   1
     73#define FIX_REMOVE_TILE_DEPENDENCE        1
     74#define FIX_DBL_CONTROL_DEFAULT           1
    7175
    7276
     
    116120#define SAIT_VSO_EST_A0033                1 // JCT2-A0033 modification 3
    117121#define LGE_VSO_EARLY_SKIP_A0093          1 // JCT2-A0093 modification 4
    118 
     122#define LGE_WVSO_A0119                    1 // JCT2-A0119 Depth Metric with a weighted depth fidelity term
     123
     124#define OL_DEPTHLIMIT_A0044               1 //JCT2-A0044
     125#if OL_DEPTHLIMIT_A0044
     126#define OL_DO_NOT_LIMIT_INTRA_SLICES_PART 1 //Turn this on to not perform depth limiting for I-SLICES.
     127#define OL_END_CU                         MAX_INT //Default for initializing the partition information buffer
     128#define OL_PART_BUF_SIZE                  86 //maximum number of possible partition bits in a CU
     129#endif
    119130
    120131#define HHI_INTERVIEW_SKIP                1
Note: See TracChangeset for help on using the changeset viewer.