Changeset 224 in SHVCSoftware
- Timestamp:
- 22 May 2013, 20:38:25 (12 years ago)
- Location:
- branches/SHM-2.1-dev/source/Lib
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-2.1-dev/source/Lib/TLibCommon/TypeDef.h
r216 r224 58 58 #define VPS_MOVE_DIR_DEPENDENCY_FLAG 1 ///< M0268: Move the syntax element direct_dependency_flag to follow the syntax element dimension_id 59 59 #define VPS_PROFILE_OUTPUT_LAYERS 1 ///< M0268: Signal profile information and output layer information as in Sec. 3 of M0268v2 60 #define SPS_SUB_LAYER_INFO 1 ///< M0268: Do not signal sps_max_sub_layers_minus1 and sps_temporal_id_nesting_flag for nuh_layer_id greater than 0 60 61 #endif 61 62 -
branches/SHM-2.1-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r216 r224 554 554 } 555 555 556 #if SPS_SUB_LAYER_INFO 557 Void TDecCavlc::parseSPS(TComSPS* pcSPS, ParameterSetManagerDecoder *parameterSetManager) 558 #else 556 559 Void TDecCavlc::parseSPS(TComSPS* pcSPS) 560 #endif 557 561 { 558 562 #if ENC_DEC_TRACE … … 562 566 UInt uiCode; 563 567 READ_CODE( 4, uiCode, "sps_video_parameter_set_id"); pcSPS->setVPSId ( uiCode ); 564 READ_CODE( 3, uiCode, "sps_max_sub_layers_minus1" ); pcSPS->setMaxTLayers ( uiCode+1 ); 565 READ_FLAG( uiCode, "sps_temporal_id_nesting_flag" ); pcSPS->setTemporalIdNestingFlag ( uiCode > 0 ? true : false ); 568 #if SPS_SUB_LAYER_INFO 569 if(pcSPS->getLayerId() == 0) 570 { 571 #endif 572 READ_CODE( 3, uiCode, "sps_max_sub_layers_minus1" ); pcSPS->setMaxTLayers ( uiCode+1 ); 573 READ_FLAG( uiCode, "sps_temporal_id_nesting_flag" ); pcSPS->setTemporalIdNestingFlag ( uiCode > 0 ? true : false ); 574 #if SPS_SUB_LAYER_INFO 575 } 576 else 577 { 578 pcSPS->setMaxTLayers ( parameterSetManager->getPrefetchedVPS(pcSPS->getVPSId())->getMaxTLayers() ); 579 pcSPS->setTemporalIdNestingFlag( parameterSetManager->getPrefetchedVPS(pcSPS->getVPSId())->getTemporalNestingFlag() ); 580 } 581 #endif 566 582 if ( pcSPS->getMaxTLayers() == 1 ) 567 583 { 568 584 // sps_temporal_id_nesting_flag must be 1 when sps_max_sub_layers_minus1 is 0 585 #if SPS_SUB_LAYER_INFO 586 assert( pcSPS->getTemporalIdNestingFlag() == true ); 587 #else 569 588 assert( uiCode == 1 ); 589 #endif 570 590 } 571 591 -
branches/SHM-2.1-dev/source/Lib/TLibDecoder/TDecCAVLC.h
r191 r224 75 75 Void parseVPSExtension ( TComVPS* pcVPS ); 76 76 #endif 77 #if SPS_SUB_LAYER_INFO 78 Void parseSPS ( TComSPS* pcSPS, ParameterSetManagerDecoder *parameterSetManager ); 79 #else 77 80 Void parseSPS ( TComSPS* pcSPS ); 81 #endif 78 82 Void parsePPS ( TComPPS* pcPPS); 79 83 Void parseVUI ( TComVUI* pcVUI, TComSPS* pcSPS ); -
branches/SHM-2.1-dev/source/Lib/TLibDecoder/TDecEntropy.h
r191 r224 66 66 67 67 virtual Void parseVPS ( TComVPS* pcVPS ) = 0; 68 #if SPS_SUB_LAYER_INFO 69 virtual Void parseSPS ( TComSPS* pcSPS, ParameterSetManagerDecoder *parameterSetManager ) = 0; 70 #else 68 71 virtual Void parseSPS ( TComSPS* pcSPS ) = 0; 72 #endif 69 73 virtual Void parsePPS ( TComPPS* pcPPS ) = 0; 70 74 … … 134 138 Void resetEntropy ( TComSlice* p) { m_pcEntropyDecoderIf->resetEntropy(p); } 135 139 Void decodeVPS ( TComVPS* pcVPS ) { m_pcEntropyDecoderIf->parseVPS(pcVPS); } 140 #if SPS_SUB_LAYER_INFO 141 Void decodeSPS ( TComSPS* pcSPS, ParameterSetManagerDecoder *parameterSetManager ) { m_pcEntropyDecoderIf->parseSPS(pcSPS, parameterSetManager); } 142 #else 136 143 Void decodeSPS ( TComSPS* pcSPS ) { m_pcEntropyDecoderIf->parseSPS(pcSPS); } 144 #endif 137 145 Void decodePPS ( TComPPS* pcPPS ) { m_pcEntropyDecoderIf->parsePPS(pcPPS); } 138 146 Void decodeSliceHeader ( TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager) { m_pcEntropyDecoderIf->parseSliceHeader(rpcSlice, parameterSetManager); } -
branches/SHM-2.1-dev/source/Lib/TLibDecoder/TDecSbac.h
r191 r224 76 76 Void setBitstream ( TComInputBitstream* p ) { m_pcBitstream = p; m_pcTDecBinIf->init( p ); } 77 77 Void parseVPS ( TComVPS* /*pcVPS*/ ) {} 78 #if SPS_SUB_LAYER_INFO 79 Void parseSPS ( TComSPS* /*pcSPS*/, ParameterSetManagerDecoder * /*parameterSetManager*/ ) {} 80 #else 78 81 Void parseSPS ( TComSPS* /*pcSPS*/ ) {} 82 #endif 79 83 Void parsePPS ( TComPPS* /*pcPPS*/ ) {} 80 84 -
branches/SHM-2.1-dev/source/Lib/TLibDecoder/TDecTop.cpp
r215 r224 1011 1011 sps->setLayerId(m_layerId); 1012 1012 #endif 1013 #if SPS_SUB_LAYER_INFO 1014 m_cEntropyDecoder.decodeSPS( sps, &m_parameterSetManagerDecoder[0] ); 1015 #else 1013 1016 m_cEntropyDecoder.decodeSPS( sps ); 1017 #endif 1014 1018 #if SVC_EXTENSION 1015 1019 m_parameterSetManagerDecoder[m_layerId].storePrefetchedSPS(sps); -
branches/SHM-2.1-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r216 r224 439 439 #endif 440 440 WRITE_CODE( pcSPS->getVPSId (), 4, "sps_video_parameter_set_id" ); 441 WRITE_CODE( pcSPS->getMaxTLayers() - 1, 3, "sps_max_sub_layers_minus1" ); 442 WRITE_FLAG( pcSPS->getTemporalIdNestingFlag() ? 1 : 0, "sps_temporal_id_nesting_flag" ); 441 #if SPS_SUB_LAYER_INFO 442 if(pcSPS->getLayerId() == 0) 443 { 444 #endif 445 WRITE_CODE( pcSPS->getMaxTLayers() - 1, 3, "sps_max_sub_layers_minus1" ); 446 WRITE_FLAG( pcSPS->getTemporalIdNestingFlag() ? 1 : 0, "sps_temporal_id_nesting_flag" ); 447 #if SPS_SUB_LAYER_INFO 448 } 449 #endif 443 450 codePTL(pcSPS->getPTL(), 1, pcSPS->getMaxTLayers() - 1); 444 451 WRITE_UVLC( pcSPS->getSPSId (), "sps_seq_parameter_set_id" );
Note: See TracChangeset for help on using the changeset viewer.