Changeset 567 in SHVCSoftware for branches/SHM-5.0-dev/source
- Timestamp:
- 27 Jan 2014, 18:33:04 (11 years ago)
- Location:
- branches/SHM-5.0-dev/source
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-5.0-dev/source/App/TAppEncoder/TAppEncCfg.cpp
r560 r567 921 921 ("SEIGradualDecodingRefreshInfo", m_gradualDecodingRefreshInfoEnabled, 0, "Control generation of gradual decoding refresh information SEI message") 922 922 ("SEIDecodingUnitInfo", m_decodingUnitInfoSEIEnabled, 0, "Control generation of decoding unit information SEI message.") 923 #if M0043_LAYERS_PRESENT_SEI924 ("SEILayers Present", m_layersPresentSEIEnabled, 0, "Control generation of layerspresent SEI message")923 #if LAYERS_NOT_PRESENT_SEI 924 ("SEILayersNotPresent", m_layersNotPresentSEIEnabled, 0, "Control generation of layers not present SEI message") 925 925 #endif 926 926 ("SEISOPDescription", m_SOPDescriptionSEIEnabled, 0, "Control generation of SOP description SEI messages") -
branches/SHM-5.0-dev/source/App/TAppEncoder/TAppEncCfg.h
r559 r567 280 280 Int m_gradualDecodingRefreshInfoEnabled; 281 281 Int m_decodingUnitInfoSEIEnabled; 282 #if M0043_LAYERS_PRESENT_SEI283 Int m_layers PresentSEIEnabled;282 #if LAYERS_NOT_PRESENT_SEI 283 Int m_layersNotPresentSEIEnabled; 284 284 #endif 285 285 Int m_SOPDescriptionSEIEnabled; -
branches/SHM-5.0-dev/source/App/TAppEncoder/TAppEncTop.cpp
r564 r567 483 483 m_acTEncTop[layer].setGradualDecodingRefreshInfoEnabled( m_gradualDecodingRefreshInfoEnabled ); 484 484 m_acTEncTop[layer].setDecodingUnitInfoSEIEnabled( m_decodingUnitInfoSEIEnabled ); 485 #if M0043_LAYERS_PRESENT_SEI486 m_acTEncTop[layer].setLayers PresentSEIEnabled( m_layersPresentSEIEnabled );485 #if LAYERS_NOT_PRESENT_SEI 486 m_acTEncTop[layer].setLayersNotPresentSEIEnabled( m_layersNotPresentSEIEnabled ); 487 487 #endif 488 488 m_acTEncTop[layer].setSOPDescriptionSEIEnabled( m_SOPDescriptionSEIEnabled ); … … 797 797 m_cTEncTop.setGradualDecodingRefreshInfoEnabled( m_gradualDecodingRefreshInfoEnabled ); 798 798 m_cTEncTop.setDecodingUnitInfoSEIEnabled( m_decodingUnitInfoSEIEnabled ); 799 #if M0043_LAYERS_PRESENT_SEI800 m_cTEncTop.setLayers PresentSEIEnabled( m_layersPresentSEIEnabled );799 #if LAYERS_NOT_PRESENT_SEI 800 m_cTEncTop.setLayersNotPresentSEIEnabled( m_layersNotPresentSEIEnabled ); 801 801 #endif 802 802 m_cTEncTop.setSOPDescriptionSEIEnabled( m_SOPDescriptionSEIEnabled ); -
branches/SHM-5.0-dev/source/Lib/TLibCommon/SEI.h
r442 r567 72 72 SCALABLE_NESTING = 133, 73 73 REGION_REFRESH_INFO = 134, 74 #if M0043_LAYERS_PRESENT_SEI75 LAYERS_ PRESENT= 137,74 #if LAYERS_NOT_PRESENT_SEI 75 LAYERS_NOT_PRESENT = 137, 76 76 #endif 77 77 #if N0383_IL_CONSTRAINED_TILE_SETS_SEI … … 319 319 }; 320 320 321 #if M0043_LAYERS_PRESENT_SEI322 class SEILayers Present : public SEI323 { 324 public: 325 PayloadType payloadType() const { return LAYERS_ PRESENT; }326 327 SEILayers Present() {}328 virtual ~SEILayers Present() {}321 #if LAYERS_NOT_PRESENT_SEI 322 class SEILayersNotPresent : public SEI 323 { 324 public: 325 PayloadType payloadType() const { return LAYERS_NOT_PRESENT; } 326 327 SEILayersNotPresent() {} 328 virtual ~SEILayersNotPresent() {} 329 329 330 330 UInt m_activeVpsId; 331 331 UInt m_vpsMaxLayers; 332 Bool m_layer PresentFlag[MAX_LAYERS];332 Bool m_layerNotPresentFlag[MAX_LAYERS]; 333 333 }; 334 334 #endif -
branches/SHM-5.0-dev/source/Lib/TLibCommon/TypeDef.h
r566 r567 178 178 179 179 #define VIEW_ID_RELATED_SIGNALING 1 ///< Introduce syntax elements view_id and view_id_val 180 #define M0043_LAYERS_PRESENT_SEI 0 ///< JCTVC-M0043: add layers present SEI. Macro shall be equal to 0 according to the JCTVC-N0174 discussion. The code is to be removed.180 #define LAYERS_NOT_PRESENT_SEI 1 ///< JCTVC-M0043: add layers not present SEI. 181 181 #define N0383_IL_CONSTRAINED_TILE_SETS_SEI 1 182 182 #define N0065_LAYER_POC_ALIGNMENT 1 -
branches/SHM-5.0-dev/source/Lib/TLibDecoder/SEIread.cpp
r442 r567 93 93 fprintf( g_hTrace, "===========Tone Mapping Info SEI message ===========\n"); 94 94 break; 95 #if M0043_LAYERS_PRESENT_SEI96 case SEI::LAYERS_ PRESENT:95 #if LAYERS_NOT_PRESENT_SEI 96 case SEI::LAYERS_NOT_PRESENT: 97 97 fprintf( g_hTrace, "=========== Layers Present SEI message ===========\n"); 98 98 break; … … 119 119 * unmarshal a single SEI message from bitstream bs 120 120 */ 121 #if M0043_LAYERS_PRESENT_SEI121 #if LAYERS_NOT_PRESENT_SEI 122 122 void SEIReader::parseSEImessage(TComInputBitstream* bs, SEIMessages& seis, const NalUnitType nalUnitType, TComVPS *vps, TComSPS *sps) 123 123 #else … … 130 130 do 131 131 { 132 #if M0043_LAYERS_PRESENT_SEI132 #if LAYERS_NOT_PRESENT_SEI 133 133 xReadSEImessage(seis, nalUnitType, vps, sps); 134 134 #else … … 145 145 } 146 146 147 #if M0043_LAYERS_PRESENT_SEI147 #if LAYERS_NOT_PRESENT_SEI 148 148 Void SEIReader::xReadSEImessage(SEIMessages& seis, const NalUnitType nalUnitType, TComVPS *vps, TComSPS *sps) 149 149 #else … … 254 254 xParseSEIToneMappingInfo((SEIToneMappingInfo&) *sei, payloadSize); 255 255 break; 256 #if M0043_LAYERS_PRESENT_SEI257 case SEI::LAYERS_ PRESENT:256 #if LAYERS_NOT_PRESENT_SEI 257 case SEI::LAYERS_NOT_PRESENT: 258 258 if (!vps) 259 259 { 260 printf ("Warning: Found Layers present SEI message, but no active VPS is available. Ignoring.");260 printf ("Warning: Found Layers not present SEI message, but no active VPS is available. Ignoring."); 261 261 } 262 262 else 263 263 { 264 sei = new SEILayers Present;265 xParseSEILayers Present((SEILayersPresent&) *sei, payloadSize, vps);264 sei = new SEILayersNotPresent; 265 xParseSEILayersNotPresent((SEILayersNotPresent&) *sei, payloadSize, vps); 266 266 } 267 267 break; … … 279 279 case SEI::SCALABLE_NESTING: 280 280 sei = new SEIScalableNesting; 281 #if M0043_LAYERS_PRESENT_SEI281 #if LAYERS_NOT_PRESENT_SEI 282 282 xParseSEIScalableNesting((SEIScalableNesting&) *sei, nalUnitType, payloadSize, vps, sps); 283 283 #else … … 741 741 } 742 742 743 #if M0043_LAYERS_PRESENT_SEI744 Void SEIReader::xParseSEILayers Present(SEILayersPresent &sei, UInt payloadSize, TComVPS *vps)743 #if LAYERS_NOT_PRESENT_SEI 744 Void SEIReader::xParseSEILayersNotPresent(SEILayersNotPresent &sei, UInt payloadSize, TComVPS *vps) 745 745 { 746 746 UInt uiCode; … … 752 752 for (; i < sei.m_vpsMaxLayers; i++) 753 753 { 754 READ_FLAG( uiCode, "layer_ present_flag" ); sei.m_layerPresentFlag[i] = uiCode ? true : false;754 READ_FLAG( uiCode, "layer_not_present_flag" ); sei.m_layerNotPresentFlag[i] = uiCode ? true : false; 755 755 } 756 756 for (; i < MAX_LAYERS; i++) 757 757 { 758 sei.m_layer PresentFlag[i] = false;758 sei.m_layerNotPresentFlag[i] = false; 759 759 } 760 760 xParseByteAlign(); … … 830 830 #endif 831 831 832 #if M0043_LAYERS_PRESENT_SEI832 #if LAYERS_NOT_PRESENT_SEI 833 833 Void SEIReader::xParseSEIScalableNesting(SEIScalableNesting& sei, const NalUnitType nalUnitType, UInt payloadSize, TComVPS *vps, TComSPS *sps) 834 834 #else … … 876 876 // read nested SEI messages 877 877 do { 878 #if M0043_LAYERS_PRESENT_SEI878 #if LAYERS_NOT_PRESENT_SEI 879 879 xReadSEImessage(sei.m_nestedSEIs, nalUnitType, vps, sps); 880 880 #else -
branches/SHM-5.0-dev/source/Lib/TLibDecoder/SEIread.h
r442 r567 56 56 SEIReader() {}; 57 57 virtual ~SEIReader() {}; 58 #if M0043_LAYERS_PRESENT_SEI58 #if LAYERS_NOT_PRESENT_SEI 59 59 Void parseSEImessage(TComInputBitstream* bs, SEIMessages& seis, const NalUnitType nalUnitType, TComVPS *vps, TComSPS *sps); 60 60 #else … … 62 62 #endif 63 63 protected: 64 #if M0043_LAYERS_PRESENT_SEI64 #if LAYERS_NOT_PRESENT_SEI 65 65 Void xReadSEImessage (SEIMessages& seis, const NalUnitType nalUnitType, TComVPS *vps, TComSPS *sps); 66 66 #else … … 83 83 Void xParseSEIInterLayerConstrainedTileSets (SEIInterLayerConstrainedTileSets &sei, UInt payloadSize); 84 84 #endif 85 #if M0043_LAYERS_PRESENT_SEI86 Void xParseSEILayers Present (SEILayersPresent &sei, UInt payloadSize, TComVPS *vps);85 #if LAYERS_NOT_PRESENT_SEI 86 Void xParseSEILayersNotPresent (SEILayersNotPresent &sei, UInt payloadSize, TComVPS *vps); 87 87 Void xParseSEIScalableNesting (SEIScalableNesting& sei, const NalUnitType nalUnitType, UInt payloadSize, TComVPS *vps, TComSPS *sps); 88 88 #else -
branches/SHM-5.0-dev/source/Lib/TLibDecoder/TDecTop.cpp
r562 r567 1656 1656 } 1657 1657 #endif 1658 #if M0043_LAYERS_PRESENT_SEI1658 #if LAYERS_NOT_PRESENT_SEI 1659 1659 m_seiReader.parseSEImessage( bs, m_pcPic->getSEIs(), nalUnitType, m_parameterSetManagerDecoder.getActiveVPS(), m_parameterSetManagerDecoder.getActiveSPS() ); 1660 1660 #else … … 1664 1664 else 1665 1665 { 1666 #if M0043_LAYERS_PRESENT_SEI1666 #if LAYERS_NOT_PRESENT_SEI 1667 1667 m_seiReader.parseSEImessage( bs, m_SEIs, nalUnitType, m_parameterSetManagerDecoder.getActiveVPS(), m_parameterSetManagerDecoder.getActiveSPS() ); 1668 1668 #else … … 1684 1684 if(nalUnitType == NAL_UNIT_SUFFIX_SEI) 1685 1685 { 1686 #if M0043_LAYERS_PRESENT_SEI1686 #if LAYERS_NOT_PRESENT_SEI 1687 1687 m_seiReader.parseSEImessage( bs, m_pcPic->getSEIs(), nalUnitType, m_parameterSetManagerDecoder.getActiveVPS(), m_parameterSetManagerDecoder.getActiveSPS() ); 1688 1688 #else … … 1692 1692 else 1693 1693 { 1694 #if M0043_LAYERS_PRESENT_SEI1694 #if LAYERS_NOT_PRESENT_SEI 1695 1695 m_seiReader.parseSEImessage( bs, m_SEIs, nalUnitType, m_parameterSetManagerDecoder.getActiveVPS(), m_parameterSetManagerDecoder.getActiveSPS() ); 1696 1696 #else -
branches/SHM-5.0-dev/source/Lib/TLibEncoder/SEIwrite.cpp
r442 r567 87 87 fprintf( g_hTrace, "=========== Tone Mapping Info SEI message ===========\n"); 88 88 break; 89 #if M0043_LAYERS_PRESENT_SEI90 case SEI::LAYERS_ PRESENT:89 #if LAYERS_NOT_PRESENT_SEI 90 case SEI::LAYERS_NOT_PRESENT: 91 91 fprintf( g_hTrace, "=========== Layers Present SEI message ===========\n"); 92 92 break; … … 150 150 xWriteSEIToneMappingInfo(*static_cast<const SEIToneMappingInfo*>(&sei)); 151 151 break; 152 #if M0043_LAYERS_PRESENT_SEI153 case SEI::LAYERS_ PRESENT:154 xWriteSEILayers Present(*static_cast<const SEILayersPresent*>(&sei));152 #if LAYERS_NOT_PRESENT_SEI 153 case SEI::LAYERS_NOT_PRESENT: 154 xWriteSEILayersNotPresent(*static_cast<const SEILayersNotPresent*>(&sei)); 155 155 break; 156 156 #endif … … 536 536 } 537 537 538 #if M0043_LAYERS_PRESENT_SEI539 Void SEIWriter::xWriteSEILayers Present(const SEILayersPresent& sei)538 #if LAYERS_NOT_PRESENT_SEI 539 Void SEIWriter::xWriteSEILayersNotPresent(const SEILayersNotPresent& sei) 540 540 { 541 541 WRITE_UVLC( sei.m_activeVpsId, "lp_sei_active_vps_id" ); 542 542 for (UInt i = 0; i < sei.m_vpsMaxLayers; i++) 543 543 { 544 WRITE_FLAG( sei.m_layer PresentFlag[i], "layer_present_flag" );544 WRITE_FLAG( sei.m_layerNotPresentFlag[i], "layer_not_present_flag" ); 545 545 } 546 546 xWriteByteAlign(); -
branches/SHM-5.0-dev/source/Lib/TLibEncoder/SEIwrite.h
r442 r567 64 64 Void xWriteSEIGradualDecodingRefreshInfo(const SEIGradualDecodingRefreshInfo &sei); 65 65 Void xWriteSEIToneMappingInfo(const SEIToneMappingInfo& sei); 66 #if M0043_LAYERS_PRESENT_SEI67 Void xWriteSEILayers Present(const SEILayersPresent& sei);66 #if LAYERS_NOT_PRESENT_SEI 67 Void xWriteSEILayersNotPresent(const SEILayersNotPresent& sei); 68 68 #endif 69 69 Void xWriteSEISOPDescription(const SEISOPDescription& sei); -
branches/SHM-5.0-dev/source/Lib/TLibEncoder/TEncCfg.h
r560 r567 305 305 Int m_gradualDecodingRefreshInfoEnabled; 306 306 Int m_decodingUnitInfoSEIEnabled; 307 #if M0043_LAYERS_PRESENT_SEI308 Int m_layers PresentSEIEnabled;307 #if LAYERS_NOT_PRESENT_SEI 308 Int m_layersNotPresentSEIEnabled; 309 309 #endif 310 310 Int m_SOPDescriptionSEIEnabled; … … 748 748 Void setDecodingUnitInfoSEIEnabled(Int b) { m_decodingUnitInfoSEIEnabled = b; } 749 749 Int getDecodingUnitInfoSEIEnabled() { return m_decodingUnitInfoSEIEnabled; } 750 #if M0043_LAYERS_PRESENT_SEI751 Void setLayers PresentSEIEnabled(Int b) { m_layersPresentSEIEnabled = b; }752 Int getLayers PresentSEIEnabled() { return m_layersPresentSEIEnabled; }750 #if LAYERS_NOT_PRESENT_SEI 751 Void setLayersNotPresentSEIEnabled(Int b) { m_layersNotPresentSEIEnabled = b; } 752 Int getLayersNotPresentSEIEnabled() { return m_layersNotPresentSEIEnabled; } 753 753 #endif 754 754 Void setSOPDescriptionSEIEnabled(Int b) { m_SOPDescriptionSEIEnabled = b; } -
branches/SHM-5.0-dev/source/Lib/TLibEncoder/TEncGOP.cpp
r564 r567 167 167 } 168 168 169 #if M0043_LAYERS_PRESENT_SEI170 SEILayers Present* TEncGOP::xCreateSEILayersPresent ()169 #if LAYERS_NOT_PRESENT_SEI 170 SEILayersNotPresent* TEncGOP::xCreateSEILayersNotPresent () 171 171 { 172 172 UInt i = 0; 173 SEILayers Present *seiLayersPresent = new SEILayersPresent();174 seiLayers Present->m_activeVpsId = m_pcCfg->getVPS()->getVPSId();175 seiLayers Present->m_vpsMaxLayers = m_pcCfg->getVPS()->getMaxLayers();176 for ( ; i < seiLayers Present->m_vpsMaxLayers; i++)177 { 178 seiLayers Present->m_layerPresentFlag[i] = true;173 SEILayersNotPresent *seiLayersNotPresent = new SEILayersNotPresent(); 174 seiLayersNotPresent->m_activeVpsId = m_pcCfg->getVPS()->getVPSId(); 175 seiLayersNotPresent->m_vpsMaxLayers = m_pcCfg->getVPS()->getMaxLayers(); 176 for ( ; i < seiLayersNotPresent->m_vpsMaxLayers; i++) 177 { 178 seiLayersNotPresent->m_layerNotPresentFlag[i] = true; 179 179 } 180 180 for ( ; i < MAX_LAYERS; i++) 181 181 { 182 seiLayers Present->m_layerPresentFlag[i] = false;183 } 184 return seiLayers Present;182 seiLayersNotPresent->m_layerNotPresentFlag[i] = false; 183 } 184 return seiLayersNotPresent; 185 185 } 186 186 #endif … … 363 363 } 364 364 365 #if M0043_LAYERS_PRESENT_SEI366 if(m_pcCfg->getLayers PresentSEIEnabled())367 { 368 SEILayers Present *sei = xCreateSEILayersPresent ();365 #if LAYERS_NOT_PRESENT_SEI 366 if(m_pcCfg->getLayersNotPresentSEIEnabled()) 367 { 368 SEILayersNotPresent *sei = xCreateSEILayersNotPresent (); 369 369 m_pcEntropyCoder->setBitstream(&nalu.m_Bitstream); 370 370 m_seiWriter.writeSEImessage(nalu.m_Bitstream, *sei, sps); -
branches/SHM-5.0-dev/source/Lib/TLibEncoder/TEncGOP.h
r562 r567 181 181 182 182 SEIActiveParameterSets* xCreateSEIActiveParameterSets (TComSPS *sps); 183 #if M0043_LAYERS_PRESENT_SEI184 SEILayers Present* xCreateSEILayersPresent ();183 #if LAYERS_NOT_PRESENT_SEI 184 SEILayersNotPresent* xCreateSEILayersNotPresent (); 185 185 #endif 186 186 SEIFramePacking* xCreateSEIFramePacking();
Note: See TracChangeset for help on using the changeset viewer.