Ignore:
Timestamp:
23 May 2013, 15:40:36 (12 years ago)
Author:
tech
Message:

Integrated 3D encoder control, camera parameters, renderer and MV fixes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-0.2-dev/source/Lib/TLibCommon/TComSlice.h

    r368 r438  
    248248  ProfileTierLevel* getGeneralPTL()  { return &m_generalPTL; }
    249249  ProfileTierLevel* getSubLayerPTL(Int i)  { return &m_subLayerPTL[i]; }
     250
    250251#if H_MV
    251252  Void copyLevelFrom( TComPTL* source );
     
    535536
    536537#endif
     538
    537539public:
    538540  TComVPS();
     
    594596  TComPTL* getPTL() { return &m_pcPTL; }
    595597#endif
     598
    596599#if SIGNAL_BITRATE_PICRATE_IN_VPS
    597600  TComBitRatePicRateInfo *getBitratePicrateInfo() { return &m_bitRatePicRateInfo; }
     
    600603  TimingInfo* getTimingInfo() { return &m_timingInfo; }
    601604#endif
     605
    602606#if H_MV
    603607  Void    setAvcBaseLayerFlag( Bool val )                                  { m_avcBaseLayerFlag = val;  }
     
    901905  UInt        m_picHeightInLumaSamples;
    902906 
    903   Int         m_log2MinCodingBlockSize;
    904   Int         m_log2DiffMaxMinCodingBlockSize;
     907  Window      m_conformanceWindow;
     908
    905909  UInt        m_uiMaxCUWidth;
    906910  UInt        m_uiMaxCUHeight;
    907911  UInt        m_uiMaxCUDepth;
    908 
    909   Window      m_conformanceWindow;
    910 
     912  UInt        m_uiMinTrDepth;
     913  UInt        m_uiMaxTrDepth;
    911914  TComRPSList m_RPSList;
    912915  Bool        m_bLongTermRefsPresent;
     
    924927  Bool        m_useAMP;
    925928
    926 #if !L0034_COMBINED_LIST_CLEANUP
    927929  Bool        m_bUseLComb;
    928 #endif
    929930 
    930931  // Parameter
     
    967968  static const Int   m_winUnitY[MAX_CHROMA_FORMAT_IDC+1];
    968969  TComPTL     m_pcPTL;
    969 #if H_MV
    970   Bool        m_interViewMvVertConstraintFlag;
    971 #endif
    972970public:
    973971  TComSPS();
     
    1001999  Bool getUsedByCurrPicLtSPSFlag(Int i)        {return m_usedByCurrPicLtSPSFlag[i];}
    10021000  Void setUsedByCurrPicLtSPSFlag(Int i, Bool x)      { m_usedByCurrPicLtSPSFlag[i] = x;}
    1003 
    1004   Int  getLog2MinCodingBlockSize() const           { return m_log2MinCodingBlockSize; }
    1005   Void setLog2MinCodingBlockSize(Int val)          { m_log2MinCodingBlockSize = val; }
    1006   Int  getLog2DiffMaxMinCodingBlockSize() const    { return m_log2DiffMaxMinCodingBlockSize; }
    1007   Void setLog2DiffMaxMinCodingBlockSize(Int val)   { m_log2DiffMaxMinCodingBlockSize = val; }
    1008 
    10091001  Void setMaxCUWidth  ( UInt u ) { m_uiMaxCUWidth = u;      }
    10101002  UInt getMaxCUWidth  ()         { return  m_uiMaxCUWidth;  }
     
    10231015  Bool getUseAMP() { return m_useAMP; }
    10241016  Void setUseAMP( Bool b ) { m_useAMP = b; }
     1017  Void setMinTrDepth  ( UInt u ) { m_uiMinTrDepth = u;      }
     1018  UInt getMinTrDepth  ()         { return  m_uiMinTrDepth;  }
     1019  Void setMaxTrDepth  ( UInt u ) { m_uiMaxTrDepth = u;      }
     1020  UInt getMaxTrDepth  ()         { return  m_uiMaxTrDepth;  }
    10251021  Void setQuadtreeTULog2MaxSize( UInt u ) { m_uiQuadtreeTULog2MaxSize = u;    }
    10261022  UInt getQuadtreeTULog2MaxSize()         { return m_uiQuadtreeTULog2MaxSize; }
     
    10441040 
    10451041  // Tool list
    1046 #if !L0034_COMBINED_LIST_CLEANUP
    10471042  Void setUseLComb    (Bool b)   { m_bUseLComb = b;         }
    10481043  Bool getUseLComb    ()         { return m_bUseLComb;      }
    1049 #endif
    10501044
    10511045  Bool getUseLossless ()         { return m_useLossless; }
     
    11001094
    11011095  TComPTL* getPTL()     { return &m_pcPTL; }
    1102 #if H_MV
    1103   Void setInterViewMvVertConstraintFlag(Bool val) { m_interViewMvVertConstraintFlag = val; }
    1104   Bool getInterViewMvVertConstraintFlag()         { return m_interViewMvVertConstraintFlag;}
    1105 #endif
    11061096};
    11071097
     
    11301120  Void       setRefPicSetIdxL1(UInt idx, UInt refPicSetIdx) { m_RefPicSetIdxL1[idx] = refPicSetIdx; }
    11311121  UInt       getRefPicSetIdxL1(UInt idx) { return m_RefPicSetIdxL1[idx]; }
     1122
    11321123#if H_MV
    11331124  // Why not an listIdx for all members, would avoid code duplication??
     
    13661357  Int         m_deblockingFilterBetaOffsetDiv2;    //< beta offset for deblocking filter
    13671358  Int         m_deblockingFilterTcOffsetDiv2;      //< tc offset for deblocking filter
    1368 #if L0034_COMBINED_LIST_CLEANUP
    1369   Int         m_list1IdxToList0Idx[MAX_NUM_REF];
    1370   Int         m_aiNumRefIdx   [2];    //  for multiple reference of current slice
    1371 #else
     1359 
    13721360  Int         m_aiNumRefIdx   [3];    //  for multiple reference of current slice
    13731361
     
    13791367  Bool        m_bRefPicListModificationFlagLC;
    13801368  Bool        m_bRefPicListCombinationFlag;
    1381 #endif
    13821369
    13831370  Bool        m_bCheckLDC;
     
    14201407
    14211408  Bool        m_abEqualRef  [2][MAX_NUM_REF][MAX_NUM_REF];
    1422 #if !L0034_COMBINED_LIST_CLEANUP
     1409 
    14231410  Bool        m_bNoBackPredFlag;
    1424 #endif
    14251411  UInt        m_uiTLayer;
    14261412  Bool        m_bTLayerSwitchingFlag;
     
    14571443
    14581444  Bool       m_enableTMVPFlag;
     1445
    14591446#if H_MV
    14601447  Int        m_layerId;
     
    14641451#endif
    14651452#endif
     1453
    14661454public:
    14671455  TComSlice();
     
    15281516  Bool      getMvdL1ZeroFlag ()                                  { return m_bLMvdL1Zero;    }
    15291517  Int       getNumRpsCurrTempList();
    1530 #if L0034_COMBINED_LIST_CLEANUP
    1531   Int       getList1IdxToList0Idx ( Int list1Idx )               { return m_list1IdxToList0Idx[list1Idx]; }
    1532 #else
    15331518  Int       getRefIdxOfLC       (RefPicList e, Int iRefIdx)     { return m_iRefIdxOfLC[e][iRefIdx];           }
    15341519  Int       getListIdFromIdxOfLC(Int iRefIdx)                   { return m_eListIdFromIdxOfLC[iRefIdx];       }
     
    15401525  Bool      getRefPicListCombinationFlag()                      {return m_bRefPicListCombinationFlag;}
    15411526  Void      setRefPicListCombinationFlag(Bool bflag)            {m_bRefPicListCombinationFlag=bflag;}   
    1542 #endif
    15431527  Void      setReferenced(Bool b)                               { m_bRefenced = b; }
    15441528  Bool      isReferenced()                                      { return m_bRefenced; }
    15451529  Void      setPOC              ( Int i )                       { m_iPOC              = i; if(getTLayer()==0) m_prevPOC=i; }
    15461530  Void      setNalUnitType      ( NalUnitType e )               { m_eNalUnitType      = e;      }
    1547   NalUnitType getNalUnitType    () const                        { return m_eNalUnitType;        }
     1531  NalUnitType getNalUnitType    ()                              { return m_eNalUnitType;        }
    15481532  Bool      getRapPicFlag       (); 
    1549   Bool      getIdrPicFlag       ()                              { return getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_W_RADL || getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_N_LP; }
    1550   Bool      isIRAP              () const                        { return (getNalUnitType() >= 16) && (getNalUnitType() <= 23); } 
    1551   Void      checkCRA(TComReferencePictureSet *pReferencePictureSet, Int& pocCRA, Bool& prevRAPisBLA, TComList<TComPic *>& rcListPic);
     1533  Bool      getIdrPicFlag       ()                              { return getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR || getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_N_LP; }
     1534  Void      checkCRA(TComReferencePictureSet *pReferencePictureSet, Int& pocCRA, Bool& prevRAPisBLA);
    15521535  Void      decodingRefreshMarking(Int& pocCRA, Bool& bRefreshPending, TComList<TComPic*>& rcListPic);
    15531536  Void      setSliceType        ( SliceType e )                 { m_eSliceType        = e;      }
     
    15751558#endif
    15761559#if H_MV
    1577   Void      setRefPicList       ( TComList<TComPic*>& rcListPic, std::vector<TComPic*>& interLayerRefPicSet , Bool checkNumPocTotalCurr = false );
    1578 #else
    1579 #if FIX1071
    1580   Void      setRefPicList       ( TComList<TComPic*>& rcListPic, Bool checkNumPocTotalCurr = false );
     1560  Void      setRefPicList       ( TComList<TComPic*>& rcListPic, std::vector<TComPic*>& interLayerRefPicSet );
    15811561#else
    15821562  Void      setRefPicList       ( TComList<TComPic*>& rcListPic );
    1583 #endif
    15841563#endif
    15851564  Void      setRefPOCList       ();
     
    16151594 
    16161595  static Void      sortPicList         ( TComList<TComPic*>& rcListPic );
    1617 #if L0034_COMBINED_LIST_CLEANUP
    1618   Void setList1IdxToList0Idx();
    1619 #else
     1596 
    16201597  Bool getNoBackPredFlag() { return m_bNoBackPredFlag; }
    16211598  Void setNoBackPredFlag( Bool b ) { m_bNoBackPredFlag = b; }
    16221599  Void generateCombinedList       ();
    1623 #endif
    16241600
    16251601  UInt getTLayer             ()                            { return m_uiTLayer;                      }
     
    16291605  Void decodingMarking( TComList<TComPic*>& rcListPic, Int iGOPSIze, Int& iMaxRefPicNum );
    16301606  Void applyReferencePictureSet( TComList<TComPic*>& rcListPic, TComReferencePictureSet *RPSList);
     1607
    16311608#if H_MV
    16321609  Void createAndApplyIvReferencePictureSet( TComPicLists* ivPicLists, std::vector<TComPic*>& refPicSetInterLayer );
     
    16371614  Void xPrintRefPicList();
    16381615#endif
     1616
    16391617  Bool isTemporalLayerSwitchingPoint( TComList<TComPic*>& rcListPic );
    16401618  Bool isStepwiseTemporalLayerSwitchingPointCandidate( TComList<TComPic*>& rcListPic );
     
    16771655  Void  getWpScaling    ( RefPicList e, Int iRefIdx, wpScalingParam *&wp);
    16781656
    1679   Void  resetWpScaling  ();
     1657  Void  resetWpScaling  (wpScalingParam  wp[2][MAX_NUM_REF][3]);
     1658  Void  initWpScaling    (wpScalingParam  wp[2][MAX_NUM_REF][3]);
    16801659  Void  initWpScaling   ();
    16811660  inline Bool applyWP   () { return( (m_eSliceType==P_SLICE && m_pcPPS->getUseWP()) || (m_eSliceType==B_SLICE && m_pcPPS->getWPBiPred()) ); }
     
    17231702#endif
    17241703#endif
     1704
    17251705protected:
    17261706  TComPic*  xGetRefPic  (TComList<TComPic*>& rcListPic,
    17271707                         Int                 poc);
    1728 TComPic*  xGetLongTermRefPic(TComList<TComPic*>& rcListPic, Int poc, Bool pocHasMsb);
     1708  TComPic*  xGetLongTermRefPic  (TComList<TComPic*>& rcListPic,
     1709                         Int                 poc);
    17291710#if H_MV
    17301711  TComPic*  xGetInterLayerRefPic( std::vector<TComPic*>& rcListIlPic, Int layerId );
     
    18131794  //! activate a PPS and depending on isIDR parameter also SPS and VPS
    18141795  //! \returns true, if activation is successful
    1815   Bool activatePPS(Int ppsId, Bool isIRAP);
     1796  Bool activatePPS(Int ppsId, Bool isIDR);
    18161797
    18171798  TComVPS* getActiveVPS(){ return m_vpsMap.getPS(m_activeVPSId); };
Note: See TracChangeset for help on using the changeset viewer.