Ignore:
Timestamp:
12 Apr 2018, 11:12:21 (7 years ago)
Author:
tech
Message:
  • Update HM-16.18
  • Cleanups
  • Encoder Extension

-- Representation formats
-- Parameter set sharing
-- GOP configuration

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-16.2-dev/source/Lib/TLibCommon/TComPattern.h

    r1405 r1412  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2016, ITU/ISO/IEC
     6 * Copyright (c) 2010-2017, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    5252class TComTU;
    5353
    54 /// neighbouring pixel access class for one component
    55 class TComPatternParam
     54/// neighbouring pixel access class for all components
     55class TComPattern
    5656{
    5757private:
    5858  Pel*  m_piROIOrigin;
     59  Int   m_roiWidth;
     60  Int   m_roiHeight;
     61  Int   m_patternStride;
     62  Int   m_bitDepth;
     63
     64#if MCTS_ENC_CHECK 
     65  Int   m_roiPosX;
     66  Int   m_roiPosY;
     67  Int   m_tileLeftTopPelPosX;
     68  Int   m_tileLeftTopPelPosY;
     69  Int   m_tileRightBottomPelPosX;
     70  Int   m_tileRightBottomPelPosY;
     71#endif
    5972
    6073public:
    61   Int   m_iROIWidth;
    62   Int   m_iROIHeight;
    63   Int   m_iPatternStride;
    64   Int   m_bitDepth;
     74  // ROI & pattern information, (ROI = &pattern[AboveOffset][LeftOffset])
     75  Int   getROIYWidth() const      { return m_roiWidth;       }
     76  Int   getROIYHeight() const     { return m_roiHeight;      }
     77  Int   getPatternLStride() const { return m_patternStride;  }
     78  Int   getBitDepthY() const      { return m_bitDepth;       }
     79#if MCTS_ENC_CHECK
     80  Int   getROIYPosX() const       { return m_roiPosX; }
     81  Int   getROIYPosY() const       { return m_roiPosY; }
    6582
    66   /// return starting position of ROI (ROI = &pattern[AboveOffset][LeftOffset])
    67   __inline Pel*  getROIOrigin()
     83  Int   getTileLeftTopPelPosX() const { return m_tileLeftTopPelPosX; }
     84  Int   getTileLeftTopPelPosY() const { return m_tileLeftTopPelPosY; }
     85  Int   getTileRightBottomPelPosX() const { return m_tileRightBottomPelPosX; }
     86  Int   getTileRightBottomPelPosY() const { return m_tileRightBottomPelPosY; }
     87#endif
     88
     89  __inline Pel*  getROIY()
    6890  {
    6991    return  m_piROIOrigin;
    7092  }
    71   __inline const Pel*  getROIOrigin() const
     93  __inline const Pel*  getROIY() const
    7294  {
    7395    return  m_piROIOrigin;
    7496  }
    7597
    76   /// set parameters from Pel buffer for accessing neighbouring pixels
    77   Void setPatternParamPel( Pel* piTexture, Int iRoiWidth, Int iRoiHeight, Int iStride, Int bitDepth );
    78 };
     98#if NH_3D
     99  Bool              m_bICFlag;
     100  Bool              m_bSDCMRSADFlag;
    79101
    80 /// neighbouring pixel access class for all components
    81 class TComPattern
    82 {
    83 private:
    84   TComPatternParam  m_cPatternY;
    85 //  TComPatternParam  m_cPatternCb;
    86   //TComPatternParam  m_cPatternCr;
    87 #if NH_3D_IC
    88   Bool              m_bICFlag;
    89 #endif
    90 #if NH_3D_SDC_INTER
    91   Bool              m_bSDCMRSADFlag;
     102  Bool  getICFlag()               const { return m_bICFlag; }
     103  Void  setICFlag( Bool bICFlag ) { m_bICFlag = bICFlag; }
     104  Bool  getSDCMRSADFlag()         const { return m_bSDCMRSADFlag; }
     105  Void  setSDCMRSADFlag( Bool bSDCMRSADFlag )    { m_bSDCMRSADFlag = bSDCMRSADFlag; }
    92106#endif
    93107
    94108
    95 public:
     109  TComPattern()
     110  : m_piROIOrigin(NULL)
     111  , m_roiWidth(0)
     112  , m_roiHeight(0)
     113  , m_patternStride(0)
     114  , m_bitDepth(0)
     115#if MCTS_ENC_CHECK
     116  , m_roiPosX(0)
     117  , m_roiPosY(0)
     118  , m_tileLeftTopPelPosX(0)
     119  , m_tileLeftTopPelPosY(0)
     120  , m_tileRightBottomPelPosX(0)
     121  , m_tileRightBottomPelPosY(0)
     122#endif
     123  {};
    96124
    97   // ROI & pattern information, (ROI = &pattern[AboveOffset][LeftOffset])
    98   Pel*  getROIY()                 { return m_cPatternY.getROIOrigin();    }
    99   const Pel*  getROIY() const     { return m_cPatternY.getROIOrigin();    }
    100   Int   getROIYWidth() const      { return m_cPatternY.m_iROIWidth;       }
    101   Int   getROIYHeight() const     { return m_cPatternY.m_iROIHeight;      }
    102   Int   getPatternLStride() const { return m_cPatternY.m_iPatternStride;  }
    103   Int   getBitDepthY() const      { return m_cPatternY.m_bitDepth;        }
    104 
    105 #if NH_3D_IC
    106   Bool  getICFlag()               const { return m_bICFlag; }
    107   Void  setICFlag( Bool bICFlag ) { m_bICFlag = bICFlag; }
    108 #endif
    109 #if NH_3D_SDC_INTER
    110   Bool  getSDCMRSADFlag()         const { return m_bSDCMRSADFlag; }
    111   Void  setSDCMRSADFlag( Bool bSDCMRSADFlag )    { m_bSDCMRSADFlag = bSDCMRSADFlag; }
    112 #endif
    113125
    114126  // -------------------------------------------------------------------------------------------------------------------
     
    117129
    118130  /// set parameters from Pel buffers for accessing neighbouring pixels
    119   Void initPattern( Pel* piY, Int iRoiWidth, Int iRoiHeight, Int iStride, Int bitDepthLuma );
     131#if MCTS_ENC_CHECK
     132  Void initPattern(Pel* piY, Int roiWidth, Int roiHeight, Int stride, Int bitDepthLuma, Int roiPosX, Int roiPosY);
     133  Void setTileBorders(Int tileLeftTopPelPosX, Int tileLeftTopPelPosY, Int tileRightBottomPelPosX, Int tileRightBottomPelPosY);
     134#else
     135  Void initPattern(Pel* piY, Int roiWidth, Int roiHeight, Int stride, Int bitDepthLuma);
     136#endif
    120137};
    121138
Note: See TracChangeset for help on using the changeset viewer.