Changeset 655 in 3DVCSoftware for trunk/source/Lib/TLibCommon/TComSlice.h
- Timestamp:
- 23 Oct 2013, 23:01:30 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibCommon/TComSlice.h
r622 r655 155 155 Void setScalingListPresentFlag (Bool b) { m_scalingListPresentFlag = b; } 156 156 Bool getScalingListPresentFlag () { return m_scalingListPresentFlag; } 157 Bool getUseTransformSkip () { return m_useTransformSkip; }158 Void setUseTransformSkip (Bool b) { m_useTransformSkip = b; }159 157 Int* getScalingListAddress (UInt sizeId, UInt listId) { return m_scalingListCoef[sizeId][listId]; } //!< get matrix coefficient 160 158 Bool checkPredMode (UInt sizeId, UInt listId); … … 169 167 Void processRefMatrix (UInt sizeId, UInt listId , UInt refListId ); 170 168 Bool xParseScalingList (Char* pchFile); 171 #if H_MV5172 169 #if H_MV 173 170 Void inferFrom ( TComScalingList* srcScLi ); 174 #endif175 171 #endif 176 172 … … 184 180 UInt m_predMatrixId [SCALING_LIST_SIZE_NUM][SCALING_LIST_NUM]; //!< reference list index 185 181 Int *m_scalingListCoef [SCALING_LIST_SIZE_NUM][SCALING_LIST_NUM]; //!< quantization matrix 186 Bool m_useTransformSkip; //!< transform skipping flag for setting default scaling matrix for 4x4187 182 }; 188 183 … … 407 402 }; 408 403 409 #if H_MV5410 404 #if H_MV 411 405 class TComVPSVUI … … 502 496 }; 503 497 #endif 504 #endif505 498 506 499 class TComVPS … … 510 503 UInt m_uiMaxTLayers; 511 504 512 #if H_MV5513 505 #if H_MV 514 506 UInt m_uiMaxLayersMinus1; 515 #else516 UInt m_uiMaxLayers;517 #endif518 507 #else 519 508 UInt m_uiMaxLayers; … … 551 540 /// VPS EXTENSION SYNTAX ELEMENTS 552 541 Bool m_avcBaseLayerFlag; 553 #if H_MV5554 542 Int m_vpsVuiOffset; 555 #endif556 543 Bool m_splittingFlag; 557 #if H_MV5558 544 Bool m_scalabilityMaskFlag [MAX_NUM_SCALABILITY_TYPES]; 559 #else560 Bool m_scalabilityMask [MAX_NUM_SCALABILITY_TYPES];561 #endif562 545 Int m_dimensionIdLen [MAX_NUM_SCALABILITY_TYPES]; 563 546 Bool m_vpsNuhLayerIdPresentFlag; 564 547 Int m_layerIdInNuh [MAX_NUM_LAYER_IDS]; 565 548 Int m_dimensionId [MAX_NUM_LAYER_IDS][MAX_NUM_SCALABILITY_TYPES]; 566 #if H_MV5567 549 Int m_viewIdLenMinus1; 568 550 Int m_viewIdVal [MAX_NUM_LAYERS]; 569 #endif570 551 Bool m_directDependencyFlag [MAX_NUM_LAYER_IDS][MAX_NUM_LAYER_IDS]; 571 #if H_MV5572 552 Bool m_maxTidRefPresentFlag; 573 #endif574 553 Int m_maxTidIlRefPicPlus1 [MAX_NUM_LAYERS]; 575 #if H_MV5576 554 Bool m_allRefLayersActiveFlag; 577 #endif578 555 Int m_vpsNumberLayerSetsMinus1; 579 556 Int m_vpsNumProfileTierLevelMinus1; … … 586 563 Bool m_outputLayerFlag [MAX_VPS_OUTPUTLAYER_SETS][MAX_VPS_NUH_LAYER_ID_PLUS1]; 587 564 Int m_profileLevelTierIdx [MAX_VPS_OUTPUTLAYER_SETS ]; 588 #if H_MV5589 565 Bool m_repFormatIdxPresentFlag; 590 566 Int m_vpsNumRepFormatsMinus1; 591 567 Int m_vpsRepFormatIdx [MAX_NUM_LAYERS]; 592 568 TComRepFormat* m_repFormat [MAX_NUM_LAYERS]; 593 #endif594 569 Bool m_maxOneActiveRefLayerFlag; 595 #if H_MV5596 570 Bool m_crossLayerIrapAlignedFlag; 597 #endif598 571 Int m_directDepTypeLenMinus2; 599 #if H_MV5600 572 Bool m_vpsVuiPresentFlag; 601 573 TComVPSVUI* m_vpsVUI; 602 #endif603 574 Int m_directDependencyType [MAX_NUM_LAYERS] [MAX_NUM_LAYERS]; 604 575 … … 616 587 Bool m_motionPredEnabledFlag [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 617 588 Int m_motionPredRefLayerId [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 618 #if H_MV5619 589 Int m_viewIndex [MAX_NUM_LAYERS ]; 620 #else621 #if H_3D622 Int m_viewIndex [MAX_NUM_LAYERS ];623 #endif624 625 Int xCeilLog2 ( Int val );626 #endif627 590 Int xGetDimBitOffset( Int j ); 628 591 … … 653 616 Bool m_ivMvScalingFlag; 654 617 #endif 655 #if LGE_INTER_SDC_E0156618 #if H_3D_INTER_SDC 656 619 Bool m_bInterSDCFlag[MAX_NUM_LAYERS ]; 657 620 #endif … … 681 644 Void setMaxTLayers (UInt t) { m_uiMaxTLayers = t; } 682 645 683 #if H_MV5684 646 #if H_MV 685 647 UInt getMaxLayersMinus1() { return m_uiMaxLayersMinus1; }; … … 689 651 Void setMaxLayers (UInt l) { m_uiMaxLayers = l; } 690 652 #endif 691 #else692 UInt getMaxLayers () { return m_uiMaxLayers; }693 Void setMaxLayers (UInt l) { m_uiMaxLayers = l; }694 #endif695 653 696 654 Bool getTemporalNestingFlag () { return m_bTemporalIdNestingFlag; } … … 735 693 Bool getAvcBaseLayerFlag() { return m_avcBaseLayerFlag; } 736 694 737 #if H_MV5738 695 Void setVpsVuiOffset( Int val ) { m_vpsVuiOffset = val; } 739 696 Int getVpsVuiOffset( ) { return m_vpsVuiOffset; } 740 #endif741 697 742 698 Void setSplittingFlag( Bool val ) { m_splittingFlag = val; } 743 699 Bool getSplittingFlag() { return m_splittingFlag; } 744 700 745 #if H_MV5746 701 Void setScalabilityMaskFlag( UInt val ); 747 702 Void setScalabilityMaskFlag( Int scalType, Bool val ) { m_scalabilityMaskFlag[scalType] = val; } 748 703 Bool getScalabilityMaskFlag( Int scalType ) { return m_scalabilityMaskFlag[scalType]; } 749 #else750 Void setScalabilityMask( UInt val );751 752 Void setScalabilityMask( Int scalType, Bool val ) { m_scalabilityMask[scalType] = val; }753 Bool getScalabilityMask( Int scalType ) { return m_scalabilityMask[scalType]; }754 #endif755 704 Int getNumScalabilityTypes( ); 756 705 … … 769 718 Int getDimensionId( Int layerIdInVps, Int scalIdx ) { return m_dimensionId[layerIdInVps][scalIdx]; } 770 719 771 #if H_MV5772 720 Void setViewIdLenMinus1( Int val ) { m_viewIdLenMinus1 = val; } 773 721 Int getViewIdLenMinus1( ) { return m_viewIdLenMinus1; } … … 775 723 Void setViewIdVal( Int viewOrderIndex, Int val ) { m_viewIdVal[viewOrderIndex] = val; } 776 724 Int getViewIdVal( Int viewOrderIndex ) { return m_viewIdVal[viewOrderIndex]; } 777 #endif778 725 Void setDirectDependencyFlag( Int depLayeridInVps, Int refLayeridInVps, Bool val ) { m_directDependencyFlag[depLayeridInVps][refLayeridInVps] = val; } 779 726 Bool getDirectDependencyFlag( Int depLayeridInVps, Int refLayeridInVps ) { return m_directDependencyFlag[depLayeridInVps][refLayeridInVps]; } 780 727 781 #if H_MV5782 728 Void setMaxTidRefPresentFlag( Bool flag ) { m_maxTidRefPresentFlag = flag; } 783 729 Bool getMaxTidRefPresentFlag( ) { return m_maxTidRefPresentFlag; } 784 #endif785 730 Void setMaxTidIlRefPicPlus1( Int layerIdInVps, Int val ) { m_maxTidIlRefPicPlus1[ layerIdInVps ] = val; } 786 731 Int getMaxTidIlRefPicPlus1( Int layerIdInVps ) { return m_maxTidIlRefPicPlus1[ layerIdInVps ]; } 787 #if H_MV5788 732 Void setAllRefLayersActiveFlag( Bool flag ) { m_allRefLayersActiveFlag = flag; } 789 733 Bool getAllRefLayersActiveFlag( ) { return m_allRefLayersActiveFlag; } 790 #endif791 734 Void setVpsNumberLayerSetsMinus1( Int val ) { m_vpsNumberLayerSetsMinus1 = val; } 792 735 Int getVpsNumberLayerSetsMinus1( ) { return m_vpsNumberLayerSetsMinus1; } … … 819 762 Int getProfileLevelTierIdx( Int outLayerSetIdx ) { return m_profileLevelTierIdx[ outLayerSetIdx ]; } 820 763 821 #if H_MV5822 764 Void setRepFormatIdxPresentFlag( Bool flag ) { m_repFormatIdxPresentFlag = flag; } 823 765 Bool getRepFormatIdxPresentFlag( ) { return m_repFormatIdxPresentFlag; } … … 831 773 Void setRepFormat( Int i, TComRepFormat* val ) { m_repFormat[i] = val; } 832 774 TComRepFormat* getRepFormat( Int i ) { return m_repFormat[i]; } 833 #endif834 775 Void setMaxOneActiveRefLayerFlag( Bool flag) { m_maxOneActiveRefLayerFlag = flag; } 835 776 Bool getMaxOneActiveRefLayerFlag( ) { return m_maxOneActiveRefLayerFlag; } 836 #if H_MV5837 777 Void setCrossLayerIrapAlignedFlag( Bool flag ) { m_crossLayerIrapAlignedFlag = flag; } 838 778 Bool getCrossLayerIrapAlignedFlag( ) { return m_crossLayerIrapAlignedFlag; } 839 #endif840 779 Void setDirectDepTypeLenMinus2( Int val) { m_directDepTypeLenMinus2 = val; } 841 780 Int getDirectDepTypeLenMinus2( ) { return m_directDepTypeLenMinus2; } … … 843 782 Void setDirectDependencyType( Int depLayeridInVps, Int refLayeridInVps, Int val) { m_directDependencyType[ depLayeridInVps ][ refLayeridInVps ] = val; } 844 783 Int getDirectDependencyType( Int depLayeridInVps, Int refLayeridInVps) { return m_directDependencyType[ depLayeridInVps ][ refLayeridInVps ]; } 845 #if H_MV5846 784 Void setVpsVuiPresentFlag( Bool flag ) { m_vpsVuiPresentFlag = flag; } 847 785 Bool getVpsVuiPresentFlag( ) { return m_vpsVuiPresentFlag; } 848 786 849 787 TComVPSVUI* getVPSVUI( ) { return m_vpsVUI; } 850 #endif851 788 // VPS EXTENSION SEMANTICS VARIABLES 852 789 Void setLayerIdInVps( Int layerIdInNuh, Int val ) { m_layerIdInVps[layerIdInNuh] = val; } … … 854 791 855 792 Int getScalabilityId ( Int layerIdInVps, ScalabilityType scalType ); 856 #if H_MV5857 793 Int getViewId ( Int layerIdInNuh ) { return m_viewIdVal[ getViewIndex( getLayerIdInVps( layerIdInNuh) )]; } 858 #else859 Int getViewId ( Int layerIdInVps ) { return getScalabilityId( layerIdInVps, VIEW_ID ); }860 861 #endif862 794 Void setRefLayers(); 863 795 864 #if H_MV5865 796 Int getViewIndex ( Int layerIdInNuh ) { return getScalabilityId( getLayerIdInVps(layerIdInNuh), VIEW_ORDER_INDEX ); } 866 797 Int getNumViews(); … … 868 799 Int getNumDirectRefLayers( Int layerIdInNuh ) { return m_numDirectRefLayers[ layerIdInNuh ]; }; 869 800 Int getRefLayerId ( Int layerIdInNuh, Int idx );; 870 #else871 Int getNumDirectRefLayers( Int layerIdInVps ) { return m_numDirectRefLayers[ layerIdInVps ]; };872 Int getRefLayerId ( Int layerIdInVps, Int idx );;873 874 Int getNumSamplePredRefLayers( Int layerIdInVps ) { return m_numSamplePredRefLayers[layerIdInVps]; }875 Bool getSamplePredEnabledFlag ( Int layerIdInVps, Int idx ) { return m_samplePredEnabledFlag [layerIdInVps][idx]; }876 Int getSamplePredRefLayerId ( Int layerIdInVps, Int idx ) { return m_samplePredRefLayerId [layerIdInVps][idx]; }877 878 Int getNumMotionPredRefLayers( Int layerIdInVps ) { return m_numMotionPredRefLayers[layerIdInVps]; }879 Bool getMotionPredEnabledFlag ( Int layerIdInVps, Int idx ) { return m_motionPredEnabledFlag [layerIdInVps][idx]; }880 Int getMotionPredRefLayerId ( Int layerIdInVps, Int idx ) { return m_motionPredRefLayerId [layerIdInVps][idx]; }881 #endif882 801 Bool checkVPSExtensionSyntax(); 883 802 Int scalTypeToScalIdx ( ScalabilityType scalType ); 884 803 885 #if H_MV5886 804 Int getProfileLevelTierIdxLen() { return gCeilLog2( getVpsNumProfileTierLevelMinus1() + 1 ); }; 887 #else888 Int getProfileLevelTierIdxLen() { return xCeilLog2( getVpsNumProfileTierLevelMinus1() + 1 ); };889 #endif890 805 891 806 Int getNumLayersInIdList ( Int lsIdx );; … … 895 810 Int inferLastDimsionIdLenMinus1(); 896 811 897 #if H_MV5898 812 // helpers 899 813 Bool getInDirectDependencyFlag( Int depLayeridInVps, Int refLayeridInVps, Int depth = 0 ); 900 #endif901 814 /// VPS EXTENSION 2 SYNTAX ELEMENTS 902 815 #if H_3D 903 #if H_MV5904 816 Int getDepthId ( Int layerIdInNuh) { return getScalabilityId( getLayerIdInVps(layerIdInNuh), DEPTH_ID ); } 905 #else906 Void initViewIndex();907 Int getViewIndex ( Int layerIdInVps ) { return m_viewIndex[ layerIdInVps ]; }908 Int getDepthId ( Int layerIdInVps ) { return getScalabilityId( layerIdInVps, DEPTH_ID ); }909 #endif910 817 Int getLayerIdInNuh( Int viewIndex, Bool depthFlag ); 911 818 … … 943 850 Bool getIvMvScalingFlag ( ) { return m_ivMvScalingFlag; } 944 851 Void setIvMvScalingFlag ( Bool b ) { m_ivMvScalingFlag = b; } 945 #if LGE_INTER_SDC_E0156852 #if H_3D_INTER_SDC 946 853 Bool getInterSDCFlag ( Int layerIdInVps ) { return m_bInterSDCFlag[layerIdInVps]; } 947 854 Void setInterSDCFlag ( Int layerIdInVps, Bool bval ){ m_bInterSDCFlag[layerIdInVps] = bval; } … … 960 867 Int m_winTopOffset; 961 868 Int m_winBottomOffset; 962 #if H_MV5963 869 #if H_MV 964 870 Bool m_scaledFlag; 965 #endif966 871 #endif 967 872 public: … … 972 877 , m_winTopOffset (0) 973 878 , m_winBottomOffset (0) 974 #if H_MV5975 879 #if H_MV 976 880 , m_scaledFlag(true) 977 #endif978 881 #endif 979 882 { } … … 990 893 Void setWindowBottomOffset(Int val) { m_winBottomOffset = val; m_enabledFlag = true; } 991 894 992 #if H_MV5993 895 #if H_MV 994 896 Void setScaledFlag(Bool flag) { m_scaledFlag = flag; } … … 1005 907 } 1006 908 } 1007 #endif1008 909 #endif 1009 910 Void setWindow(Int offsetLeft, Int offsetLRight, Int offsetLTop, Int offsetLBottom) … … 1054 955 TComHRD m_hrdParameters; 1055 956 TimingInfo m_timingInfo; 1056 #if !H_MV51057 #if H_MV1058 Bool m_tileBoundariesAlignedFlag;1059 #endif1060 #endif1061 957 1062 958 public: … … 1091 987 ,m_log2MaxMvLengthHorizontal(15) 1092 988 ,m_log2MaxMvLengthVertical(15) 1093 #if !H_MV51094 #if H_MV1095 ,m_tileBoundariesAlignedFlag(true)1096 #endif1097 #endif1098 989 {} 1099 990 … … 1191 1082 TComHRD* getHrdParameters () { return &m_hrdParameters; } 1192 1083 TimingInfo* getTimingInfo() { return &m_timingInfo; } 1193 #if !H_MV51194 #if H_MV1195 Bool getTileBoundariesAlignedFlag( ) { return m_tileBoundariesAlignedFlag; }1196 Void setTileBoundariesAlignedFlag( Bool flag ) { m_tileBoundariesAlignedFlag = flag; }1197 #endif1198 #endif1199 1084 1200 1085 }; … … 1281 1166 TComPTL m_pcPTL; 1282 1167 #if H_MV 1283 #if H_MV51284 1168 TComVPS* m_pcVPS; 1285 1169 // SPS … … 1287 1171 Int m_spsScalingListRefLayerId; 1288 1172 Bool m_updateRepFormatFlag; 1289 #endif1290 1173 // SPS Extension 1291 1174 Bool m_interViewMvVertConstraintFlag; 1292 #if !H_MV51293 Int m_numIlpRestrictedRefLayers ;1294 Int m_minSpatialSegmentOffsetPlus1[MAX_NUM_LAYERS];1295 Bool m_ctuBasedOffsetEnabledFlag [MAX_NUM_LAYERS];1296 Int m_minHorizontalCtuOffsetPlus1 [MAX_NUM_LAYERS];1297 #endif1298 1175 #endif 1299 1176 #if H_3D … … 1432 1309 TComPTL* getPTL() { return &m_pcPTL; } 1433 1310 #if H_MV 1434 #if H_MV51435 1311 Void setVPS ( TComVPS* pcVPS ) { m_pcVPS = pcVPS; } 1436 1312 TComVPS* getVPS () { return m_pcVPS; } … … 1444 1320 Void setUpdateRepFormatFlag( Bool flag ) { m_updateRepFormatFlag = flag; } 1445 1321 Bool getUpdateRepFormatFlag( ) { return m_updateRepFormatFlag; } 1446 #endif1447 1322 // SPS Extension 1448 1323 Void setInterViewMvVertConstraintFlag(Bool val) { m_interViewMvVertConstraintFlag = val; } 1449 1324 Bool getInterViewMvVertConstraintFlag() { return m_interViewMvVertConstraintFlag;} 1450 #if H_MV51451 1325 // Inference 1452 1326 Void inferRepFormat( TComVPS* vps, Int layerIdCurr ); 1453 1327 1454 1328 Void inferScalingList( TComSPS* spsSrc ); 1455 #else1456 Void setNumIlpRestrictedRefLayers ( Int val ) { m_numIlpRestrictedRefLayers = val;}1457 Int getNumIlpRestrictedRefLayers ( ) { return m_numIlpRestrictedRefLayers ;}1458 1459 Void setMinSpatialSegmentOffsetPlus1( Int i, Int val ) { m_minSpatialSegmentOffsetPlus1[ i ] = val;}1460 Int getMinSpatialSegmentOffsetPlus1( Int i ) { return m_minSpatialSegmentOffsetPlus1[ i ];}1461 1462 Void setCtuBasedOffsetEnabledFlag ( Int i, Bool flag ) { m_ctuBasedOffsetEnabledFlag [ i ] = flag;}1463 Bool getCtuBasedOffsetEnabledFlag ( Int i ) { return m_ctuBasedOffsetEnabledFlag [ i ];}1464 1465 Void setMinHorizontalCtuOffsetPlus1 ( Int i, Int val ) { m_minHorizontalCtuOffsetPlus1 [ i ] = val;}1466 Int getMinHorizontalCtuOffsetPlus1 ( Int i ) { return m_minHorizontalCtuOffsetPlus1 [ i ];}1467 1468 #endif1469 1329 #endif 1470 1330 #if H_3D_QTLPC … … 1582 1442 Int m_numExtraSliceHeaderBits; 1583 1443 1584 #if H_MV51585 1444 #if H_MV 1586 1445 Int m_layerId; 1587 1446 Bool m_ppsInferScalingListFlag; 1588 1447 Int m_ppsScalingListRefLayerId; 1589 #endif1590 1448 #endif 1591 1449 public: … … 1710 1568 Bool getSliceHeaderExtensionPresentFlag () { return m_sliceHeaderExtensionPresentFlag; } 1711 1569 Void setSliceHeaderExtensionPresentFlag (Bool val) { m_sliceHeaderExtensionPresentFlag = val; } 1712 #if H_MV51713 1570 #if H_MV 1714 1571 Void setLayerId( Int val ) { m_layerId = val; } … … 1720 1577 Void setPpsScalingListRefLayerId( Int val ) { m_ppsScalingListRefLayerId = val; } 1721 1578 Int getPpsScalingListRefLayerId( ) { return m_ppsScalingListRefLayerId; } 1722 #endif1723 1579 #endif 1724 1580 }; … … 1754 1610 Bool m_PicOutputFlag; ///< pic_output_flag 1755 1611 Int m_iPOC; 1756 #if H_MV51757 1612 #if H_MV 1758 1613 Int m_iPOCBeforeReset; 1759 1614 #endif 1760 #endif1761 1615 Int m_iLastIDR; 1762 static Int m_prevPOC; 1616 Int m_iAssociatedIRAP; 1617 NalUnitType m_iAssociatedIRAPType; 1618 static Int m_prevTid0POC; 1763 1619 TComReferencePictureSet *m_pcRPS; 1764 1620 TComReferencePictureSet m_LocalRPS; … … 1853 1709 Bool m_enableTMVPFlag; 1854 1710 #if H_MV 1855 #if H_MV51856 1711 std::vector<TComPic*>* m_refPicSetInterLayer0; 1857 1712 std::vector<TComPic*>* m_refPicSetInterLayer1; … … 1862 1717 Bool m_isDepth; 1863 1718 #endif 1864 #else1865 std::vector<TComPic*>* m_refPicSetInterLayer;1866 Int m_layerId;1867 Int m_viewId;1868 #if H_3D1869 Int m_viewIndex;1870 Bool m_isDepth;1871 #endif1872 #endif1873 1719 1874 1720 // Additional slice header syntax elements 1875 #if H_MV51876 1721 Bool m_pocResetFlag; 1877 #endif1878 1722 Bool m_discardableFlag; 1879 1723 Bool m_interLayerPredEnabledFlag; 1880 1724 Int m_numInterLayerRefPicsMinus1; 1881 1725 Int m_interLayerPredLayerIdc [MAX_NUM_LAYERS]; 1882 #if !H_MV51883 Bool m_interLayerSamplePredOnlyFlag;1884 Bool m_altCollocatedIndicationFlag;1885 Int m_collocatedRefLayerIdx;1886 // Additional slice header semantics variables1887 Int m_numActiveMotionPredRefLayers;1888 Int m_activeMotionPredRefLayerId [ MAX_NUM_LAYER_IDS ];1889 1890 #endif1891 1726 Int m_aaiCodedScale [2][MAX_NUM_LAYERS]; 1892 1727 Int m_aaiCodedOffset[2][MAX_NUM_LAYERS]; … … 1940 1775 Void setRPSidx ( Int iBDidx ) { m_iBDidx = iBDidx; } 1941 1776 Int getRPSidx () { return m_iBDidx; } 1942 Int getPrev POC () { return m_prevPOC; }1777 Int getPrevTid0POC () { return m_prevTid0POC; } 1943 1778 TComRefPicListModification* getRefPicListModification() { return &m_RefPicListModification; } 1944 1779 Void setLastIDR(Int iIDRPOC) { m_iLastIDR = iIDRPOC; } 1945 1780 Int getLastIDR() { return m_iLastIDR; } 1781 Void setAssociatedIRAPPOC(Int iAssociatedIRAPPOC) { m_iAssociatedIRAP = iAssociatedIRAPPOC; } 1782 Int getAssociatedIRAPPOC() { return m_iAssociatedIRAP; } 1783 Void setAssociatedIRAPType(NalUnitType associatedIRAPType) { m_iAssociatedIRAPType = associatedIRAPType; } 1784 NalUnitType getAssociatedIRAPType() { return m_iAssociatedIRAPType; } 1946 1785 SliceType getSliceType () { return m_eSliceType; } 1947 1786 Int getPOC () { return m_iPOC; } … … 1988 1827 Void checkColRefIdx (UInt curSliceIdx, TComPic* pic); 1989 1828 Bool getIsUsedAsLongTerm (Int i, Int j) { return m_bIsUsedAsLongTerm[i][j]; } 1829 Void setIsUsedAsLongTerm (Int i, Int j, Bool value) { m_bIsUsedAsLongTerm[i][j] = value; } 1990 1830 Bool getCheckLDC () { return m_bCheckLDC; } 1991 1831 Bool getMvdL1ZeroFlag () { return m_bLMvdL1Zero; } … … 1994 1834 Void setReferenced(Bool b) { m_bRefenced = b; } 1995 1835 Bool isReferenced() { return m_bRefenced; } 1996 Void setPOC ( Int i ) { m_iPOC = i; if(getTLayer()==0) m_prevPOC=i; } 1836 Bool isReferenceNalu() { return ((getNalUnitType() <= NAL_UNIT_RESERVED_VCL_R15) && (getNalUnitType()%2 != 0)) || ((getNalUnitType() >= NAL_UNIT_CODED_SLICE_BLA_W_LP) && (getNalUnitType() <= NAL_UNIT_RESERVED_IRAP_VCL23) ); } 1837 Void setPOC ( Int i ) { m_iPOC = i; if ((getTLayer()==0) && (isReferenceNalu() && (getNalUnitType()!=NAL_UNIT_CODED_SLICE_RASL_R)&& (getNalUnitType()!=NAL_UNIT_CODED_SLICE_RADL_R))) {m_prevTid0POC=i;} } 1997 1838 Void setNalUnitType ( NalUnitType e ) { m_eNalUnitType = e; } 1998 1839 NalUnitType getNalUnitType () const { return m_eNalUnitType; } … … 2000 1841 Bool getIdrPicFlag () { return getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_W_RADL || getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_N_LP; } 2001 1842 Bool isIRAP () const { return (getNalUnitType() >= 16) && (getNalUnitType() <= 23); } 2002 Void checkCRA(TComReferencePictureSet *pReferencePictureSet, Int& pocCRA, Bool& prevRAPisBLA, TComList<TComPic *>& rcListPic);1843 Void checkCRA(TComReferencePictureSet *pReferencePictureSet, Int& pocCRA, NalUnitType& associatedIRAPType, TComList<TComPic *>& rcListPic); 2003 1844 Void decodingRefreshMarking(Int& pocCRA, Bool& bRefreshPending, TComList<TComPic*>& rcListPic); 2004 1845 Void setSliceType ( SliceType e ) { m_eSliceType = e; } … … 2022 1863 2023 1864 #if H_MV 2024 #if H_MV52025 1865 Void setPocBeforeReset ( Int i ) { m_iPOCBeforeReset = i; } 2026 1866 Int getPocBeforeReset ( ) { return m_iPOCBeforeReset; } 2027 #endif2028 1867 Int getRefLayerId ( RefPicList e, Int iRefIdx) { return m_aiRefLayerIdList[e][iRefIdx]; } 2029 1868 Void setRefLayerId ( Int i, RefPicList e, Int iRefIdx ) { m_aiRefLayerIdList[e][iRefIdx] = i; } 2030 #if H_MV52031 1869 Void getTempRefPicLists ( TComList<TComPic*>& rcListPic, std::vector<TComPic*>& refPicSetInterLayer0, std::vector<TComPic*>& refPicSetInterLayer1, 2032 1870 std::vector<TComPic*> rpsCurrList[2], std::vector<Bool> usedAsLongTerm[2], Int& numPocTotalCurr, Bool checkNumPocTotalCurr = false ); 2033 1871 2034 1872 Void setRefPicList ( std::vector<TComPic*> rpsCurrList[2], std::vector<Bool> usedAsLongTerm[2], Int numPocTotalCurr, Bool checkNumPocTotalCurr = false ); 2035 #else2036 Void setRefPicList ( TComList<TComPic*>& rcListPic, std::vector<TComPic*>& interLayerRefPicSet , Bool checkNumPocTotalCurr = false );2037 #endif2038 1873 #else 2039 1874 #if FIX1071 … … 2082 1917 Void setTLayerInfo( UInt uiTLayer ); 2083 1918 Void decodingMarking( TComList<TComPic*>& rcListPic, Int iGOPSIze, Int& iMaxRefPicNum ); 1919 Void checkLeadingPictureRestrictions( TComList<TComPic*>& rcListPic ); 2084 1920 Void applyReferencePictureSet( TComList<TComPic*>& rcListPic, TComReferencePictureSet *RPSList); 2085 1921 #if H_MV 2086 #if !H_MV52087 Void createAndApplyIvReferencePictureSet( TComPicLists* ivPicLists, std::vector<TComPic*>& refPicSetInterLayer );2088 static Void markIvRefPicsAsShortTerm ( std::vector<TComPic*> refPicSetInterLayer );2089 #else2090 1922 Void createInterLayerReferencePictureSet( TComPicLists* ivPicLists, std::vector<TComPic*>& refPicSetInterLayer0, std::vector<TComPic*>& refPicSetInterLayer1 ); 2091 1923 static Void markIvRefPicsAsShortTerm ( std::vector<TComPic*> refPicSetInterLayer0, std::vector<TComPic*> refPicSetInterLayer1 ); 2092 #endif2093 1924 static Void markCurrPic ( TComPic* currPic );; 2094 1925 static Void markIvRefPicsAsUnused ( TComPicLists* ivPicLists, std::vector<Int> targetDecLayerIdSet, TComVPS* vps, Int curLayerId, Int curPoc ); 2095 #if H_MV52096 1926 Void printRefPicList(); 2097 #else2098 Void xPrintRefPicList();2099 #endif2100 1927 #endif 2101 1928 Bool isTemporalLayerSwitchingPoint( TComList<TComPic*>& rcListPic ); … … 2184 2011 Void setViewId ( Int viewId ) { m_viewId = viewId; } 2185 2012 Int getViewId () { return m_viewId; } 2186 #if H_MV52187 2013 Void setViewIndex ( Int viewIndex ) { m_viewIndex = viewIndex; } 2188 2014 Int getViewIndex () { return m_viewIndex; } 2189 #endif2190 2015 #if H_3D 2191 2016 #if H_3D_TMVP … … 2193 2018 Void setAlterRefIdx ( RefPicList e, Int i ) { m_aiAlterRefIdx[e] = i; } 2194 2019 Int getAlterRefIdx ( RefPicList e ) { return m_aiAlterRefIdx[e]; } 2195 #endif2196 #if !H_MV52197 Void setViewIndex ( Int viewIndex ) { m_viewIndex = viewIndex; }2198 Int getViewIndex () { return m_viewIndex; }2199 2020 #endif 2200 2021 Void setIsDepth ( Bool isDepth ) { m_isDepth = isDepth; } … … 2219 2040 // Additional slice header syntax elements 2220 2041 2221 #if H_MV52222 2042 Void setPocResetFlag( Bool flag ) { m_pocResetFlag = flag; } 2223 2043 Bool getPocResetFlag( ) { return m_pocResetFlag; } 2224 #endif2225 2044 2226 2045 Void setDiscardableFlag( Bool flag ) { m_discardableFlag = flag; } … … 2236 2055 Int getInterLayerPredLayerIdc( Int i ) { return m_interLayerPredLayerIdc[i]; } 2237 2056 2238 #if H_MV52239 2057 // Additional variables derived in slice header semantics 2240 2058 Int getNumInterLayerRefPicsMinus1Len( ) { return gCeilLog2( getVPS()->getNumDirectRefLayers( getLayerId() )); } … … 2250 2068 Void setRefPicSetInterLayer ( std::vector<TComPic*>* refPicSetInterLayer0, std::vector<TComPic*>* refPicSetInterLayer1); 2251 2069 TComPic* getPicFromRefPicSetInterLayer( Int setIdc, Int layerId ); 2252 #else2253 Void setInterLayerSamplePredOnlyFlag( Bool flag ) { m_interLayerSamplePredOnlyFlag = flag; }2254 Bool getInterLayerSamplePredOnlyFlag( ) { return m_interLayerSamplePredOnlyFlag; }2255 2256 Void setAltCollocatedIndicationFlag( Bool flag ) { m_altCollocatedIndicationFlag = flag; }2257 Bool getAltCollocatedIndicationFlag( ) { return m_altCollocatedIndicationFlag; }2258 2259 Void setCollocatedRefLayerIdx( Int val ) { m_collocatedRefLayerIdx = val; }2260 Int getCollocatedRefLayerIdx( ) { return m_collocatedRefLayerIdx; }2261 2262 // Additional variables derived in slice header semantics2263 Int getNumInterLayerRefPicsMinus1Len( ) { return xCeilLog2( getVPS()->getNumDirectRefLayers( getLayerIdInVps() )); }2264 Int getInterLayerPredLayerIdcLen ( ) { return xCeilLog2( getVPS()->getNumDirectRefLayers( getLayerIdInVps() )); }2265 2266 Int getNumActiveRefLayerPics( );2267 Int getRefPicLayerId ( Int i );2268 2269 Void setActiveMotionPredRefLayers ( );2270 2271 Int getNumActiveMotionPredRefLayers( ) { return m_numActiveMotionPredRefLayers; }2272 Int getActiveMotionPredRefLayerId ( Int i ) { return m_activeMotionPredRefLayerId[i]; }2273 2274 Bool getInterRefEnabledInRPLFlag( );2275 2276 Void setRefPicSetInterLayer ( std::vector<TComPic*>* m_refPicSetInterLayer );2277 TComPic* getPicFromRefPicSetInterLayer( Int layerId );2278 2279 #endif2280 2070 #endif 2281 2071 protected: … … 2284 2074 TComPic* xGetLongTermRefPic(TComList<TComPic*>& rcListPic, Int poc, Bool pocHasMsb); 2285 2075 #if H_MV 2286 #if !H_MV52287 Int xCeilLog2( Int val );2288 #endif2289 2076 TComPic* xGetInterLayerRefPic( std::vector<TComPic*>& rcListIlPic, Int layerId ); 2290 2077 #endif … … 2368 2155 //! activate a SPS from a active parameter sets SEI message 2369 2156 //! \returns true, if activation is successful 2370 #if !H_MV52371 Bool activateSPSWithSEI(Int SPSId);2372 2373 //! activate a PPS and depending on isIDR parameter also SPS and VPS2374 //! \returns true, if activation is successful2375 Bool activatePPS(Int ppsId, Bool isIRAP);2376 2377 TComVPS* getActiveVPS(){ return m_vpsMap.getPS(m_activeVPSId); };2378 TComSPS* getActiveSPS(){ return m_spsMap.getPS(m_activeSPSId); };2379 TComPPS* getActivePPS(){ return m_ppsMap.getPS(m_activePPSId); };2380 2381 protected:2382 2383 ParameterSetMap<TComVPS> m_vpsMap;2384 ParameterSetMap<TComSPS> m_spsMap;2385 ParameterSetMap<TComPPS> m_ppsMap;2386 2387 Int m_activeVPSId;2388 Int m_activeSPSId;2389 Int m_activePPSId;2390 #else2391 2157 #if H_MV 2392 2158 Bool activateSPSWithSEI(Int SPSId, Int layerId ); … … 2426 2192 #endif 2427 2193 2428 #endif2429 2194 }; 2430 2195
Note: See TracChangeset for help on using the changeset viewer.