Changeset 537 in 3DVCSoftware for branches/HTM-DEV-0.3-dev2/source/Lib/TLibDecoder/SEIread.cpp
- Timestamp:
- 13 Jul 2013, 15:51:26 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-0.3-dev2/source/Lib/TLibDecoder/SEIread.cpp
r446 r537 90 90 fprintf( g_hTrace, "=========== Decoding Unit Information SEI message ===========\n"); 91 91 break; 92 #if J0149_TONE_MAPPING_SEI93 92 case SEI::TONE_MAPPING_INFO: 94 93 fprintf( g_hTrace, "===========Tone Mapping Info SEI message ===========\n"); 95 94 break; 96 #endif97 #if L0208_SOP_DESCRIPTION_SEI98 95 case SEI::SOP_DESCRIPTION: 99 96 fprintf( g_hTrace, "=========== SOP Description SEI message ===========\n"); 100 97 break; 101 #endif102 #if K0180_SCALABLE_NESTING_SEI103 98 case SEI::SCALABLE_NESTING: 104 99 fprintf( g_hTrace, "=========== Scalable Nesting SEI message ===========\n"); 105 100 break; 106 #endif107 101 default: 108 102 fprintf( g_hTrace, "=========== Unknown SEI message ===========\n"); … … 234 228 xParseSEIGradualDecodingRefreshInfo((SEIGradualDecodingRefreshInfo&) *sei, payloadSize); 235 229 break; 236 #if J0149_TONE_MAPPING_SEI237 230 case SEI::TONE_MAPPING_INFO: 238 231 sei = new SEIToneMappingInfo; 239 232 xParseSEIToneMappingInfo((SEIToneMappingInfo&) *sei, payloadSize); 240 233 break; 241 #endif242 #if L0208_SOP_DESCRIPTION_SEI243 234 case SEI::SOP_DESCRIPTION: 244 235 sei = new SEISOPDescription; 245 236 xParseSEISOPDescription((SEISOPDescription&) *sei, payloadSize); 246 237 break; 247 #endif248 #if K0180_SCALABLE_NESTING_SEI249 238 case SEI::SCALABLE_NESTING: 250 239 sei = new SEIScalableNesting; 251 240 xParseSEIScalableNesting((SEIScalableNesting&) *sei, nalUnitType, payloadSize, sps); 252 241 break; 253 #endif254 242 default: 255 243 for (UInt i = 0; i < payloadSize; i++) … … 265 253 switch (payloadType) 266 254 { 267 #if L0363_SEI_ALLOW_SUFFIX268 255 case SEI::USER_DATA_UNREGISTERED: 269 256 sei = new SEIuserDataUnregistered; 270 257 xParseSEIuserDataUnregistered((SEIuserDataUnregistered&) *sei, payloadSize); 271 258 break; 272 #endif273 259 case SEI::DECODED_PICTURE_HASH: 274 260 sei = new SEIDecodedPictureHash; … … 402 388 UInt val; 403 389 READ_CODE(4, val, "active_vps_id"); sei.activeVPSId = val; 404 #if L0047_APS_FLAGS405 390 READ_FLAG( val, "full_random_access_flag"); sei.m_fullRandomAccessFlag = val ? true : false; 406 391 READ_FLAG( val, "no_param_set_update_flag"); sei.m_noParamSetUpdateFlag = val ? true : false; 407 #endif408 392 READ_UVLC( val, "num_sps_ids_minus1"); sei.numSpsIdsMinus1 = val; 409 393 … … 438 422 sei.m_duSptCpbRemovalDelay = 0; 439 423 } 440 #if L0044_DU_DPB_OUTPUT_DELAY_HRD441 424 READ_FLAG( val, "dpb_output_du_delay_present_flag"); sei.m_dpbOutputDuDelayPresentFlag = val ? true : false; 442 425 if(sei.m_dpbOutputDuDelayPresentFlag) … … 445 428 sei.m_picSptDpbOutputDuDelay = val; 446 429 } 447 #endif448 430 xParseByteAlign(); 449 431 } … … 462 444 READ_FLAG( code, "rap_cpb_params_present_flag" ); sei.m_rapCpbParamsPresentFlag = code; 463 445 } 464 #if L0328_SPLICING465 446 //read splicing flag and cpb_removal_delay_delta 466 447 READ_FLAG( code, "concatenation_flag"); … … 468 449 READ_CODE( ( pHRD->getCpbRemovalDelayLengthMinus1() + 1 ), code, "au_cpb_removal_delay_delta_minus1" ); 469 450 sei.m_auCpbRemovalDelayDelta = code + 1; 470 #endif471 #if L0044_CPB_DPB_DELAY_OFFSET472 451 if( sei.m_rapCpbParamsPresentFlag ) 473 452 { … … 475 454 READ_CODE( pHRD->getDpbOutputDelayLengthMinus1() + 1, code, "dpb_delay_offset" ); sei.m_dpbDelayOffset = code; 476 455 } 477 #endif478 456 for( nalOrVcl = 0; nalOrVcl < 2; nalOrVcl ++ ) 479 457 { … … 507 485 TComHRD *hrd = vui->getHrdParameters(); 508 486 509 #if !L0045_CONDITION_SIGNALLING510 // This condition was probably OK before the pic_struct, progressive_source_idc, duplicate_flag were added511 if( !hrd->getNalHrdParametersPresentFlag() && !hrd->getVclHrdParametersPresentFlag() )512 {513 return;514 }515 #endif516 517 487 if( vui->getFrameFieldInfoPresentFlag() ) 518 488 { 519 489 READ_CODE( 4, code, "pic_struct" ); sei.m_picStruct = code; 520 #if L0046_RENAME_PROG_SRC_IDC521 490 READ_CODE( 2, code, "source_scan_type" ); sei.m_sourceScanType = code; 522 #else523 READ_CODE( 2, code, "progressive_source_idc" ); sei.m_progressiveSourceIdc = code;524 #endif525 491 READ_FLAG( code, "duplicate_flag" ); sei.m_duplicateFlag = ( code == 1 ? true : false ); 526 492 } 527 493 528 #if L0045_CONDITION_SIGNALLING529 494 if( hrd->getCpbDpbDelaysPresentFlag()) 530 495 { 531 #endif532 496 READ_CODE( ( hrd->getCpbRemovalDelayLengthMinus1() + 1 ), code, "au_cpb_removal_delay_minus1" ); 533 497 sei.m_auCpbRemovalDelay = code + 1; … … 535 499 sei.m_picDpbOutputDelay = code; 536 500 537 #if L0044_DU_DPB_OUTPUT_DELAY_HRD538 501 if(hrd->getSubPicCpbParamsPresentFlag()) 539 502 { … … 541 504 sei.m_picDpbOutputDuDelay = code; 542 505 } 543 #endif544 506 if( hrd->getSubPicCpbParamsPresentFlag() && hrd->getSubPicCpbParamsInPicTimingSEIFlag() ) 545 507 { … … 575 537 } 576 538 } 577 #if L0045_CONDITION_SIGNALLING 578 } 579 #endif 539 } 580 540 xParseByteAlign(); 581 541 } … … 598 558 { 599 559 READ_CODE( 7, val, "frame_packing_arrangement_type" ); sei.m_arrangementType = val; 600 #if L0444_FPA_TYPE601 560 assert((sei.m_arrangementType > 2) && (sei.m_arrangementType < 6) ); 602 #endif603 561 READ_FLAG( val, "quincunx_sampling_flag" ); sei.m_quincunxSamplingFlag = val; 604 562 … … 620 578 621 579 READ_CODE( 8, val, "frame_packing_arrangement_reserved_byte" ); sei.m_arrangementReservedByte = val; 622 #if L0045_PERSISTENCE_FLAGS623 580 READ_FLAG( val, "frame_packing_arrangement_persistence_flag" ); sei.m_arrangementPersistenceFlag = val ? true : false; 624 #else625 READ_UVLC( val, "frame_packing_arrangement_repetition_period" ); sei.m_arrangementRepetetionPeriod = val;626 #endif627 581 } 628 582 READ_FLAG( val, "upsampled_aspect_ratio" ); sei.m_upsampledAspectRatio = val; … … 640 594 READ_FLAG( val, "ver_flip" ); sei.verFlip = val; 641 595 READ_CODE( 16, val, "anticlockwise_rotation" ); sei.anticlockwiseRotation = val; 642 #if L0045_PERSISTENCE_FLAGS643 596 READ_FLAG( val, "display_orientation_persistence_flag" ); sei.persistenceFlag = val; 644 #else645 READ_UVLC( val, "display_orientation_repetition_period" ); sei.repetitionPeriod = val;646 #endif647 #if !REMOVE_SINGLE_SEI_EXTENSION_FLAGS648 READ_FLAG( val, "display_orientation_extension_flag" ); sei.extensionFlag = val;649 assert( !sei.extensionFlag );650 #endif651 597 } 652 598 xParseByteAlign(); … … 668 614 } 669 615 670 #if J0149_TONE_MAPPING_SEI671 616 Void SEIReader::xParseSEIToneMappingInfo(SEIToneMappingInfo& sei, UInt /*payloadSize*/) 672 617 { … … 749 694 xParseByteAlign(); 750 695 } 751 #endif 752 753 #if L0208_SOP_DESCRIPTION_SEI 696 754 697 Void SEIReader::xParseSEISOPDescription(SEISOPDescription &sei, UInt payloadSize) 755 698 { … … 775 718 xParseByteAlign(); 776 719 } 777 #endif 778 779 #if K0180_SCALABLE_NESTING_SEI 720 780 721 Void SEIReader::xParseSEIScalableNesting(SEIScalableNesting& sei, const NalUnitType nalUnitType, UInt payloadSize, TComSPS *sps) 781 722 { … … 824 765 825 766 } 826 #endif827 767 828 768 Void SEIReader::xParseByteAlign()
Note: See TracChangeset for help on using the changeset viewer.