Ignore:
Timestamp:
5 Feb 2012, 22:00:22 (14 years ago)
Author:
poznan-univ
Message:

Poznan disocclusion coding - CU Skip

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/0.2-poznan-univ/source/Lib/TLibDecoder/TDecTop.h

    r5 r11  
    7171  Void  uninit      ();
    7272  Void  setSlice    ( TComSlice* pcSlice );
     73#if POZNAN_SYNTH
     74  Double****          getBaseViewShiftLUTD      ()  { return m_adBaseViewShiftLUT;   }
     75  Int****             getBaseViewShiftLUTI      ()  { return m_aiBaseViewShiftLUT;   }
     76
     77  Int**               getBaseViewOffsetI        ()  { return m_aaiCodedOffset;   }
     78  Int**               getBaseViewScaleI         ()  { return m_aaiCodedScale;   }
     79
     80  Bool                getNearestBaseView        ( Int iSynthViewIdx, Int &riNearestViewIdx, Int &riRelDistToLeft, Bool& rbRenderFromLeft);
     81#endif
    7382
    7483private:
     
    8998  Int     m_iLastPOC;
    9099  UInt    m_uiMaxViewId;
    91 };
     100
     101#if POZNAN_SYNTH
     102
     103  UInt    m_uiBitDepthForLUT;
     104  UInt    m_iLog2Precision;
     105  UInt    m_uiInputBitDepth;
     106
     107  // look-up tables
     108  Double****          m_adBaseViewShiftLUT;                                                                             ///< Disparity LUT
     109  Int****             m_aiBaseViewShiftLUT;                                                                       ///< Disparity LUT
     110
     111  Void xCreateLUTs( UInt uiNumberSourceViews, UInt uiNumberTargetViews, Double****& radLUT, Int****& raiLUT);
     112  Void xInitLUTs( UInt uiSourceView, UInt uiTargetView, Int iScale, Int iOffset, Double****& radLUT, Int****& raiLUT);
     113
     114  template<class T> Void  xDeleteArray  ( T*& rpt, UInt uiSize1, UInt uiSize2, UInt uiSize3 );
     115  template<class T> Void  xDeleteArray  ( T*& rpt, UInt uiSize1, UInt uiSize2 );
     116  template<class T> Void  xDeleteArray  ( T*& rpt, UInt uiSize );
     117#endif
     118};
     119
     120#if POZNAN_SYNTH
     121  template <class T>
     122Void CamParsCollector::xDeleteArray( T*& rpt, UInt uiSize1, UInt uiSize2, UInt uiSize3 )
     123{
     124  if( rpt )
     125  {
     126    for( UInt uiK = 0; uiK < uiSize1; uiK++ )
     127    {
     128      for( UInt uiL = 0; uiL < uiSize2; uiL++ )
     129      {
     130        for( UInt uiM = 0; uiM < uiSize3; uiM++ )
     131        {
     132          delete[] rpt[ uiK ][ uiL ][ uiM ];
     133        }
     134        delete[] rpt[ uiK ][ uiL ];
     135      }
     136      delete[] rpt[ uiK ];
     137    }
     138    delete[] rpt;
     139  }
     140  rpt = NULL;
     141};
     142
     143
     144template <class T>
     145Void CamParsCollector::xDeleteArray( T*& rpt, UInt uiSize1, UInt uiSize2 )
     146{
     147  if( rpt )
     148  {
     149    for( UInt uiK = 0; uiK < uiSize1; uiK++ )
     150    {
     151      for( UInt uiL = 0; uiL < uiSize2; uiL++ )
     152      {
     153        delete[] rpt[ uiK ][ uiL ];
     154      }
     155      delete[] rpt[ uiK ];
     156    }
     157    delete[] rpt;
     158  }
     159  rpt = NULL;
     160};
     161
     162
     163template <class T>
     164Void CamParsCollector::xDeleteArray( T*& rpt, UInt uiSize )
     165{
     166  if( rpt )
     167  {
     168    for( UInt uiK = 0; uiK < uiSize; uiK++ )
     169    {
     170      delete[] rpt[ uiK ];
     171    }
     172    delete[] rpt;
     173  }
     174  rpt = NULL;
     175};
     176#endif
    92177
    93178
Note: See TracChangeset for help on using the changeset viewer.