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


Ignore:
Timestamp:
30 Nov 2013, 12:29:49 (11 years ago)
Author:
tech
Message:

Merged HTM-8.2-dev0@723.

File:
1 edited

Legend:

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

    r655 r724  
    198198                                      ///< 0: non-VSP; 1: VSP
    199199#endif
     200#if MTK_SPIVMP_F0110
     201  Bool*         m_pbSPIVMPFlag;       ///< array of sub-PU IVMP flags to indicate whehter a block uses sub-PU IVMP
     202                                      ///< 0: non-SPIVMP; 1: SPIVMP
     203#endif
    200204#if H_3D_ARP
    201205  UChar*        m_puhARPW;
     
    208212#if H_3D_DIM_DMM
    209213  UInt*         m_dmmWedgeTabIdx[DMM_NUM_TYPE];
     214#if !SEC_DMM3_RBC_F0147
    210215  UInt*         m_dmm3IntraTabIdx;
     216#endif
    211217#endif
    212218#if H_3D_DIM_RBC
     
    227233  UChar*        m_pucInterSDCMask;
    228234#endif
    229 
     235#if ETRIKHU_MERGE_REUSE_F0093
     236  Bool          m_bAvailableFlagA1;    ///< A1 available flag
     237  Bool          m_bAvailableFlagB1;    ///< B1 available flag
     238  Bool          m_bAvailableFlagB0;    ///< B0 available flag
     239  Bool          m_bAvailableFlagA0;    ///< A0 available flag
     240  Bool          m_bAvailableFlagB2;    ///< B2 available flag
     241#endif
    230242  // -------------------------------------------------------------------------------------------------------------------
    231243  // misc. variables
     
    244256  UInt*         m_sliceSegmentStartCU; ///< Start CU address of current slice
    245257  Char          m_codedQP;
     258#if ETRIKHU_MERGE_REUSE_F0093
     259  DisInfo       m_cDefaultDisInfo;    ///< Default disparity information for initializing
     260#endif
     261
    246262protected:
    247263 
     
    250266  Bool          xAddMVPCandOrder      ( AMVPInfo* pInfo, RefPicList eRefPicList, Int iRefIdx, UInt uiPartUnitIdx, MVP_DIR eDir );
    251267#if H_3D_VSP
     268#if ETRIKHU_MERGE_REUSE_F0093
     269  Bool          xAddVspCand( Int mrgCandIdx, DisInfo* pDInfo, Int& iCount,
     270                             Bool* abCandIsInter, TComMvField* pcMvFieldNeighbours, UChar* puhInterDirNeighbours, Int* vspFlag, Int& iCount3DV, InheritedVSPDisInfo*  inheritedVSPDisInfo);
     271#else
    252272  Bool          xAddVspCand( Int mrgCandIdx, DisInfo* pDInfo, Int& iCount,
    253273                             Bool* abCandIsInter, TComMvField* pcMvFieldNeighbours, UChar* puhInterDirNeighbours, Int* vspFlag );
    254274#endif
     275#endif
    255276#if H_3D_IV_MERGE
     277#if ETRIKHU_MERGE_REUSE_F0093
     278  Bool          xAddIvMRGCand( Int mrgCandIdx, Int& iCount, Bool* abCandIsInter, TComMvField* pcMvFieldNeighbours, UChar* puhInterDirNeighbours, Int*   ivCandDir, TComMv* ivCandMv,
     279                               Int* ivCandRefIdx, Int posIvDC, Int* vspFlag, Int &iCount3DV, InheritedVSPDisInfo*  inheritedVSPDisInfo   );
     280#else
    256281  Bool          xAddIvMRGCand( Int mrgCandIdx, Int& iCount, Bool* abCandIsInter, TComMvField* pcMvFieldNeighbours, UChar* puhInterDirNeighbours, Int*   ivCandDir, TComMv* ivCandMv,
    257282                               Int* ivCandRefIdx, Int posIvDC, Int* vspFlag );
     283#endif
    258284  Bool          xGetPosFirstAvailDmvCand( Int iCount, TComMvField* pcMvFieldNeighbours, Int*  ivCandDir, Int posIvDC, Int* vspFlag, Int& iFirDispCand );
    259285#endif
     
    493519   );
    494520   
     521#if ETRIKHU_MERGE_REUSE_F0093
     522  Void          rightShiftMergeCandList( TComMvField* pcMvFieldNeighbours, UChar* puhInterDirNeighbours, Int* iVSPIndexTrue, InheritedVSPDisInfo*  inheritedVSPDisInfo, UInt start, UInt num, Int &iCount3DV);
     523#endif
     524#if QC_DEPTH_IV_MRG_F0125
     525  Bool          getDispNeighBlocks  ( UInt uiPartIdx, UInt uiPartAddr, DisInfo* cDisp);
     526  Bool          getDispMvPredCan(UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDis, Int* iPdm );
     527#endif
     528
    495529#if H_3D_NBDV_REF
    496530  Pel           getMcpFromDM(TComPicYuv* pcBaseViewDepthPicYuv, TComMv* mv, Int iBlkX, Int iBlkY, Int iWidth, Int iHeight, Int* aiShiftLUT );
     
    501535  Void          getIVNStatus       ( UInt uiPartIdx,  DisInfo* pDInfo, Bool& bIVFMerge,  Int& iIVFMaxD);
    502536#endif
     537#if MTK_SPIVMP_F0110
     538  Void          getSPPara(Int iPUWidth, Int iPUHeight, Int& iNumSP, Int& iNumSPInOneLine, Int& iSPWidth, Int& iSPHeight);
     539  Void          getSPAbsPartIdx(UInt uiBaseAbsPartIdx, Int iWidth, Int iHeight, Int iPartIdx, Int iNumPartLine, UInt& ruiPartAddr );
     540  Void          setInterDirSP( UInt uiDir, UInt uiAbsPartIdx, Int iWidth, Int iHeight );
     541#endif
    503542#if H_3D_IV_MERGE
    504   Bool          getInterViewMergeCands          ( UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo, Int* availableMcDc );   
     543  Bool          getInterViewMergeCands          ( UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo, Int* availableMcDc
     544#if QC_DEPTH_IV_MRG_F0125
     545    , Bool bIsDepth           
     546#endif
     547#if MTK_SPIVMP_F0110
     548    , TComMvField* pcMFieldSP, UChar* puhInterDirSP
     549#endif
     550    );   
    505551#endif
    506552#if H_3D_ARP
     
    538584  Void  setDmmWedgeTabIdxSubParts     ( UInt tabIdx, UInt dmmType, UInt uiAbsPartIdx, UInt uiDepth );
    539585
     586#if !SEC_DMM3_RBC_F0147
    540587  UInt* getDmm3IntraTabIdx            ()                      { return m_dmm3IntraTabIdx;        }
    541588  UInt  getDmm3IntraTabIdx            ( UInt uiIdx )          { return m_dmm3IntraTabIdx[uiIdx]; }
    542589  Void  setDmm3IntraTabIdx            ( UInt uiIdx, UInt uh ) { m_dmm3IntraTabIdx[uiIdx] = uh;   }
    543590  Void  setDmm3IntraTabIdxSubParts    ( UInt uiTIdx, UInt uiAbsPartIdx, UInt uiDepth );
     591#endif
    544592#endif
    545593#if H_3D_DIM_RBC
     
    655703 
    656704  Bool          hasEqualMotion              ( UInt uiAbsPartIdx, TComDataCU* pcCandCU, UInt uiCandAbsPartIdx );
    657   Void          getInterMergeCandidates     ( UInt uiAbsPartIdx, UInt uiPUIdx, TComMvField* pcMFieldNeighbours, UChar* puhInterDirNeighbours
     705
     706#if ETRIKHU_MERGE_REUSE_F0093
     707  Bool          getAvailableFlagA1() { return m_bAvailableFlagA1;}
     708  Bool          getAvailableFlagB1() { return m_bAvailableFlagB1;}
     709  Bool          getAvailableFlagB0() { return m_bAvailableFlagB0;}
     710  Bool          getAvailableFlagA0() { return m_bAvailableFlagA0;}
     711  Bool          getAvailableFlagB2() { return m_bAvailableFlagB2;}
     712  Void          initAvailableFlags() { m_bAvailableFlagA1 = m_bAvailableFlagB1 = m_bAvailableFlagB0 = m_bAvailableFlagA0 = m_bAvailableFlagB2 = 0;  }
     713  Void          getInterMergeCandidates( UInt uiAbsPartIdx, UInt uiPUIdx, TComMvField* pcMvFieldNeighbours, UChar* puhInterDirNeighbours, Int& numValidMergeCand, Int mrgCandIdx = -1);
     714  Void          xGetInterMergeCandidates ( UInt uiAbsPartIdx, UInt uiPUIdx, TComMvField* pcMFieldNeighbours, UChar* puhInterDirNeighbours
     715#else
     716  Void          getInterMergeCandidates ( UInt uiAbsPartIdx, UInt uiPUIdx, TComMvField* pcMFieldNeighbours, UChar* puhInterDirNeighbours
     717#endif
    658718#if H_3D_VSP
    659719                                            , Int* vspFlag
    660720                                            , InheritedVSPDisInfo*  inheritedVSPDisInfo
    661721#endif
    662                                             , Int& numValidMergeCand, Int mrgCandIdx = -1 );
     722#if MTK_SPIVMP_F0110
     723                                            , Bool* pbSPIVMPFlag, TComMvField* pcMvFieldSP, UChar* puhInterDirSP
     724#endif
     725                                            , Int& numValidMergeCand, Int mrgCandIdx = -1
     726                                            );
    663727
    664728#if H_3D_VSP
    665729  inline Void   xInheritVSPDisInfo(TComDataCU* pcCURef, UInt uiAbsPartIdx, Int iCount,  InheritedVSPDisInfo*  inheritedVSPDisInfo);
     730
     731#if MTK_SPIVMP_F0110
     732  Bool*         getSPIVMPFlag        ()                        { return m_pbSPIVMPFlag;          }
     733  Bool          getSPIVMPFlag        ( UInt uiIdx )            { return m_pbSPIVMPFlag[uiIdx];   }
     734  Void          setSPIVMPFlag        ( UInt uiIdx, Bool n )     { m_pbSPIVMPFlag[uiIdx] = n;      }
     735  Void          setSPIVMPFlagSubParts( Bool bSPIVMPFlag, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth );
     736#endif
    666737
    667738  Char*         getVSPFlag        ()                        { return m_piVSPFlag;          }
     
    681752  Bool          isSkipped ( UInt uiPartIdx );                                                     ///< SKIP (no residual)
    682753  Bool          isBipredRestriction( UInt puIdx );
     754
     755#if LGE_IC_CTX_F0160
     756  Bool          isIC      ( UInt uiPartIdx );
     757#endif
    683758
    684759  // -------------------------------------------------------------------------------------------------------------------
Note: See TracChangeset for help on using the changeset viewer.