Changeset 438 in 3DVCSoftware for branches/HTM-DEV-0.2-dev/source/Lib/TLibCommon/TComSlice.h
- Timestamp:
- 23 May 2013, 15:40:36 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-0.2-dev/source/Lib/TLibCommon/TComSlice.h
r368 r438 248 248 ProfileTierLevel* getGeneralPTL() { return &m_generalPTL; } 249 249 ProfileTierLevel* getSubLayerPTL(Int i) { return &m_subLayerPTL[i]; } 250 250 251 #if H_MV 251 252 Void copyLevelFrom( TComPTL* source ); … … 535 536 536 537 #endif 538 537 539 public: 538 540 TComVPS(); … … 594 596 TComPTL* getPTL() { return &m_pcPTL; } 595 597 #endif 598 596 599 #if SIGNAL_BITRATE_PICRATE_IN_VPS 597 600 TComBitRatePicRateInfo *getBitratePicrateInfo() { return &m_bitRatePicRateInfo; } … … 600 603 TimingInfo* getTimingInfo() { return &m_timingInfo; } 601 604 #endif 605 602 606 #if H_MV 603 607 Void setAvcBaseLayerFlag( Bool val ) { m_avcBaseLayerFlag = val; } … … 901 905 UInt m_picHeightInLumaSamples; 902 906 903 Int m_log2MinCodingBlockSize;904 Int m_log2DiffMaxMinCodingBlockSize; 907 Window m_conformanceWindow; 908 905 909 UInt m_uiMaxCUWidth; 906 910 UInt m_uiMaxCUHeight; 907 911 UInt m_uiMaxCUDepth; 908 909 Window m_conformanceWindow; 910 912 UInt m_uiMinTrDepth; 913 UInt m_uiMaxTrDepth; 911 914 TComRPSList m_RPSList; 912 915 Bool m_bLongTermRefsPresent; … … 924 927 Bool m_useAMP; 925 928 926 #if !L0034_COMBINED_LIST_CLEANUP927 929 Bool m_bUseLComb; 928 #endif929 930 930 931 // Parameter … … 967 968 static const Int m_winUnitY[MAX_CHROMA_FORMAT_IDC+1]; 968 969 TComPTL m_pcPTL; 969 #if H_MV970 Bool m_interViewMvVertConstraintFlag;971 #endif972 970 public: 973 971 TComSPS(); … … 1001 999 Bool getUsedByCurrPicLtSPSFlag(Int i) {return m_usedByCurrPicLtSPSFlag[i];} 1002 1000 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 1009 1001 Void setMaxCUWidth ( UInt u ) { m_uiMaxCUWidth = u; } 1010 1002 UInt getMaxCUWidth () { return m_uiMaxCUWidth; } … … 1023 1015 Bool getUseAMP() { return m_useAMP; } 1024 1016 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; } 1025 1021 Void setQuadtreeTULog2MaxSize( UInt u ) { m_uiQuadtreeTULog2MaxSize = u; } 1026 1022 UInt getQuadtreeTULog2MaxSize() { return m_uiQuadtreeTULog2MaxSize; } … … 1044 1040 1045 1041 // Tool list 1046 #if !L0034_COMBINED_LIST_CLEANUP1047 1042 Void setUseLComb (Bool b) { m_bUseLComb = b; } 1048 1043 Bool getUseLComb () { return m_bUseLComb; } 1049 #endif1050 1044 1051 1045 Bool getUseLossless () { return m_useLossless; } … … 1100 1094 1101 1095 TComPTL* getPTL() { return &m_pcPTL; } 1102 #if H_MV1103 Void setInterViewMvVertConstraintFlag(Bool val) { m_interViewMvVertConstraintFlag = val; }1104 Bool getInterViewMvVertConstraintFlag() { return m_interViewMvVertConstraintFlag;}1105 #endif1106 1096 }; 1107 1097 … … 1130 1120 Void setRefPicSetIdxL1(UInt idx, UInt refPicSetIdx) { m_RefPicSetIdxL1[idx] = refPicSetIdx; } 1131 1121 UInt getRefPicSetIdxL1(UInt idx) { return m_RefPicSetIdxL1[idx]; } 1122 1132 1123 #if H_MV 1133 1124 // Why not an listIdx for all members, would avoid code duplication?? … … 1366 1357 Int m_deblockingFilterBetaOffsetDiv2; //< beta offset for deblocking filter 1367 1358 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 1372 1360 Int m_aiNumRefIdx [3]; // for multiple reference of current slice 1373 1361 … … 1379 1367 Bool m_bRefPicListModificationFlagLC; 1380 1368 Bool m_bRefPicListCombinationFlag; 1381 #endif1382 1369 1383 1370 Bool m_bCheckLDC; … … 1420 1407 1421 1408 Bool m_abEqualRef [2][MAX_NUM_REF][MAX_NUM_REF]; 1422 #if !L0034_COMBINED_LIST_CLEANUP 1409 1423 1410 Bool m_bNoBackPredFlag; 1424 #endif1425 1411 UInt m_uiTLayer; 1426 1412 Bool m_bTLayerSwitchingFlag; … … 1457 1443 1458 1444 Bool m_enableTMVPFlag; 1445 1459 1446 #if H_MV 1460 1447 Int m_layerId; … … 1464 1451 #endif 1465 1452 #endif 1453 1466 1454 public: 1467 1455 TComSlice(); … … 1528 1516 Bool getMvdL1ZeroFlag () { return m_bLMvdL1Zero; } 1529 1517 Int getNumRpsCurrTempList(); 1530 #if L0034_COMBINED_LIST_CLEANUP1531 Int getList1IdxToList0Idx ( Int list1Idx ) { return m_list1IdxToList0Idx[list1Idx]; }1532 #else1533 1518 Int getRefIdxOfLC (RefPicList e, Int iRefIdx) { return m_iRefIdxOfLC[e][iRefIdx]; } 1534 1519 Int getListIdFromIdxOfLC(Int iRefIdx) { return m_eListIdFromIdxOfLC[iRefIdx]; } … … 1540 1525 Bool getRefPicListCombinationFlag() {return m_bRefPicListCombinationFlag;} 1541 1526 Void setRefPicListCombinationFlag(Bool bflag) {m_bRefPicListCombinationFlag=bflag;} 1542 #endif1543 1527 Void setReferenced(Bool b) { m_bRefenced = b; } 1544 1528 Bool isReferenced() { return m_bRefenced; } 1545 1529 Void setPOC ( Int i ) { m_iPOC = i; if(getTLayer()==0) m_prevPOC=i; } 1546 1530 Void setNalUnitType ( NalUnitType e ) { m_eNalUnitType = e; } 1547 NalUnitType getNalUnitType () const{ return m_eNalUnitType; }1531 NalUnitType getNalUnitType () { return m_eNalUnitType; } 1548 1532 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); 1552 1535 Void decodingRefreshMarking(Int& pocCRA, Bool& bRefreshPending, TComList<TComPic*>& rcListPic); 1553 1536 Void setSliceType ( SliceType e ) { m_eSliceType = e; } … … 1575 1558 #endif 1576 1559 #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 ); 1581 1561 #else 1582 1562 Void setRefPicList ( TComList<TComPic*>& rcListPic ); 1583 #endif1584 1563 #endif 1585 1564 Void setRefPOCList (); … … 1615 1594 1616 1595 static Void sortPicList ( TComList<TComPic*>& rcListPic ); 1617 #if L0034_COMBINED_LIST_CLEANUP 1618 Void setList1IdxToList0Idx(); 1619 #else 1596 1620 1597 Bool getNoBackPredFlag() { return m_bNoBackPredFlag; } 1621 1598 Void setNoBackPredFlag( Bool b ) { m_bNoBackPredFlag = b; } 1622 1599 Void generateCombinedList (); 1623 #endif1624 1600 1625 1601 UInt getTLayer () { return m_uiTLayer; } … … 1629 1605 Void decodingMarking( TComList<TComPic*>& rcListPic, Int iGOPSIze, Int& iMaxRefPicNum ); 1630 1606 Void applyReferencePictureSet( TComList<TComPic*>& rcListPic, TComReferencePictureSet *RPSList); 1607 1631 1608 #if H_MV 1632 1609 Void createAndApplyIvReferencePictureSet( TComPicLists* ivPicLists, std::vector<TComPic*>& refPicSetInterLayer ); … … 1637 1614 Void xPrintRefPicList(); 1638 1615 #endif 1616 1639 1617 Bool isTemporalLayerSwitchingPoint( TComList<TComPic*>& rcListPic ); 1640 1618 Bool isStepwiseTemporalLayerSwitchingPointCandidate( TComList<TComPic*>& rcListPic ); … … 1677 1655 Void getWpScaling ( RefPicList e, Int iRefIdx, wpScalingParam *&wp); 1678 1656 1679 Void resetWpScaling (); 1657 Void resetWpScaling (wpScalingParam wp[2][MAX_NUM_REF][3]); 1658 Void initWpScaling (wpScalingParam wp[2][MAX_NUM_REF][3]); 1680 1659 Void initWpScaling (); 1681 1660 inline Bool applyWP () { return( (m_eSliceType==P_SLICE && m_pcPPS->getUseWP()) || (m_eSliceType==B_SLICE && m_pcPPS->getWPBiPred()) ); } … … 1723 1702 #endif 1724 1703 #endif 1704 1725 1705 protected: 1726 1706 TComPic* xGetRefPic (TComList<TComPic*>& rcListPic, 1727 1707 Int poc); 1728 TComPic* xGetLongTermRefPic(TComList<TComPic*>& rcListPic, Int poc, Bool pocHasMsb); 1708 TComPic* xGetLongTermRefPic (TComList<TComPic*>& rcListPic, 1709 Int poc); 1729 1710 #if H_MV 1730 1711 TComPic* xGetInterLayerRefPic( std::vector<TComPic*>& rcListIlPic, Int layerId ); … … 1813 1794 //! activate a PPS and depending on isIDR parameter also SPS and VPS 1814 1795 //! \returns true, if activation is successful 1815 Bool activatePPS(Int ppsId, Bool isI RAP);1796 Bool activatePPS(Int ppsId, Bool isIDR); 1816 1797 1817 1798 TComVPS* getActiveVPS(){ return m_vpsMap.getPS(m_activeVPSId); };
Note: See TracChangeset for help on using the changeset viewer.