Changeset 189 in 3DVCSoftware for trunk/source/Lib/TLibCommon/TComDataCU.h
- Timestamp:
- 18 Nov 2012, 22:11:37 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibCommon/TComDataCU.h
r121 r189 159 159 Int* m_pcArlCoeffCb; ///< ARL coefficient buffer (Cb) 160 160 Int* m_pcArlCoeffCr; ///< ARL coefficient buffer (Cr) 161 #if FIX_MEM_LEAKS162 161 Bool m_ArlCoeffIsAliasedAllocation; ///< ARL coefficient buffer is an alias of the global buffer and must not be free()'d 163 #endif164 162 165 163 static Int* m_pcGlbArlCoeffY; ///< ARL coefficient buffer (Y) … … 195 193 196 194 Bool* m_pbMergeFlag; ///< array of merge flags 195 #if LGE_ILLUCOMP_B0045 196 Bool* m_pbICFlag; ///< array of IC flags 197 #endif 197 198 UChar* m_puhMergeIndex; ///< array of merge candidate indices 198 199 #if AMP_MRG … … 218 219 #endif 219 220 220 #if LGE_EDGE_INTRA 221 #if LGE_EDGE_INTRA_A0070 221 222 UChar* m_pucEdgeCode; ///< array of edge code 222 223 UChar* m_pucEdgeNumber; ///< total number of edge … … 236 237 Bool m_bDecSubCu; ///< indicates decoder-mode 237 238 Double m_dTotalCost; ///< sum of partition RD costs 239 #if FIX_RDO_NEGDIST 240 Dist m_uiTotalDistortion; ///< sum of partition distortion 241 #else 238 242 UInt m_uiTotalDistortion; ///< sum of partition distortion 243 #endif 239 244 UInt m_uiTotalBits; ///< sum of partition bits 240 245 UInt m_uiTotalBins; ///< sum of partition bins 241 246 UInt* m_uiSliceStartCU; ///< Start CU address of current slice 242 247 UInt* m_uiEntropySliceStartCU; ///< Start CU address of current slice 243 244 #if OL_DEPTHLIMIT_A0044245 //add a variable to store the partition information246 //a 2D array in uidepth, part_symbol format247 UInt m_uiPartInfo[OL_PART_BUF_SIZE][2];248 UInt m_uiPartNum;249 Bool m_dumpPartInfo;250 #endif251 248 252 249 // ------------------------------------------------------------------------------------------------------------------- … … 271 268 Int* m_piContourPredTexDeltaDC2; 272 269 #endif 270 271 #if RWTH_SDC_DLT_B0036 272 Bool* m_pbSDCFlag; 273 Pel* m_apSegmentDCOffset[2]; 274 #endif 273 275 274 276 protected: … … 280 282 Void deriveRightBottomIdx ( PartSize eCUMode, UInt uiPartIdx, UInt& ruiPartIdxRB ); 281 283 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 283 285 Bool xGetColDisMV( RefPicList eRefPicList, Int refidx, Int uiCUAddr, Int uiPartUnitIdx, TComMv& rcMv, Int & iTargetViewIdx, Int & iStartViewIdx ); 284 286 #endif … … 472 474 Void setSubPart ( T bParameter, T* pbBaseLCU, UInt uiCUAddr, UInt uiCUDepth, UInt uiPUIdx ); 473 475 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 474 484 #if AMP_MRG 475 485 Void setMergeAMP( Bool b ) { m_bIsMergeAMP = b; } … … 530 540 531 541 #if HHI_INTER_VIEW_MOTION_PRED 532 #if !QC_MULTI_DIS_CAN 542 #if !QC_MULTI_DIS_CAN_A0097 533 543 Int getPdmMergeCandidate( UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv ); 534 544 Bool getPdmMvPred( UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, TComMv& rcMv, Bool bMerge = false ); 535 545 #else 536 546 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 ); 538 552 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 541 567 #endif 542 568 … … 586 612 587 613 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 588 618 Void fillMvpCand ( UInt uiPartIdx, UInt uiPartAddr, RefPicList eRefPicList, Int iRefIdx, AMVPInfo* pInfo ); 619 #endif 589 620 #if PARALLEL_MERGE 590 621 Bool isDiffMER ( Int xN, Int yN, Int xP, Int yP); … … 608 639 609 640 Void compressMV (); 610 611 #if OL_DEPTHLIMIT_A0044612 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 #endif619 641 620 642 // ------------------------------------------------------------------------------------------------------------------- … … 696 718 697 719 UInt getCtxSkipFlag ( UInt uiAbsPartIdx ); 720 #if LGE_ILLUCOMP_B0045 721 UInt getCtxICFlag ( UInt uiAbsPartIdx ); 722 #endif 698 723 UInt getCtxInterDir ( UInt uiAbsPartIdx ); 699 724 … … 706 731 UInt& getTotalBins () { return m_uiTotalBins; } 707 732 708 #if LGE_EDGE_INTRA 733 #if LGE_EDGE_INTRA_A0070 709 734 UInt getCtxEdgeIntra ( UInt uiAbsPartIdx ); 710 735 #endif … … 715 740 716 741 Double& getTotalCost() { return m_dTotalCost; } 742 #if FIX_RDO_NEGDIST 743 Dist& getTotalDistortion() { return m_uiTotalDistortion; } 744 #else 717 745 UInt& getTotalDistortion() { return m_uiTotalDistortion; } 746 #endif 718 747 UInt& getTotalBits() { return m_uiTotalBits; } 719 748 UInt& getTotalNumPart() { return m_uiNumPartition; } … … 786 815 #endif 787 816 788 #if LGE_EDGE_INTRA 817 #if LGE_EDGE_INTRA_A0070 789 818 UChar* getEdgeCode( UInt uiIdx ) { return &m_pucEdgeCode[uiIdx * LGE_EDGE_INTRA_MAX_EDGE_NUM_PER_4x4]; } 790 819 UChar* getEdgeNumber( ) { return m_pucEdgeNumber; } … … 808 837 Void setEdgeDeltaDC1( UInt uiIdx, Int val ) { m_piEdgeDeltaDC1[uiIdx] = val; } 809 838 #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; } 810 853 #endif 811 854 };
Note: See TracChangeset for help on using the changeset viewer.