Ignore:
Timestamp:
6 Jun 2013, 11:46:05 (11 years ago)
Author:
hhi
Message:

Integation of depth intra methods in macro H_3D_DIM, including:

  • DMM coding modes in H_3D_DIM_DMM.
  • RBC coding mode in H_3D_DIM_RBC.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-0.3-dev1/source/Lib/TLibCommon/TComDataCU.h

    r446 r459  
    188188  Bool*         m_pbIPCMFlag;         ///< array of intra_pcm flags
    189189
     190#if H_3D_DIM
     191  Pel*          m_dimDeltaDC[DIM_NUM_TYPE][2];
     192#if H_3D_DIM_DMM
     193  UInt*         m_dmmWedgeTabIdx[DMM_NUM_TYPE];
     194  Int*          m_dmm2DeltaEnd;
     195  UInt*         m_dmm3IntraTabIdx;
     196#endif
     197#if H_3D_DIM_RBC
     198  UChar*        m_pucEdgeCode;          ///< array of edge code
     199  UChar*        m_pucEdgeNumber;        ///< total number of edge
     200  UChar*        m_pucEdgeStartPos;      ///< starting point position
     201  Bool*         m_pbEdgeLeftFirst;      ///< true if edge should be checked in left boundary first
     202  Bool*         m_pbEdgePartition;      ///< true if it belongs to region 1, otherwise, region 0
     203#endif
     204#endif
     205 
    190206  // -------------------------------------------------------------------------------------------------------------------
    191207  // misc. variables
     
    406422                                          ,Bool bTopTileBoundary, Bool bDownTileBoundary, Bool bLeftTileBoundary, Bool bRightTileBoundary
    407423                                          ,Bool bIndependentTileBoundaryEnabled );
     424 
     425#if H_3D_DIM
     426  Pel*  getDimDeltaDC                 ( UInt dimType, UInt segId )                      { return m_dimDeltaDC[dimType][segId];        }
     427  Pel   getDimDeltaDC                 ( UInt dimType, UInt segId, UInt uiIdx )          { return m_dimDeltaDC[dimType][segId][uiIdx]; }
     428  Void  setDimDeltaDC                 ( UInt dimType, UInt segId, UInt uiIdx, Pel val ) { m_dimDeltaDC[dimType][segId][uiIdx] = val;  }
     429#if H_3D_DIM_DMM
     430  UInt* getDmmWedgeTabIdx             ( UInt dmmType )                          { return m_dmmWedgeTabIdx[dmmType];          }       
     431  UInt  getDmmWedgeTabIdx             ( UInt dmmType, UInt uiIdx )              { return m_dmmWedgeTabIdx[dmmType][uiIdx];   }
     432  Void  setDmmWedgeTabIdx             ( UInt dmmType, UInt uiIdx, UInt tabIdx ) { m_dmmWedgeTabIdx[dmmType][uiIdx] = tabIdx; }
     433  Void  setDmmWedgeTabIdxSubParts     ( UInt tabIdx, UInt dmmType, UInt uiAbsPartIdx, UInt uiDepth );
     434
     435  Int*  getDmm2DeltaEnd               ()                      { return m_dmm2DeltaEnd;        }
     436  Int   getDmm2DeltaEnd               ( UInt uiIdx )          { return m_dmm2DeltaEnd[uiIdx]; }
     437  Void  setDmm2DeltaEnd               ( UInt uiIdx, Int iD )  { m_dmm2DeltaEnd[uiIdx] = iD;   }
     438  Void  setDmm2DeltaEndSubParts       ( Int iDelta, UInt uiAbsPartIdx, UInt uiDepth );
     439
     440  UInt* getDmm3IntraTabIdx            ()                      { return m_dmm3IntraTabIdx;        }
     441  UInt  getDmm3IntraTabIdx            ( UInt uiIdx )          { return m_dmm3IntraTabIdx[uiIdx]; }
     442  Void  setDmm3IntraTabIdx            ( UInt uiIdx, UInt uh ) { m_dmm3IntraTabIdx[uiIdx] = uh;   }
     443  Void  setDmm3IntraTabIdxSubParts    ( UInt uiTIdx, UInt uiAbsPartIdx, UInt uiDepth );
     444#endif
     445#if H_3D_DIM_RBC
     446  UChar* getEdgeCode( UInt uiIdx )                 { return &m_pucEdgeCode[uiIdx * RBC_MAX_EDGE_NUM_PER_4x4]; }
     447
     448  UChar* getEdgeNumber( )                          { return m_pucEdgeNumber;           }
     449  UChar  getEdgeNumber( UInt uiIdx )               { return m_pucEdgeNumber[uiIdx];    }
     450  Void   setEdgeNumber( UInt uiIdx, UChar val )    { m_pucEdgeNumber[uiIdx] = val;     }
     451
     452  UChar* getEdgeStartPos( )                        { return m_pucEdgeStartPos;         }
     453  UChar  getEdgeStartPos( UInt uiIdx )             { return m_pucEdgeStartPos[uiIdx];  }
     454  Void   setEdgeStartPos( UInt uiIdx, UChar val )  { m_pucEdgeStartPos[uiIdx] = val;   }
     455
     456  Bool*  getEdgeLeftFirst( )                       { return m_pbEdgeLeftFirst;         }
     457  Bool   getEdgeLeftFirst( UInt uiIdx )            { return m_pbEdgeLeftFirst[uiIdx];  }
     458  Void   setEdgeLeftFirst( UInt uiIdx, Bool val )  { m_pbEdgeLeftFirst[uiIdx] = val;   }
     459
     460  Bool*  getEdgePartition( UInt uiIdx )            { return &m_pbEdgePartition[uiIdx * 16]; }
     461
     462  Void   reconPartition( UInt uiAbsPartIdx, UInt uiDepth, Bool bLeft, UChar ucStartPos, UChar ucNumEdge, UChar* pucEdgeCode, Bool* pbRegion );
     463#endif
     464#endif
     465
    408466  // -------------------------------------------------------------------------------------------------------------------
    409467  // member functions for accessing partition information
Note: See TracChangeset for help on using the changeset viewer.