Changeset 115 in 3DVCSoftware for trunk/source/Lib/TLibCommon


Ignore:
Timestamp:
30 Aug 2012, 14:52:41 (12 years ago)
Author:
tech
Message:

Integrated revision 114. with:

  • A0119: VSO Depth Fidelity
  • A0044: Depth Quadtree Prediction
Location:
trunk/source/Lib/TLibCommon
Files:
6 edited

Legend:

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

    r100 r115  
    152152#endif
    153153#endif
     154#if OL_DEPTHLIMIT
     155  //add a variable to store the partition information
     156  //a 2D array in part_symbol,uidepth format
     157  //initialize m_partInfo to OL_END_CU
     158        for (int i=0; i < OL_PART_BUF_SIZE; i++)
     159        {
     160                for (int j=0; j < 2; j++)
     161                        m_uiPartInfo[i][j] = OL_END_CU;
     162        }
     163#endif
    154164}
    155165
     
    456466Void TComDataCU::initCU( TComPic* pcPic, UInt iCUAddr )
    457467{
     468#if OL_DEPTHLIMIT
     469  TComDataCU* pcCU     = pcPic->getCU(iCUAddr);
     470#endif
    458471
    459472  m_pcPic              = pcPic;
     
    672685    m_apcCUColocated[1] = getSlice()->getRefPic( REF_PIC_LIST_1, 0)->getCU( m_uiCUAddr );
    673686  }
     687#if OL_DEPTHLIMIT
     688  setPartDumpFlag (pcCU->getPartDumpFlag());
     689#endif
    674690}
    675691
     
    10011017  memcpy(m_uiSliceStartCU,pcCU->m_uiSliceStartCU+uiPartOffset,sizeof(UInt)*m_uiNumPartition);
    10021018  memcpy(m_uiEntropySliceStartCU,pcCU->m_uiEntropySliceStartCU+uiPartOffset,sizeof(UInt)*m_uiNumPartition);
     1019#if OL_DEPTHLIMIT
     1020  setPartDumpFlag (pcCU->getPartDumpFlag());
     1021#endif
    10031022}
    10041023
  • trunk/source/Lib/TLibCommon/TComDataCU.h

    r100 r115  
    237237  UInt*         m_uiSliceStartCU;    ///< Start CU address of current slice
    238238  UInt*         m_uiEntropySliceStartCU; ///< Start CU address of current slice
     239
     240#if OL_DEPTHLIMIT
     241  //add a variable to store the partition information
     242  //a 2D array in uidepth,part_symbol format
     243  UInt          m_uiPartInfo[OL_PART_BUF_SIZE][2];
     244  UInt          m_uiPartNum;
     245  Bool          b_dumpPartInfo;
     246#endif
    239247 
    240248  // -------------------------------------------------------------------------------------------------------------------
     
    596604 
    597605  Void          compressMV            ();
     606
     607#if OL_DEPTHLIMIT
     608        Void        resetPartInfo  () {m_uiPartNum = 0;};
     609        Void        incrementPartInfo () {m_uiPartNum ++;};
     610        Void        updatePartInfo(UInt uiSymbol, UInt uiDepth) {m_uiPartInfo[m_uiPartNum][0] = uiSymbol; m_uiPartInfo
     611[m_uiPartNum][1] = uiDepth;};
     612        UInt*       readPartInfo() {return (UInt*)m_uiPartInfo;};
     613//      UInt            getPartNumIdx() {return m_uiPartNum;}; //added this to get the index
     614//flag to signal to start dumping
     615        Void            setPartDumpFlag(bool flag)      {b_dumpPartInfo = flag;};
     616        Bool            getPartDumpFlag()       {return b_dumpPartInfo;};
     617#endif
    598618 
    599619  // -------------------------------------------------------------------------------------------------------------------
  • trunk/source/Lib/TLibCommon/TComRdCost.h

    r100 r115  
    377377  Bool                    m_bUseEstimatedVSD;
    378378#endif
     379#if LGE_WVSO_A0119
     380  Int                                                                                   m_iDWeight;
     381  Int                                                                                   m_iVSOWeight;
     382  Int                     m_iVSDWeight;
     383  Bool                    m_bWVSO;
     384#endif
    379385
    380386  Bool                    m_bUseVSO;
     
    410416  Void    setVSOMode( UInt uiIn);
    411417  UInt    getVSOMode( )                  { return m_uiVSOMode; }
    412 
     418#if LGE_WVSO_A0119
     419  Void    setWVSO ( Bool bIn )         { m_bWVSO = bIn; };
     420  Bool    getWVSO ( )                  { return m_bWVSO;};
     421  Void          setDWeight ( Int iDWeight )                     { m_iDWeight = iDWeight; };
     422  Int                   getDWeight ()                                                                           { return m_iDWeight; };
     423  Void          setVSOWeight ( Int iVSOWeight ) { m_iVSOWeight = iVSOWeight; };
     424  Int                   getVSOWeight ()                                                                 { return m_iVSOWeight; };
     425  Void          setVSDWeight ( Int iVSDWeight ) { m_iVSDWeight = iVSDWeight; };
     426  Int                   getVSDWeight ()                                                                 { return m_iVSDWeight; };
     427#endif
    413428#if HHI_VSO_DIST_INT
    414429  Void    setAllowNegDist ( Bool bAllowNegDist );
  • trunk/source/Lib/TLibCommon/TComSlice.cpp

    r101 r115  
    14411441, m_bUseDMM                   (false)
    14421442#endif
     1443#if OL_DEPTHLIMIT
     1444, m_bDepthPartitionLimiting   (false)
     1445#endif
    14431446{
    14441447  // AMVP parameter
  • trunk/source/Lib/TLibCommon/TComSlice.h

    r101 r115  
    354354#endif
    355355
     356#if OL_DEPTHLIMIT
     357  Bool m_bDepthPartitionLimiting;
     358#endif
     359
    356360#if DEPTH_MAP_GENERATION
    357361  UInt  m_uiPredDepthMapGeneration;
     
    619623#endif
    620624
     625#if OL_DEPTHLIMIT
     626  Void setUseDPL(Bool b) {m_bDepthPartitionLimiting = b; }
     627  Bool getUseDPL()       {return m_bDepthPartitionLimiting;}
     628#endif
     629
    621630  Void initMultiviewSPS      ( UInt uiViewId, Int iViewOrderIdx = 0, UInt uiCamParPrecision = 0, Bool bCamParSlice = false, Int** aaiScale = 0, Int** aaiOffset = 0 );
    622631  Void initMultiviewSPSDepth ( UInt uiViewId, Int iViewOrderIdx );
  • trunk/source/Lib/TLibCommon/TypeDef.h

    r105 r115  
    9494#define SAIT_VSO_EST_A0033                1 // JCT2-A0033 modification 3
    9595#define LGE_VSO_EARLY_SKIP_A0093          1 // JCT2-A0093 modification 4
    96 
     96#define LGE_WVSO_A0119                    1 // JCT2-A0119 Depth Metric with a weighted depth fidelity term
     97
     98#define OL_DEPTHLIMIT                     1 //JCT2-A0044
     99#if OL_DEPTHLIMIT
     100#define OL_DO_NOT_LIMIT_INTRA_SLICES_PART 1 //Turn this on to not perform depth limiting for I-SLICES.
     101#define OL_END_CU                         MAX_INT //Default for initialising the partition information buffer
     102#define OL_PART_BUF_SIZE                  86 //maximum number of possible partition bits in a CU
     103#endif
    97104
    98105#define HHI_INTERVIEW_SKIP                1
Note: See TracChangeset for help on using the changeset viewer.