Changeset 56 in 3DVCSoftware for trunk/source/Lib/TLibCommon/TComPicSym.h


Ignore:
Timestamp:
11 May 2012, 21:20:17 (12 years ago)
Author:
hschwarz
Message:

updated trunk (move to HM6.1)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibCommon/TComPicSym.h

    r5 r56  
    22 * License, included below. This software may be subject to other third party
    33 * and contributor rights, including patent rights, and no such rights are
    4  * granted under this license.
     4 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2012, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    1515 *    this list of conditions and the following disclaimer in the documentation
    1616 *    and/or other materials provided with the distribution.
    17  *  * Neither the name of the ISO/IEC nor the names of its contributors may
     17 *  * Neither the name of the ITU/ISO/IEC nor the names of its contributors may
    1818 *    be used to endorse or promote products derived from this software without
    1919 *    specific prior written permission.
     
    3232 */
    3333
    34 
    35 
    3634/** \file     TComPicSym.h
    3735    \brief    picture symbol class (header)
     
    4745#include "TComDataCU.h"
    4846
     47//! \ingroup TLibCommon
     48//! \{
     49
    4950// ====================================================================================================================
    5051// Class definition
    5152// ====================================================================================================================
     53
     54class TComTile
     55{
     56private:
     57  UInt      m_uiTileWidth;
     58  UInt      m_uiTileHeight;
     59  UInt      m_uiRightEdgePosInCU;
     60  UInt      m_uiBottomEdgePosInCU;
     61  UInt      m_uiFirstCUAddr;
     62
     63public: 
     64  TComTile();
     65  virtual ~TComTile();
     66
     67  Void      setTileWidth         ( UInt i )            { m_uiTileWidth = i; }
     68  UInt      getTileWidth         ()                    { return m_uiTileWidth; }
     69  Void      setTileHeight        ( UInt i )            { m_uiTileHeight = i; }
     70  UInt      getTileHeight        ()                    { return m_uiTileHeight; }
     71  Void      setRightEdgePosInCU  ( UInt i )            { m_uiRightEdgePosInCU = i; }
     72  UInt      getRightEdgePosInCU  ()                    { return m_uiRightEdgePosInCU; }
     73  Void      setBottomEdgePosInCU ( UInt i )            { m_uiBottomEdgePosInCU = i; }
     74  UInt      getBottomEdgePosInCU ()                    { return m_uiBottomEdgePosInCU; }
     75  Void      setFirstCUAddr       ( UInt i )            { m_uiFirstCUAddr = i; }
     76  UInt      getFirstCUAddr       ()                    { return m_uiFirstCUAddr; }
     77};
    5278
    5379/// picture symbol class
     
    7399  TComDataCU**  m_apcTComDataCU;        ///< array of CU data
    74100 
     101  Int           m_iTileBoundaryIndependenceIdr;
     102  Int           m_iNumColumnsMinus1;
     103  Int           m_iNumRowsMinus1;
     104  TComTile**    m_apcTComTile;
     105  UInt*         m_puiCUOrderMap;       //the map of LCU raster scan address relative to LCU encoding order
     106  UInt*         m_puiTileIdxMap;       //the map of the tile index relative to LCU raster scan address
     107  UInt*         m_puiInverseCUOrderMap;
     108  UInt          m_uiBitsUsedByTileIdx;
     109
    75110public:
    76111  Void        create  ( Int iPicWidth, Int iPicHeight, UInt uiMaxWidth, UInt uiMaxHeight, UInt uiMaxDepth );
     
    83118  UInt        getMinCUWidth()           { return m_uiMinCUWidth;                }
    84119  UInt        getMinCUHeight()          { return m_uiMinCUHeight;               }
     120#if HHI_INTERVIEW_SKIP
     121  UInt        getMaxCUWidth()           { return m_uiMaxCUWidth;                }
     122  UInt        getMaxCUHeight()          { return m_uiMaxCUHeight;               }
     123  UInt        getMaxCUDepth()           { return m_uhTotalDepth;                }
     124#endif
    85125  UInt        getNumberOfCUsInFrame()   { return m_uiNumCUsInFrame;  }
    86126  TComDataCU*&  getCU( UInt uiCUAddr )  { return m_apcTComDataCU[uiCUAddr];     }
     
    93133  UInt        getNumPartInWidth()       { return m_uiNumPartInWidth;            }
    94134  UInt        getNumPartInHeight()      { return m_uiNumPartInHeight;           }
     135#if !REMOVE_TILE_DEPENDENCE
     136  Void         setTileBoundaryIndependenceIdr( Int i )               { m_iTileBoundaryIndependenceIdr = i; }
     137  Int          getTileBoundaryIndependenceIdr()                      { return m_iTileBoundaryIndependenceIdr; }
     138#endif
     139  Void         setNumColumnsMinus1( Int i )                          { m_iNumColumnsMinus1 = i; }
     140  Int          getNumColumnsMinus1()                                 { return m_iNumColumnsMinus1; } 
     141  Void         setNumRowsMinus1( Int i )                             { m_iNumRowsMinus1 = i; }
     142  Int          getNumRowsMinus1()                                    { return m_iNumRowsMinus1; }
     143  Int          getNumTiles()                                         { return (m_iNumRowsMinus1+1)*(m_iNumColumnsMinus1+1); }
     144  TComTile*    getTComTile  ( UInt tileIdx )                         { return *(m_apcTComTile + tileIdx); }
     145  Void         setCUOrderMap( Int encCUOrder, Int cuAddr )           { *(m_puiCUOrderMap + encCUOrder) = cuAddr; }
     146  UInt         getCUOrderMap( Int encCUOrder )                       { return *(m_puiCUOrderMap + (encCUOrder>=m_uiNumCUsInFrame ? m_uiNumCUsInFrame : encCUOrder)); }
     147  UInt         getTileIdxMap( Int i )                                { return *(m_puiTileIdxMap + i); }
     148  Void         setInverseCUOrderMap( Int cuAddr, Int encCUOrder )    { *(m_puiInverseCUOrderMap + cuAddr) = encCUOrder; }
     149  UInt         getInverseCUOrderMap( Int cuAddr )                    { return *(m_puiInverseCUOrderMap + (cuAddr>=m_uiNumCUsInFrame ? m_uiNumCUsInFrame : cuAddr)); }
     150  UInt         getPicSCUEncOrder( UInt SCUAddr );
     151  UInt         getPicSCUAddr( UInt SCUEncOrder );
     152  Void         xCreateTComTileArray();
     153  Void         xInitTiles();
     154  UInt         xCalculateNxtCUAddr( UInt uiCurrCUAddr );
     155  UInt         getBitsUsedByTileIdx()                                { return m_uiBitsUsedByTileIdx; }
    95156};// END CLASS DEFINITION TComPicSym
    96157
     158//! \}
    97159
    98160#endif // __TCOMPICSYM__
Note: See TracChangeset for help on using the changeset viewer.