Changeset 189 in 3DVCSoftware for trunk/source/Lib/TLibCommon/TComDataCU.h


Ignore:
Timestamp:
18 Nov 2012, 22:11:37 (12 years ago)
Author:
tech
Message:

Reintegrated branch 4.1-dev0 Rev. 188.

File:
1 edited

Legend:

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

    r121 r189  
    159159  Int*          m_pcArlCoeffCb;       ///< ARL coefficient buffer (Cb)
    160160  Int*          m_pcArlCoeffCr;       ///< ARL coefficient buffer (Cr)
    161 #if FIX_MEM_LEAKS
    162161  Bool          m_ArlCoeffIsAliasedAllocation; ///< ARL coefficient buffer is an alias of the global buffer and must not be free()'d
    163 #endif
    164162
    165163  static Int*   m_pcGlbArlCoeffY;     ///< ARL coefficient buffer (Y)
     
    195193 
    196194  Bool*         m_pbMergeFlag;        ///< array of merge flags
     195#if LGE_ILLUCOMP_B0045
     196  Bool*         m_pbICFlag;           ///< array of IC flags
     197#endif
    197198  UChar*        m_puhMergeIndex;      ///< array of merge candidate indices
    198199#if AMP_MRG
     
    218219#endif
    219220
    220 #if LGE_EDGE_INTRA
     221#if LGE_EDGE_INTRA_A0070
    221222  UChar*        m_pucEdgeCode;          ///< array of edge code
    222223  UChar*        m_pucEdgeNumber;        ///< total number of edge
     
    236237  Bool          m_bDecSubCu;          ///< indicates decoder-mode
    237238  Double        m_dTotalCost;         ///< sum of partition RD costs
     239#if FIX_RDO_NEGDIST
     240  Dist          m_uiTotalDistortion;  ///< sum of partition distortion
     241#else
    238242  UInt          m_uiTotalDistortion;  ///< sum of partition distortion
     243#endif
    239244  UInt          m_uiTotalBits;        ///< sum of partition bits
    240245  UInt          m_uiTotalBins;       ///< sum of partition bins
    241246  UInt*         m_uiSliceStartCU;    ///< Start CU address of current slice
    242247  UInt*         m_uiEntropySliceStartCU; ///< Start CU address of current slice
    243 
    244 #if OL_DEPTHLIMIT_A0044
    245   //add a variable to store the partition information
    246   //a 2D array in uidepth, part_symbol format
    247   UInt          m_uiPartInfo[OL_PART_BUF_SIZE][2];
    248   UInt          m_uiPartNum;
    249   Bool          m_dumpPartInfo;
    250 #endif
    251248 
    252249  // -------------------------------------------------------------------------------------------------------------------
     
    271268  Int*          m_piContourPredTexDeltaDC2;
    272269#endif
     270 
     271#if RWTH_SDC_DLT_B0036
     272  Bool*         m_pbSDCFlag;
     273  Pel*          m_apSegmentDCOffset[2];
     274#endif
    273275
    274276protected:
     
    280282  Void          deriveRightBottomIdx        ( PartSize eCUMode, UInt uiPartIdx, UInt& ruiPartIdxRB );
    281283  Bool          xGetColMVP( RefPicList eRefPicList, Int uiCUAddr, Int uiPartUnitIdx, TComMv& rcMv, Int& riRefIdx );
    282 #if QC_MULTI_DIS_CAN
     284#if QC_MULTI_DIS_CAN_A0097
    283285  Bool          xGetColDisMV( RefPicList eRefPicList, Int refidx, Int uiCUAddr, Int uiPartUnitIdx, TComMv& rcMv, Int & iTargetViewIdx, Int & iStartViewIdx );
    284286#endif
     
    472474  Void          setSubPart            ( T bParameter, T* pbBaseLCU, UInt uiCUAddr, UInt uiCUDepth, UInt uiPUIdx );
    473475
     476#if LGE_ILLUCOMP_B0045
     477  Bool*         getICFlag             ()                        { return m_pbICFlag;               }
     478  Bool          getICFlag             ( UInt uiIdx )            { return m_pbICFlag[uiIdx];        }
     479  Void          setICFlag             ( UInt uiIdx, Bool  uh )  { m_pbICFlag[uiIdx] = uh;          }
     480  Void          setICFlagSubParts     ( Bool bICFlag,  UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth );
     481  Bool          isICFlagRequired      (UInt uiAbsPartIdx);
     482#endif
     483
    474484#if AMP_MRG
    475485  Void          setMergeAMP( Bool b )      { m_bIsMergeAMP = b; }
     
    530540
    531541#if HHI_INTER_VIEW_MOTION_PRED
    532 #if !QC_MULTI_DIS_CAN
     542#if !QC_MULTI_DIS_CAN_A0097
    533543  Int           getPdmMergeCandidate( UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv );
    534544  Bool          getPdmMvPred( UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, TComMv& rcMv, Bool bMerge = false );
    535545#else
    536546  Bool          getPdmMvPredDisCan( UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, TComMv& rcMv, DisInfo* pDInfo, Bool bMerge = false );
    537   Int           getPdmMergeCandidateDisCan( UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo );
     547  Int           getPdmMergeCandidateDisCan( UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo
     548#if QC_MRG_CANS_B0048
     549    , Int* iPdm
     550#endif
     551  );
    538552  Void          getDisMvpCand        ( UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDInfo );
    539 #if LGE_DVMCP
    540   Void          getDisMvpCand2( UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDInfo, Bool bMerge=false, RefPicList eRefPicList=REF_PIC_LIST_X, Int iRefIdx=-1 );
     553#if LGE_DVMCP_A0126
     554#if QC_SIMPLE_NBDV_B0047
     555  Void          getDisMvpCand2( UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDInfo
     556#if LGE_IVMP_PARALLEL_MERGE_B0136
     557    , Bool bParMerg = false
     558#endif
     559    );
     560#else
     561  Void          getDisMvpCand2( UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDInfo, Bool bMerge=false, RefPicList eRefPicList=REF_PIC_LIST_X, Int iRefIdx=-1
     562#if LGE_IVMP_PARALLEL_MERGE_B0136
     563    , Bool bParMerg = false
     564#endif
     565    );
     566#endif
    541567#endif
    542568
     
    586612 
    587613  AMVP_MODE     getAMVPMode           ( UInt uiIdx );
     614#if SHARP_INTERVIEW_DECOUPLE_B0111
     615  Void          fillMvpCandBase       ( UInt uiPartIdx, UInt uiPartAddr, RefPicList eRefPicList, Int iRefIdx, AMVPInfo* pInfo );
     616  Void          fillMvpCand           ( UInt uiPartIdx, UInt uiPartAddr, RefPicList eRefPicList, Int iRefIdx, AMVPInfo* pInfo , Int iMVPIdx=-1);
     617#else
    588618  Void          fillMvpCand           ( UInt uiPartIdx, UInt uiPartAddr, RefPicList eRefPicList, Int iRefIdx, AMVPInfo* pInfo );
     619#endif
    589620#if PARALLEL_MERGE
    590621  Bool          isDiffMER             ( Int xN, Int yN, Int xP, Int yP);
     
    608639 
    609640  Void          compressMV            ();
    610 
    611 #if OL_DEPTHLIMIT_A0044
    612   Void        resetPartInfo     () {m_uiPartNum = 0;};
    613   Void        incrementPartInfo () {m_uiPartNum ++;};
    614   Void        updatePartInfo(UInt uiSymbol, UInt uiDepth) { m_uiPartInfo[m_uiPartNum][0] = uiSymbol; m_uiPartInfo[m_uiPartNum][1] = uiDepth;};
    615   UInt*       readPartInfo()                              { return (UInt*)m_uiPartInfo;};
    616   Void        setPartDumpFlag(Bool flag)                  { m_dumpPartInfo = flag; };
    617   Bool        getPartDumpFlag()                           { return m_dumpPartInfo; };
    618 #endif
    619641 
    620642  // -------------------------------------------------------------------------------------------------------------------
     
    696718
    697719  UInt          getCtxSkipFlag                  ( UInt   uiAbsPartIdx                                 );
     720#if LGE_ILLUCOMP_B0045
     721  UInt          getCtxICFlag                    ( UInt   uiAbsPartIdx                                 );
     722#endif
    698723  UInt          getCtxInterDir                  ( UInt   uiAbsPartIdx                                 );
    699724
     
    706731  UInt&         getTotalBins            ()                            { return m_uiTotalBins;                                                                                                  }
    707732
    708 #if LGE_EDGE_INTRA
     733#if LGE_EDGE_INTRA_A0070
    709734  UInt          getCtxEdgeIntra ( UInt uiAbsPartIdx );
    710735#endif
     
    715740 
    716741  Double&       getTotalCost()                  { return m_dTotalCost;        }
     742#if FIX_RDO_NEGDIST
     743  Dist&         getTotalDistortion()            { return m_uiTotalDistortion; }
     744#else
    717745  UInt&         getTotalDistortion()            { return m_uiTotalDistortion; }
     746#endif
    718747  UInt&         getTotalBits()                  { return m_uiTotalBits;       }
    719748  UInt&         getTotalNumPart()               { return m_uiNumPartition;    }
     
    786815#endif
    787816
    788 #if LGE_EDGE_INTRA
     817#if LGE_EDGE_INTRA_A0070
    789818  UChar*        getEdgeCode( UInt uiIdx )                 { return &m_pucEdgeCode[uiIdx * LGE_EDGE_INTRA_MAX_EDGE_NUM_PER_4x4]; }
    790819  UChar*        getEdgeNumber( )                          { return m_pucEdgeNumber;           }
     
    808837  Void          setEdgeDeltaDC1( UInt uiIdx, Int val )      { m_piEdgeDeltaDC1[uiIdx] = val;  }
    809838#endif
     839#endif
     840 
     841#if RWTH_SDC_DLT_B0036
     842  Bool*         getSDCFlag          ()                        { return m_pbSDCFlag;               }
     843  Bool          getSDCFlag          ( UInt uiIdx )            { return m_pbSDCFlag[uiIdx];        }
     844  Void          setSDCFlagSubParts  ( Bool bSDCFlag, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth );
     845 
     846  UInt          getCtxSDCFlag              ( UInt uiAbsPartIdx );
     847 
     848  Bool          getSDCAvailable             ( UInt uiAbsPartIdx );
     849 
     850  Pel*          getSDCSegmentDCOffset( UInt uiSeg ) { return m_apSegmentDCOffset[uiSeg]; }
     851  Pel           getSDCSegmentDCOffset( UInt uiSeg, UInt uiPartIdx ) { return m_apSegmentDCOffset[uiSeg][uiPartIdx]; }
     852  Void          setSDCSegmentDCOffset( Pel pOffset, UInt uiSeg, UInt uiPartIdx) { m_apSegmentDCOffset[uiSeg][uiPartIdx] = pOffset; }
    810853#endif
    811854};
Note: See TracChangeset for help on using the changeset viewer.