Ignore:
Timestamp:
28 Jun 2013, 00:40:00 (11 years ago)
Author:
seregin
Message:

update to HM11.0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-2.1-dev/source/Lib/TLibDecoder/SEIread.cpp

    r292 r302  
    9090    fprintf( g_hTrace, "=========== Decoding Unit Information SEI message ===========\n");
    9191    break;
    92 #if J0149_TONE_MAPPING_SEI
    9392  case SEI::TONE_MAPPING_INFO:
    9493    fprintf( g_hTrace, "===========Tone Mapping Info SEI message ===========\n");
    9594    break;
    96 #endif
    9795#if M0043_LAYERS_PRESENT_SEI
    9896  case SEI::LAYERS_PRESENT:
     
    10098    break;
    10199#endif
    102 #if L0208_SOP_DESCRIPTION_SEI
    103100  case SEI::SOP_DESCRIPTION:
    104101    fprintf( g_hTrace, "=========== SOP Description SEI message ===========\n");
    105102    break;
    106 #endif
    107 #if K0180_SCALABLE_NESTING_SEI
    108103  case SEI::SCALABLE_NESTING:
    109104    fprintf( g_hTrace, "=========== Scalable Nesting SEI message ===========\n");
    110105    break;
    111 #endif
    112106  default:
    113107    fprintf( g_hTrace, "=========== Unknown SEI message ===========\n");
     
    251245      xParseSEIGradualDecodingRefreshInfo((SEIGradualDecodingRefreshInfo&) *sei, payloadSize);
    252246      break;
    253 #if J0149_TONE_MAPPING_SEI
    254247    case SEI::TONE_MAPPING_INFO:
    255248      sei = new SEIToneMappingInfo;
    256249      xParseSEIToneMappingInfo((SEIToneMappingInfo&) *sei, payloadSize);
    257250      break;
    258 #endif
    259251#if M0043_LAYERS_PRESENT_SEI
    260252    case SEI::LAYERS_PRESENT:
     
    270262      break;
    271263#endif
    272 #if L0208_SOP_DESCRIPTION_SEI
    273264    case SEI::SOP_DESCRIPTION:
    274265      sei = new SEISOPDescription;
    275266      xParseSEISOPDescription((SEISOPDescription&) *sei, payloadSize);
    276267      break;
    277 #endif
    278 #if K0180_SCALABLE_NESTING_SEI
    279268    case SEI::SCALABLE_NESTING:
    280269      sei = new SEIScalableNesting;
     
    285274#endif
    286275      break;
    287 #endif
    288276    default:
    289277      for (UInt i = 0; i < payloadSize; i++)
     
    299287    switch (payloadType)
    300288    {
    301 #if L0363_SEI_ALLOW_SUFFIX
    302289      case SEI::USER_DATA_UNREGISTERED:
    303290        sei = new SEIuserDataUnregistered;
    304291        xParseSEIuserDataUnregistered((SEIuserDataUnregistered&) *sei, payloadSize);
    305292        break;
    306 #endif
    307293      case SEI::DECODED_PICTURE_HASH:
    308294        sei = new SEIDecodedPictureHash;
     
    436422  UInt val;
    437423  READ_CODE(4, val, "active_vps_id");      sei.activeVPSId = val;
    438 #if L0047_APS_FLAGS
    439424  READ_FLAG( val, "full_random_access_flag");  sei.m_fullRandomAccessFlag = val ? true : false;
    440425  READ_FLAG( val, "no_param_set_update_flag"); sei.m_noParamSetUpdateFlag = val ? true : false;
    441 #endif
    442426  READ_UVLC(   val, "num_sps_ids_minus1"); sei.numSpsIdsMinus1 = val;
    443427
     
    472456    sei.m_duSptCpbRemovalDelay = 0;
    473457  }
    474 #if L0044_DU_DPB_OUTPUT_DELAY_HRD
    475458  READ_FLAG( val, "dpb_output_du_delay_present_flag"); sei.m_dpbOutputDuDelayPresentFlag = val ? true : false;
    476459  if(sei.m_dpbOutputDuDelayPresentFlag)
     
    479462    sei.m_picSptDpbOutputDuDelay = val;
    480463  }
    481 #endif
    482464  xParseByteAlign();
    483465}
     
    496478    READ_FLAG( code, "rap_cpb_params_present_flag" );                   sei.m_rapCpbParamsPresentFlag = code;
    497479  }
    498 #if L0328_SPLICING
    499480  //read splicing flag and cpb_removal_delay_delta
    500481  READ_FLAG( code, "concatenation_flag");
     
    502483  READ_CODE( ( pHRD->getCpbRemovalDelayLengthMinus1() + 1 ), code, "au_cpb_removal_delay_delta_minus1" );
    503484  sei.m_auCpbRemovalDelayDelta = code + 1;
    504 #endif
    505 #if L0044_CPB_DPB_DELAY_OFFSET
    506485  if( sei.m_rapCpbParamsPresentFlag )
    507486  {
     
    509488    READ_CODE( pHRD->getDpbOutputDelayLengthMinus1()  + 1, code, "dpb_delay_offset" );      sei.m_dpbDelayOffset = code;
    510489  }
    511 #endif
    512490  for( nalOrVcl = 0; nalOrVcl < 2; nalOrVcl ++ )
    513491  {
     
    541519  TComHRD *hrd = vui->getHrdParameters();
    542520
    543 #if !L0045_CONDITION_SIGNALLING
    544   // This condition was probably OK before the pic_struct, progressive_source_idc, duplicate_flag were added
    545   if( !hrd->getNalHrdParametersPresentFlag() && !hrd->getVclHrdParametersPresentFlag() )
    546   {
    547     return;
    548   }
    549 #endif
    550 
    551521  if( vui->getFrameFieldInfoPresentFlag() )
    552522  {
    553523    READ_CODE( 4, code, "pic_struct" );             sei.m_picStruct            = code;
    554 #if L0046_RENAME_PROG_SRC_IDC
    555524    READ_CODE( 2, code, "source_scan_type" );       sei.m_sourceScanType = code;
    556 #else
    557     READ_CODE( 2, code, "progressive_source_idc" ); sei.m_progressiveSourceIdc = code;
    558 #endif
    559525    READ_FLAG(    code, "duplicate_flag" );         sei.m_duplicateFlag        = ( code == 1 ? true : false );
    560526  }
    561527
    562 #if L0045_CONDITION_SIGNALLING
    563528  if( hrd->getCpbDpbDelaysPresentFlag())
    564529  {
    565 #endif
    566530    READ_CODE( ( hrd->getCpbRemovalDelayLengthMinus1() + 1 ), code, "au_cpb_removal_delay_minus1" );
    567531    sei.m_auCpbRemovalDelay = code + 1;
     
    569533    sei.m_picDpbOutputDelay = code;
    570534
    571 #if L0044_DU_DPB_OUTPUT_DELAY_HRD
    572535    if(hrd->getSubPicCpbParamsPresentFlag())
    573536    {
     
    575538      sei.m_picDpbOutputDuDelay = code;
    576539    }
    577 #endif
    578540    if( hrd->getSubPicCpbParamsPresentFlag() && hrd->getSubPicCpbParamsInPicTimingSEIFlag() )
    579541    {
     
    609571      }
    610572    }
    611 #if L0045_CONDITION_SIGNALLING
    612   }
    613 #endif
     573  }
    614574  xParseByteAlign();
    615575}
     
    632592  {
    633593    READ_CODE( 7, val, "frame_packing_arrangement_type" );          sei.m_arrangementType = val;
    634 #if L0444_FPA_TYPE
    635594    assert((sei.m_arrangementType > 2) && (sei.m_arrangementType < 6) );
    636 #endif
    637595    READ_FLAG( val, "quincunx_sampling_flag" );                     sei.m_quincunxSamplingFlag = val;
    638596
     
    654612
    655613    READ_CODE( 8, val, "frame_packing_arrangement_reserved_byte" );   sei.m_arrangementReservedByte = val;
    656 #if L0045_PERSISTENCE_FLAGS
    657614    READ_FLAG( val,  "frame_packing_arrangement_persistence_flag" );  sei.m_arrangementPersistenceFlag = val ? true : false;
    658 #else
    659     READ_UVLC( val, "frame_packing_arrangement_repetition_period" );  sei.m_arrangementRepetetionPeriod = val;
    660 #endif
    661615  }
    662616  READ_FLAG( val, "upsampled_aspect_ratio" );                       sei.m_upsampledAspectRatio = val;
     
    674628    READ_FLAG( val,     "ver_flip" );                              sei.verFlip               = val;
    675629    READ_CODE( 16, val, "anticlockwise_rotation" );                sei.anticlockwiseRotation = val;
    676 #if L0045_PERSISTENCE_FLAGS
    677630    READ_FLAG( val,     "display_orientation_persistence_flag" );  sei.persistenceFlag       = val;
    678 #else
    679     READ_UVLC( val,     "display_orientation_repetition_period" ); sei.repetitionPeriod      = val;
    680 #endif
    681 #if !REMOVE_SINGLE_SEI_EXTENSION_FLAGS
    682     READ_FLAG( val,     "display_orientation_extension_flag" );    sei.extensionFlag         = val;
    683     assert( !sei.extensionFlag );
    684 #endif
    685631  }
    686632  xParseByteAlign();
     
    702648}
    703649
    704 #if J0149_TONE_MAPPING_SEI
    705650Void SEIReader::xParseSEIToneMappingInfo(SEIToneMappingInfo& sei, UInt /*payloadSize*/)
    706651{
     
    783728  xParseByteAlign();
    784729}
    785 #endif
    786730
    787731#if M0043_LAYERS_PRESENT_SEI
     
    806750#endif
    807751
    808 #if L0208_SOP_DESCRIPTION_SEI
    809752Void SEIReader::xParseSEISOPDescription(SEISOPDescription &sei, UInt payloadSize)
    810753{
     
    830773  xParseByteAlign();
    831774}
    832 #endif
    833 
    834 
    835 #if K0180_SCALABLE_NESTING_SEI
     775
    836776#if M0043_LAYERS_PRESENT_SEI
    837777Void SEIReader::xParseSEIScalableNesting(SEIScalableNesting& sei, const NalUnitType nalUnitType, UInt payloadSize, TComVPS *vps, TComSPS *sps)
     
    888828
    889829}
    890 #endif
    891830
    892831Void SEIReader::xParseByteAlign()
Note: See TracChangeset for help on using the changeset viewer.