- Timestamp:
- 21 Sep 2015, 02:24:51 (9 years ago)
- Location:
- branches/HTM-15.1-dev0-Vidyo
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-15.1-dev0-Vidyo/cfg/SEI/layersNotPresentSei.cfg
r1328 r1332 1 1 2 PayloadType : TBD2 PayloadType : 160 3 3 4 4 #======== Applicability ========== ( SEI is only send for pictures in intersection ) 5 ApplicableLayerIds : TBD# LayerIds of layers to which the SEI is added. (all when empty)6 ApplicablePocs : TBD# POCs of pictures to which the SEI is added. (all when empty)7 ApplicableTids : TBD# Tids of pictures to which the SEI is added. (all when empty)8 ApplicableVclNaluTypes : TBD# NaluUnitTypes of picture to which the SEI is added. (all when empty)5 ApplicableLayerIds : 0 # LayerIds of layers to which the SEI is added. (all when empty) 6 ApplicablePocs : 0 # POCs of pictures to which the SEI is added. (all when empty) 7 ApplicableTids : 0 # Tids of pictures to which the SEI is added. (all when empty) 8 ApplicableVclNaluTypes : 19 20 # NaluUnitTypes of picture to which the SEI is added. (all when empty) 9 9 10 10 #======== Position in bit stream ============ … … 13 13 14 14 #======== Payload modification ============= 15 ModifyByEncoder : TBD# 0: Use payload as specified in cfg file 1: Modify SEI by encoder.15 ModifyByEncoder : 0 # 0: Use payload as specified in cfg file 1: Modify SEI by encoder. 16 16 17 17 #======== Payload specification ============= 18 18 LnpSeiActiveVpsId : 0 19 LayerNotPresentFlag : 0 19 LayerNotPresentFlag : 0 0 0 # All layers present -
branches/HTM-15.1-dev0-Vidyo/source/Lib/TLibCommon/SEI.cpp
r1331 r1332 350 350 // TBD: Add default values for which layers, POCS, Tids or Nalu types the SEI should be send. 351 351 // This SEI message doesn't need to be added by default to any Layer / POC / NAL Unit / T Layer. Not sure if empty is right. 352 defAppLayerIds empty( ); //push_back( TBD);353 defAppPocs empty( ); //push_back( TBD);354 defAppTids empty( ); //push_back( TBD);355 defAppVclNaluTypes.empty( ); //push_back( TBD );356 357 Int defSeiNaluId = 0; 352 defAppLayerIds .empty( ); 353 defAppPocs .empty( ); 354 defAppTids .empty( ); 355 defAppVclNaluTypes.empty( ); 356 357 Int defSeiNaluId = 0; 358 358 Int defPositionInSeiNalu = 0; 359 359 Bool defModifyByEncoder = false; //0: Use payload as specified in cfg file 1: Modify SEI by encoder … … 378 378 Bool SEILayersNotPresent::checkCfg( const TComSlice* slice ) 379 379 { 380 //// Check config values381 //Bool wrongConfig = false;380 // Check config values 381 Bool wrongConfig = false; 382 382 // 383 const TComVPS* vps = slice->getVPS(); 383 384 // // TBD: Add constraints on presence of SEI here. 384 // xCheckCfg ( wrongConfig, TBD , "TBD" ); 385 // xCheckCfg ( wrongConfig, TBD , "TBD" ); 386 // 387 // // TBD: Modify constraints according to the SEI semantics. 388 // xCheckCfgRange( wrongConfig, m_lnpSeiActiveVpsId , MINVAL , MAXVAL, "lnp_sei_active_vps_id" ); 389 // xCheckCfgRange( wrongConfig, m_layerNotPresentFlag[i] , MINVAL , MAXVAL, "layer_not_present_flag" ); 390 // 391 // return wrongConfig; 392 return false; 385 xCheckCfg ( wrongConfig, m_lnpSeiActiveVpsId == vps->getVPSId(), "The value of lnp_sei_active_vps_id shall be equal to the value of vps_video_parameter_set_id of the active VPS for the VCL NAL units of the access unit containing the SEI message." ); 386 387 388 for (Int i = 0; i < vps->getMaxLayersMinus1(); i++) 389 { 390 if ( m_layerNotPresentFlag[ i ] && i < vps->getMaxLayersMinus1() ) 391 { 392 for (Int j = 0; j < vps->getNumPredictedLayers( vps->getLayerIdInNuh( j ) - 1 ); j++ ) 393 { 394 xCheckCfg ( wrongConfig, m_layerNotPresentFlag[ vps->getLayerIdInVps( vps->getIdPredictedLayer( vps->getLayerIdInNuh(i),j) )], "When layer_not_present_flag[ i ] is equal to 1 and i is less than MaxLayersMinus1, layer_not_present_flag[ LayerIdxInVps[ IdPredictedLayer[ layer_id_in_nuh[ i ] ][ j ] ] ] shall be equal to 1 for all values of j in the range of 0 to NumPredictedLayers[ layer_id_in_nuh[ i ] ] - 1, inclusive." ); 395 } 396 } 397 } 398 399 return wrongConfig; 393 400 }; 394 //395 //Void SEILayersNotPresent::setupFromSlice ( const TComSlice* slice )396 //{397 // sei.m_lnpSeiActiveVpsId = TBD ;398 // for( Int i = 0; i <= MaxLayersMinus1; i++ )399 // {400 // sei.m_layerNotPresentFlag[i] = TBD ;401 // }402 //};403 401 #endif 404 402 -
branches/HTM-15.1-dev0-Vidyo/source/Lib/TLibCommon/SEI.h
r1331 r1332 670 670 671 671 Void setupFromCfgFile( const Char* cfgFile ); 672 //Void setupFromSlice ( const TComSlice* slice );673 672 Bool checkCfg ( const TComSlice* slice ); 674 673 … … 677 676 BoolAry1d m_layerNotPresentFlag; 678 677 679 void resizeDimI( Int sizeDimI )678 Void resizeDimI( Int sizeDimI ) 680 679 { 681 680 m_layerNotPresentFlag.resize( sizeDimI ); -
branches/HTM-15.1-dev0-Vidyo/source/Lib/TLibDecoder/SEIread.cpp
r1331 r1332 1217 1217 { 1218 1218 UInt code; 1219 UInt i = 0;1220 1219 1221 1220 output_sei_message_header(sei, pDecodedMessageOutputStream, payloadSize); … … 1225 1224 sei.m_lnpSeiMaxLayers = vps->getMaxLayersMinus1() + 1; 1226 1225 sei.resizeDimI(sei.m_lnpSeiMaxLayers); 1227 for ( ; i < sei.m_lnpSeiMaxLayers; i++)1226 for (Int i = 0; i < sei.m_lnpSeiMaxLayers; i++) 1228 1227 { 1229 1228 sei_read_flag( pDecodedMessageOutputStream, code, "layer_not_present_flag" );
Note: See TracChangeset for help on using the changeset viewer.