Changeset 1180 in SHVCSoftware for branches/SHM-dev
- Timestamp:
- 8 Jul 2015, 02:52:29 (9 years ago)
- Location:
- branches/SHM-dev/source/Lib
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.cpp
r1176 r1180 1943 1943 TComVPS::TComVPS() 1944 1944 : m_VPSId ( 0) 1945 #if VPS_RESERVED_FLAGS1946 , m_baseLayerInternalFlag (true)1947 , m_baseLayerAvailableFlag (true)1948 #endif1949 1945 , m_uiMaxTLayers ( 1) 1950 1946 , m_uiMaxLayers ( 1) … … 1954 1950 , m_hrdOpSetIdx (NULL) 1955 1951 , m_cprmsPresentFlag (NULL) 1952 , m_baseLayerInternalFlag (true) 1953 , m_baseLayerAvailableFlag (true) 1956 1954 , m_maxLayerId (0) 1957 1955 , m_numLayerSets (0) -
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.h
r1176 r1180 564 564 private: 565 565 Int m_VPSId; 566 #if VPS_RESERVED_FLAGS567 Bool m_baseLayerInternalFlag;568 Bool m_baseLayerAvailableFlag;569 #endif570 566 UInt m_uiMaxTLayers; 571 567 UInt m_uiMaxLayers; … … 593 589 594 590 #if SVC_EXTENSION 591 Bool m_baseLayerInternalFlag; 592 Bool m_baseLayerAvailableFlag; 595 593 #if MULTIPLE_PTL_SUPPORT 596 594 TComPTL m_pcPTLList[MAX_NUM_LAYER_IDS + 1]; … … 766 764 virtual ~TComVPS(); 767 765 768 #if VPS_RESERVED_FLAGS769 Void setBaseLayerInternalFlag(Bool x) { m_baseLayerInternalFlag = x; }770 Bool getBaseLayerInternalFlag() { return m_baseLayerInternalFlag; }771 Void setBaseLayerAvailableFlag(Bool x) { m_baseLayerAvailableFlag = x; }772 Bool getBaseLayerAvailableFlag() { return m_baseLayerAvailableFlag; }773 #endif774 775 766 Void createHrdParamBuffer() 776 767 { … … 779 770 m_cprmsPresentFlag = new Bool [ getNumHrdParameters() ]; 780 771 } 772 773 TComHRD* getHrdParameters ( UInt i ) { return &m_hrdParameters[ i ]; } 774 UInt getHrdOpSetIdx ( UInt i ) { return m_hrdOpSetIdx[ i ]; } 775 Void setHrdOpSetIdx ( UInt val, UInt i ) { m_hrdOpSetIdx[ i ] = val; } 776 Bool getCprmsPresentFlag ( UInt i ) { return m_cprmsPresentFlag[ i ]; } 777 Void setCprmsPresentFlag ( Bool val, UInt i ) { m_cprmsPresentFlag[ i ] = val; } 778 779 Int getVPSId () { return m_VPSId; } 780 Void setVPSId (Int i) { m_VPSId = i; } 781 782 UInt getMaxTLayers () { return m_uiMaxTLayers; } 783 Void setMaxTLayers (UInt t) { m_uiMaxTLayers = t; } 784 785 UInt getMaxLayers () { return m_uiMaxLayers; } 786 Void setMaxLayers (UInt l) { m_uiMaxLayers = l; } 787 788 Bool getTemporalNestingFlag () { return m_bTemporalIdNestingFlag; } 789 Void setTemporalNestingFlag (Bool t) { m_bTemporalIdNestingFlag = t; } 790 791 Void setNumReorderPics(UInt v, UInt tLayer) { m_numReorderPics[tLayer] = v; } 792 UInt getNumReorderPics(UInt tLayer) { return m_numReorderPics[tLayer]; } 793 794 Void setMaxDecPicBuffering(UInt v, UInt tLayer) { assert(tLayer < MAX_TLAYER); m_uiMaxDecPicBuffering[tLayer] = v; } 795 UInt getMaxDecPicBuffering(UInt tLayer) { return m_uiMaxDecPicBuffering[tLayer]; } 796 797 Void setMaxLatencyIncrease(UInt v, UInt tLayer) { m_uiMaxLatencyIncrease[tLayer] = v; } 798 UInt getMaxLatencyIncrease(UInt tLayer) { return m_uiMaxLatencyIncrease[tLayer]; } 799 800 UInt getNumHrdParameters() { return m_numHrdParameters; } 801 Void setNumHrdParameters(UInt v) { m_numHrdParameters = v; } 802 803 #if !SVC_EXTENSION 804 UInt getMaxNuhReservedZeroLayerId() { return m_maxNuhReservedZeroLayerId; } 805 Void setMaxNuhReservedZeroLayerId(UInt v) { m_maxNuhReservedZeroLayerId = v; } 806 807 UInt getMaxOpSets() { return m_numOpSets; } 808 Void setMaxOpSets(UInt v) { m_numOpSets = v; } 809 #endif 810 Bool getLayerIdIncludedFlag(UInt opsIdx, UInt id) { return m_layerIdIncludedFlag[opsIdx][id]; } 811 Void setLayerIdIncludedFlag(Bool v, UInt opsIdx, UInt id) { m_layerIdIncludedFlag[opsIdx][id] = v; } 812 813 #if !MULTIPLE_PTL_SUPPORT 814 TComPTL* getPTL() { return &m_pcPTL; } 815 #endif 816 817 TimingInfo* getTimingInfo() { return &m_timingInfo; } 818 819 #if SVC_EXTENSION 820 Void setBaseLayerInternalFlag(Bool x) { m_baseLayerInternalFlag = x; } 821 Bool getBaseLayerInternalFlag() { return m_baseLayerInternalFlag; } 822 Void setBaseLayerAvailableFlag(Bool x) { m_baseLayerAvailableFlag = x; } 823 Bool getBaseLayerAvailableFlag() { return m_baseLayerAvailableFlag; } 781 824 782 825 #if O0164_MULTI_LAYER_HRD … … 804 847 } 805 848 #endif 806 807 TComHRD* getHrdParameters ( UInt i ) { return &m_hrdParameters[ i ]; }808 UInt getHrdOpSetIdx ( UInt i ) { return m_hrdOpSetIdx[ i ]; }809 Void setHrdOpSetIdx ( UInt val, UInt i ) { m_hrdOpSetIdx[ i ] = val; }810 Bool getCprmsPresentFlag ( UInt i ) { return m_cprmsPresentFlag[ i ]; }811 Void setCprmsPresentFlag ( Bool val, UInt i ) { m_cprmsPresentFlag[ i ] = val; }812 813 Int getVPSId () { return m_VPSId; }814 Void setVPSId (Int i) { m_VPSId = i; }815 816 UInt getMaxTLayers () { return m_uiMaxTLayers; }817 Void setMaxTLayers (UInt t) { m_uiMaxTLayers = t; }818 819 UInt getMaxLayers () { return m_uiMaxLayers; }820 Void setMaxLayers (UInt l) { m_uiMaxLayers = l; }821 822 Bool getTemporalNestingFlag () { return m_bTemporalIdNestingFlag; }823 Void setTemporalNestingFlag (Bool t) { m_bTemporalIdNestingFlag = t; }824 825 Void setNumReorderPics(UInt v, UInt tLayer) { m_numReorderPics[tLayer] = v; }826 UInt getNumReorderPics(UInt tLayer) { return m_numReorderPics[tLayer]; }827 828 Void setMaxDecPicBuffering(UInt v, UInt tLayer) { assert(tLayer < MAX_TLAYER); m_uiMaxDecPicBuffering[tLayer] = v; }829 UInt getMaxDecPicBuffering(UInt tLayer) { return m_uiMaxDecPicBuffering[tLayer]; }830 831 Void setMaxLatencyIncrease(UInt v, UInt tLayer) { m_uiMaxLatencyIncrease[tLayer] = v; }832 UInt getMaxLatencyIncrease(UInt tLayer) { return m_uiMaxLatencyIncrease[tLayer]; }833 834 UInt getNumHrdParameters() { return m_numHrdParameters; }835 Void setNumHrdParameters(UInt v) { m_numHrdParameters = v; }836 837 #if !SVC_EXTENSION838 UInt getMaxNuhReservedZeroLayerId() { return m_maxNuhReservedZeroLayerId; }839 Void setMaxNuhReservedZeroLayerId(UInt v) { m_maxNuhReservedZeroLayerId = v; }840 841 UInt getMaxOpSets() { return m_numOpSets; }842 Void setMaxOpSets(UInt v) { m_numOpSets = v; }843 #endif844 Bool getLayerIdIncludedFlag(UInt opsIdx, UInt id) { return m_layerIdIncludedFlag[opsIdx][id]; }845 Void setLayerIdIncludedFlag(Bool v, UInt opsIdx, UInt id) { m_layerIdIncludedFlag[opsIdx][id] = v; }846 847 #if !MULTIPLE_PTL_SUPPORT848 TComPTL* getPTL() { return &m_pcPTL; }849 #endif850 851 TimingInfo* getTimingInfo() { return &m_timingInfo; }852 853 #if SVC_EXTENSION854 849 #if MULTIPLE_PTL_SUPPORT 855 850 TComPTL* getPTL() { return &m_pcPTLList[0]; } -
branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h
r1179 r1180 48 48 #define INFERENCE_POC_MSB_VAL_PRESENT 1 ///< JCTVC-Q0146 -- poc_msb_val_present_flag shall be equal to 0 when slice_header_extension_length is (inferred to be ) equal to 0 49 49 #define NON_REF_NAL_TYPE_DISCARDABLE 1 ///< JCTVC-P0041 -- If discardable picture is a non-IRAP, it must be a non-referenced sub-layer picture 50 #define VPS_RESERVED_FLAGS 1 ///< vps_base_layer_internal_flag and vps_base_layer_available_flag51 50 #define VPS_VUI_OFFSET 1 ///< N0085: Signal VPS VUI offset in the VPS extension 52 51 #define POC_RESET_RESTRICTIONS 1 ///< Restrictions on semantics of POC reset-related syntax elements, including one item from R0223 -
branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r1179 r1180 1000 1000 1001 1001 READ_CODE( 4, uiCode, "vps_video_parameter_set_id" ); pcVPS->setVPSId( uiCode ); 1002 #if VPS_RESERVED_FLAGS1002 #if SVC_EXTENSION 1003 1003 READ_FLAG( uiCode, "vps_base_layer_internal_flag"); pcVPS->setBaseLayerInternalFlag( uiCode ? true : false ); 1004 1004 READ_FLAG( uiCode, "vps_base_layer_available_flag"); pcVPS->setBaseLayerAvailableFlag( uiCode ? true : false ); 1005 1005 pcVPS->setNonHEVCBaseLayerFlag( (pcVPS->getBaseLayerAvailableFlag() && !pcVPS->getBaseLayerInternalFlag()) ? true : false); 1006 #else 1007 READ_CODE( 2, uiCode, "vps_reserved_three_2bits" ); assert(uiCode == 3); 1008 #endif 1009 #if SVC_EXTENSION 1006 1010 1007 READ_CODE( 6, uiCode, "vps_max_layers_minus1" ); pcVPS->setMaxLayers( min( 62u, uiCode) + 1 ); 1011 1008 assert( pcVPS->getBaseLayerInternalFlag() || pcVPS->getMaxLayers() > 1 ); 1012 1009 #else 1010 READ_CODE( 2, uiCode, "vps_reserved_three_2bits" ); assert(uiCode == 3); 1013 1011 READ_CODE( 6, uiCode, "vps_reserved_zero_6bits" ); assert(uiCode == 0); 1014 1012 #endif -
branches/SHM-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r1176 r1180 782 782 { 783 783 WRITE_CODE( pcVPS->getVPSId(), 4, "vps_video_parameter_set_id" ); 784 #if VPS_RESERVED_FLAGS784 #if SVC_EXTENSION 785 785 WRITE_FLAG( pcVPS->getBaseLayerInternalFlag(), "vps_base_layer_internal_flag"); 786 786 WRITE_FLAG( pcVPS->getBaseLayerAvailableFlag(), "vps_base_layer_available_flag"); 787 #else788 WRITE_CODE( 3, 2, "vps_reserved_three_2bits" );789 #endif790 #if SVC_EXTENSION791 787 WRITE_CODE( pcVPS->getMaxLayers() - 1, 6, "vps_max_layers_minus1" ); 792 788 assert( pcVPS->getBaseLayerInternalFlag() || pcVPS->getMaxLayers() > 1 ); 793 789 #else 790 WRITE_CODE( 3, 2, "vps_reserved_three_2bits" ); 794 791 WRITE_CODE( 0, 6, "vps_reserved_zero_6bits" ); 795 792 #endif
Note: See TracChangeset for help on using the changeset viewer.