Changeset 834 in SHVCSoftware for branches/SHM-dev
- Timestamp:
- 15 Jul 2014, 04:20:03 (10 years ago)
- Location:
- branches/SHM-dev/source/Lib
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.cpp
r827 r834 47 47 #if SVC_EXTENSION 48 48 ParameterSetMap<TComVPS> ParameterSetManager::m_vpsMap(MAX_NUM_VPS); 49 ParameterSetMap<TComSPS> ParameterSetManager::m_spsMap(MAX_NUM_SPS); 50 ParameterSetMap<TComPPS> ParameterSetManager::m_ppsMap(MAX_NUM_PPS); 49 51 Int ParameterSetManager::m_activeVPSId = -1; 50 52 #endif … … 3679 3681 ParameterSetManager::ParameterSetManager() 3680 3682 #if SVC_EXTENSION 3681 : m_spsMap(MAX_NUM_SPS) 3682 , m_ppsMap(MAX_NUM_PPS) 3683 , m_activeSPSId(-1) 3683 : m_activeSPSId(-1) 3684 3684 , m_activePPSId(-1) 3685 3685 #else -
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.h
r825 r834 2514 2514 if ( m_paramsetMap.find(psId) != m_paramsetMap.end() ) 2515 2515 { 2516 #if Q0078_ADD_LAYER_SETS2517 m_paramsetMap.erase(psId);2518 #endif2519 2516 delete m_paramsetMap[psId]; 2520 2517 } … … 2542 2539 } 2543 2540 2544 #if Q0078_ADD_LAYER_SETS2545 Void removePS(Int psId)2546 {2547 assert(psId < m_maxId);2548 if (m_paramsetMap.find(psId) != m_paramsetMap.end())2549 {2550 m_paramsetMap.erase(psId);2551 #if Q0078_ADD_LAYER_SETS2552 delete m_paramsetMap[psId];2553 #endif2554 }2555 }2556 #endif2557 2558 2559 2541 private: 2560 2542 std::map<Int,T *> m_paramsetMap; … … 2579 2561 TComSPS* getSPS(Int spsId) { return m_spsMap.getPS(spsId); }; 2580 2562 TComSPS* getFirstSPS() { return m_spsMap.getFirstPS(); }; 2581 #if Q0078_ADD_LAYER_SETS2582 Void removeSPS(Int spsId) { m_spsMap.removePS(spsId); };2583 #endif2584 2563 2585 2564 //! store picture parameter set and take ownership of it … … 2588 2567 TComPPS* getPPS(Int ppsId) { return m_ppsMap.getPS(ppsId); }; 2589 2568 TComPPS* getFirstPPS() { return m_ppsMap.getFirstPS(); }; 2590 #if Q0078_ADD_LAYER_SETS2591 Void removePPS(Int ppsId) { m_ppsMap.removePS(ppsId); };2592 #endif2593 2569 2594 2570 //! activate a SPS from a active parameter sets SEI message … … 2608 2584 #if SVC_EXTENSION 2609 2585 static ParameterSetMap<TComVPS> m_vpsMap; 2586 static ParameterSetMap<TComSPS> m_spsMap; 2587 static ParameterSetMap<TComPPS> m_ppsMap; 2610 2588 #else 2611 2589 ParameterSetMap<TComVPS> m_vpsMap; 2612 #endif2613 2590 ParameterSetMap<TComSPS> m_spsMap; 2614 2591 ParameterSetMap<TComPPS> m_ppsMap; 2592 #endif 2615 2593 2616 2594 #if SVC_EXTENSION -
branches/SHM-dev/source/Lib/TLibDecoder/TDecSlice.cpp
r644 r834 42 42 43 43 #if SVC_EXTENSION 44 ParameterSetMap<TComVPS> ParameterSetManagerDecoder::m_vpsBuffer(MAX_NUM_VPS); 44 ParameterSetMap<TComVPS> ParameterSetManagerDecoder::m_vpsBuffer(MAX_NUM_VPS); 45 ParameterSetMap<TComSPS> ParameterSetManagerDecoder::m_spsBuffer(MAX_NUM_SPS); 46 ParameterSetMap<TComPPS> ParameterSetManagerDecoder::m_ppsBuffer(MAX_NUM_PPS); 45 47 #endif 46 48 … … 397 399 398 400 ParameterSetManagerDecoder::ParameterSetManagerDecoder() 399 #if SVC_EXTENSION 400 : m_spsBuffer(MAX_NUM_SPS) 401 , m_ppsBuffer(MAX_NUM_PPS) 402 #else 401 #if !SVC_EXTENSION 403 402 : m_vpsBuffer(MAX_NUM_VPS) 404 403 , m_spsBuffer(MAX_NUM_SPS) -
branches/SHM-dev/source/Lib/TLibDecoder/TDecSlice.h
r644 r834 110 110 #if SVC_EXTENSION 111 111 static ParameterSetMap<TComVPS> m_vpsBuffer; 112 static ParameterSetMap<TComSPS> m_spsBuffer; 113 static ParameterSetMap<TComPPS> m_ppsBuffer; 112 114 #else 113 115 ParameterSetMap<TComVPS> m_vpsBuffer; 114 #endif115 116 ParameterSetMap<TComSPS> m_spsBuffer; 116 117 ParameterSetMap<TComPPS> m_ppsBuffer; 118 #endif 117 119 }; 118 120 -
branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.cpp
r833 r834 109 109 TDecTop::~TDecTop() 110 110 { 111 #if Q0078_ADD_LAYER_SETS112 for (Int psId = 0; psId < MAX_NUM_SPS; psId++)113 {114 TComSPS* sps = m_parameterSetManagerDecoder.getSPS(psId);115 if (sps != NULL)116 {117 // Remove parameter set from other layers to prevent multiple deletes of the same object118 for (Int lId = 0; lId < m_numLayer; lId++)119 {120 if (m_ppcTDecTop[lId] != this)121 {122 m_parameterSetManagerDecoder.removeSPS(psId);123 }124 }125 }126 }127 for (Int psId = 0; psId < MAX_NUM_PPS; psId++)128 {129 TComPPS* pps = m_parameterSetManagerDecoder.getPPS(psId);130 if (pps != NULL)131 {132 // Remove parameter set from other layers to prevent multiple deletes of the same object133 for (Int lId = 0; lId < m_numLayer; lId++)134 {135 if (m_ppcTDecTop[lId] != this)136 {137 m_parameterSetManagerDecoder.removePPS(psId);138 }139 }140 }141 }142 #endif143 111 #if ENC_DEC_TRACE 144 112 fclose( g_hTrace ); … … 153 121 #endif 154 122 #if Q0074_SEI_COLOR_MAPPING 155 if ( m_ColorMapping ) delete m_ColorMapping; 123 if ( m_ColorMapping ) 124 { 125 delete m_ColorMapping; 126 m_ColorMapping = NULL; 127 } 156 128 #endif 157 129 } … … 2033 2005 #endif 2034 2006 m_parameterSetManagerDecoder.storePrefetchedSPS(sps); 2035 #if Q0078_ADD_LAYER_SETS2036 // Store SPS for all layers2037 for (Int lId = 0; lId < m_numLayer; lId++)2038 {2039 if (m_ppcTDecTop[lId] != this)2040 {2041 m_ppcTDecTop[lId]->getParameterSetManager()->storePrefetchedSPS(sps);2042 }2043 }2044 #endif2045 2007 #if !REPN_FORMAT_IN_VPS // ILRP can only be initialized at activation 2046 2008 if(m_numLayer>0) … … 2069 2031 ); 2070 2032 m_parameterSetManagerDecoder.storePrefetchedPPS( pps ); 2071 #if Q0078_ADD_LAYER_SETS2072 // Store PPS for all layers2073 for (Int lId = 0; lId < m_numLayer; lId++)2074 {2075 if (m_ppcTDecTop[lId] != this)2076 {2077 m_ppcTDecTop[lId]->getParameterSetManager()->storePrefetchedPPS(pps);2078 }2079 }2080 #endif2081 2033 } 2082 2034 #else
Note: See TracChangeset for help on using the changeset viewer.