Changeset 1313 in 3DVCSoftware for trunk/source/Lib/TLibCommon/TComWedgelet.h


Ignore:
Timestamp:
13 Aug 2015, 17:38:13 (9 years ago)
Author:
tech
Message:

Merged 14.1-update-dev1@1312.

File:
1 edited

Legend:

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

    r1196 r1313  
    4343#include <vector>
    4444
    45 #if H_3D_DIM
    46 #define DIM_OFFSET     (NUM_INTRA_MODE+1) // offset for DMM and RBC mode numbers (PM: not consistent with spec, but non-overlapping with chroma, see DM_CHROMA_IDX)
    47 #define DIM_MIN_SIZE                   4  // min. block size for DMM and RBC modes
    48 #define DIM_MAX_SIZE                  32  // max. block size for DMM and RBC modes
     45#if NH_3D_DMM
     46#define DMM_OFFSET     (NUM_INTRA_MODE+1) // offset for DMM and RBC mode numbers
     47#define DMM_MIN_SIZE                   4  // min. block size for DMM and RBC modes
     48#define DMM_MAX_SIZE                  32  // max. block size for DMM and RBC modes
    4949
    50 enum DIM_IDX
     50enum DmmID
    5151{
    5252  DMM1_IDX = 0,
    5353  DMM4_IDX = 1,
     54  NUM_DMM  = 2,
     55  DMM_NO_IDX = MAX_UINT
    5456};
    5557
    56 #define DMM_NUM_TYPE   2
    57 #define DIM_NUM_TYPE   (DMM_NUM_TYPE)
    58 #define DIM_NO_IDX     MAX_UINT
     58__inline DmmID getDmmType( Int intraMode )
     59{
     60    Int dmmType = intraMode-DMM_OFFSET;
     61    return (dmmType >= 0 && dmmType < NUM_DMM) ? (DmmID)dmmType : DMM_NO_IDX;
     62}
     63__inline Bool isDmmMode( Int intraMode ) { return ((UInt)getDmmType( intraMode ) < NUM_DMM); }
    5964
    60 __inline UInt getDimType  ( Int intraMode )
    61 {
    62     Int dimType = intraMode-DIM_OFFSET;
    63     return (dimType >= 0 && dimType < DIM_NUM_TYPE) ? (UInt)dimType : DIM_NO_IDX;
    64 }
    65 __inline Bool isDimMode   ( Int intraMode ) { return (getDimType( intraMode ) < DIM_NUM_TYPE); }
    66 #endif
    6765
    68 #if H_3D_DIM_DMM
    69 #define DMM_NO_WEDGEINDEX       MAX_UINT
     66// Wedgelets
     67#define DMM_NO_WEDGE_IDX       MAX_UINT
    7068#define DMM_NUM_WEDGE_REFINES   8
    7169
     
    9088  WedgeResolution m_eWedgeRes;                  // start/end pos resolution
    9189  Bool            m_bIsCoarse;
    92   UInt            m_uiAng;
    9390
    9491  UInt  m_uiWidth;
     
    121118  UChar           getOri     () { return m_uhOri; }
    122119  Bool            getIsCoarse() { return m_bIsCoarse; }
    123   UInt            getAng     () { return m_uiAng; }
    124   Bool*           getScaledPattern(UInt uiWidth);
    125120
    126121  Void  generateWedgePatternByRotate(const TComWedgelet &rcWedge, Int rotate);
    127122  Void  setWedgelet( UChar uhXs, UChar uhYs, UChar uhXe, UChar uhYe, UChar uhOri, WedgeResolution eWedgeRes, Bool bIsCoarse = false );
    128   Void  findClosestAngle();
    129123
    130124  Bool  checkNotPlain();
    131125  Bool  checkIdentical( Bool* pbRefPattern );
    132126  Bool  checkInvIdentical( Bool* pbRefPattern );
     127
     128  Bool* getPatternScaled    ( UInt dstSize );
     129  Void  getPatternScaledCopy( UInt dstSize, Bool* dstBuf );
    133130
    134131};  // END CLASS DEFINITION TComWedgelet
     
    162159};  // END CLASS DEFINITION TComWedgeRef
    163160
    164 // type definition wedgelet reference list
    165 typedef std::vector<TComWedgeRef> WedgeRefList;
    166161
    167162// ====================================================================================================================
     
    187182// type definition wedgelet node list
    188183typedef std::vector<TComWedgeNode> WedgeNodeList;
    189 #endif //H_3D_DIM_DMM
     184#endif //NH_3D_DMM
    190185
    191 
    192 // ====================================================================================================================
    193 // Function definition roftoi (mathematically correct rounding of float to int)
    194 // ====================================================================================================================
    195 __inline Int roftoi( Double value )
    196 {
    197   (value < -0.5) ? (value -= 0.5) : (value += 0.5);
    198   return ( (Int)value );
    199 }
    200186#endif // __TCOMWEDGELET__
Note: See TracChangeset for help on using the changeset viewer.