Changeset 1273 in SHVCSoftware for branches/SHM-dev/source/Lib/TLibDecoder


Ignore:
Timestamp:
15 Jul 2015, 20:51:59 (10 years ago)
Author:
seregin
Message:

port rev 4306 and rev 4307

Location:
branches/SHM-dev/source/Lib/TLibDecoder
Files:
2 edited

Legend:

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

    r1259 r1273  
    341341#endif
    342342#if SUB_BITSTREAM_PROPERTY_SEI
    343    case SEI::SUB_BITSTREAM_PROPERTY:
    344      sei = new SEISubBitstreamProperty;
    345      xParseSEISubBitstreamProperty((SEISubBitstreamProperty&) *sei, vps, pDecodedMessageOutputStream);
    346      break;
     343    case SEI::SUB_BITSTREAM_PROPERTY:
     344      sei = new SEISubBitstreamProperty;
     345      xParseSEISubBitstreamProperty((SEISubBitstreamProperty&) *sei, vps, pDecodedMessageOutputStream);
     346      break;
    347347#endif
    348348#if O0164_MULTI_LAYER_HRD
    349    case SEI::BSP_NESTING:
    350      sei = new SEIBspNesting;
     349    case SEI::BSP_NESTING:
     350      sei = new SEIBspNesting;
    351351#if LAYERS_NOT_PRESENT_SEI
    352      xParseSEIBspNesting((SEIBspNesting&) *sei, nalUnitType, vps, sps, *nestingSei, pDecodedMessageOutputStream);
    353 #else
    354      xParseSEIBspNesting((SEIBspNesting&) *sei, nalUnitType, sps, *nestingSei, pDecodedMessageOutputStream);
    355 #endif
    356      break;
    357    case SEI::BSP_INITIAL_ARRIVAL_TIME:
    358      sei = new SEIBspInitialArrivalTime;
    359      xParseSEIBspInitialArrivalTime((SEIBspInitialArrivalTime&) *sei, vps, sps, *nestingSei, *bspNestingSei, pDecodedMessageOutputStream);
    360      break;
     352      xParseSEIBspNesting((SEIBspNesting&) *sei, nalUnitType, vps, sps, *nestingSei, pDecodedMessageOutputStream);
     353#else
     354      xParseSEIBspNesting((SEIBspNesting&) *sei, nalUnitType, sps, *nestingSei, pDecodedMessageOutputStream);
     355#endif
     356      break;
     357    case SEI::BSP_INITIAL_ARRIVAL_TIME:
     358      sei = new SEIBspInitialArrivalTime;
     359      xParseSEIBspInitialArrivalTime((SEIBspInitialArrivalTime&) *sei, vps, sps, *nestingSei, *bspNestingSei, pDecodedMessageOutputStream);
     360      break;
    361361#endif
    362362#if Q0189_TMVP_CONSTRAINTS
    363    case SEI::TMVP_CONSTRAINTS:
    364      sei =  new SEITMVPConstrains;
    365      xParseSEITMVPConstraints((SEITMVPConstrains&) *sei, payloadSize, pDecodedMessageOutputStream);
    366      break;
     363    case SEI::TMVP_CONSTRAINTS:
     364      sei =  new SEITMVPConstrains;
     365      xParseSEITMVPConstraints((SEITMVPConstrains&) *sei, payloadSize, pDecodedMessageOutputStream);
     366      break;
    367367#endif
    368368#if Q0247_FRAME_FIELD_INFO
    369    case SEI::FRAME_FIELD_INFO:
    370      sei =  new SEIFrameFieldInfo;
    371      xParseSEIFrameFieldInfo    ((SEIFrameFieldInfo&) *sei, payloadSize, pDecodedMessageOutputStream);
    372      break;
     369    case SEI::FRAME_FIELD_INFO:
     370      sei =  new SEIFrameFieldInfo;
     371      xParseSEIFrameFieldInfo    ((SEIFrameFieldInfo&) *sei, payloadSize, pDecodedMessageOutputStream);
     372      break;
    373373#endif
    374374#if P0123_ALPHA_CHANNEL_SEI
    375    case SEI::ALPHA_CHANNEL_INFO:
    376      sei = new SEIAlphaChannelInfo;
    377      xParseSEIAlphaChannelInfo((SEIAlphaChannelInfo &) *sei, payloadSize, pDecodedMessageOutputStream);
    378      break;
     375    case SEI::ALPHA_CHANNEL_INFO:
     376      sei = new SEIAlphaChannelInfo;
     377      xParseSEIAlphaChannelInfo((SEIAlphaChannelInfo &) *sei, payloadSize, pDecodedMessageOutputStream);
     378      break;
    379379#endif
    380380#if Q0096_OVERLAY_SEI
    381    case SEI::OVERLAY_INFO:
    382      sei = new SEIOverlayInfo;
    383      xParseSEIOverlayInfo((SEIOverlayInfo&) *sei, payloadSize, pDecodedMessageOutputStream);
    384      break;
     381    case SEI::OVERLAY_INFO:
     382      sei = new SEIOverlayInfo;
     383      xParseSEIOverlayInfo((SEIOverlayInfo&) *sei, payloadSize, pDecodedMessageOutputStream);
     384      break;
    385385#endif
    386386#endif //SVC_EXTENSION
    387    default:
    388      for (UInt i = 0; i < payloadSize; i++)
    389      {
    390        UInt seiByte;
    391        sei_read_code (NULL, 8, seiByte, "unknown prefix SEI payload byte");
    392      }
    393      printf ("Unknown prefix SEI message (payloadType = %d) was found!\n", payloadType);
    394      if (pDecodedMessageOutputStream)
    395      {
    396        (*pDecodedMessageOutputStream) << "Unknown prefix SEI message (payloadType = " << payloadType << ") was found!\n";
    397      }
    398      break;
     387    default:
     388      for (UInt i = 0; i < payloadSize; i++)
     389      {
     390        UInt seiByte;
     391        sei_read_code (NULL, 8, seiByte, "unknown prefix SEI payload byte");
     392      }
     393      printf ("Unknown prefix SEI message (payloadType = %d) was found!\n", payloadType);
     394      if (pDecodedMessageOutputStream)
     395      {
     396        (*pDecodedMessageOutputStream) << "Unknown prefix SEI message (payloadType = " << payloadType << ") was found!\n";
     397      }
     398      break;
    399399    }
    400400  }
     
    539539  }
    540540
    541   sei.m_digest.hash.clear();
     541  sei.m_pictureHash.hash.clear();
    542542  for(;bytesRead < payloadSize; bytesRead++)
    543543  {
    544544    sei_read_code( NULL, 8, val, traceString);
    545     sei.m_digest.hash.push_back((UChar)val);
     545    sei.m_pictureHash.hash.push_back((UChar)val);
    546546    if (pDecodedMessageOutputStream)
    547547    {
     
    858858        sei.m_duCommonCpbRemovalDelayMinus1 = code;
    859859      }
    860       if( sei.m_numNalusInDuMinus1 != NULL )
    861       {
    862         delete sei.m_numNalusInDuMinus1;
    863       }
    864       sei.m_numNalusInDuMinus1 = new UInt[ ( sei.m_numDecodingUnitsMinus1 + 1 ) ];
    865       if( sei.m_duCpbRemovalDelayMinus1  != NULL )
    866       {
    867         delete sei.m_duCpbRemovalDelayMinus1;
    868       }
    869       sei.m_duCpbRemovalDelayMinus1  = new UInt[ ( sei.m_numDecodingUnitsMinus1 + 1 ) ];
     860      sei.m_numNalusInDuMinus1.resize(sei.m_numDecodingUnitsMinus1 + 1 );
     861      sei.m_duCpbRemovalDelayMinus1.resize( sei.m_numDecodingUnitsMinus1 + 1 );
    870862
    871863      for( i = 0; i <= sei.m_numDecodingUnitsMinus1; i ++ )
  • branches/SHM-dev/source/Lib/TLibDecoder/TDecGop.cpp

    r1259 r1273  
    278278{
    279279  /* calculate MD5sum for entire reconstructed picture */
    280   TComDigest recon_digest;
     280  TComPictureHash recon_digest;
    281281  Int numChar=0;
    282282  const Char* hashType = "\0";
     
    319319  {
    320320    ok = "(OK)";
    321     if (recon_digest != pictureHashSEI->m_digest)
     321    if (recon_digest != pictureHashSEI->m_pictureHash)
    322322    {
    323323      ok = "(***ERROR***)";
     
    326326  }
    327327
    328   printf("[%s:%s,%s] ", hashType, digestToString(recon_digest, numChar).c_str(), ok);
     328  printf("[%s:%s,%s] ", hashType, hashToString(recon_digest, numChar).c_str(), ok);
    329329
    330330  if (mismatch)
    331331  {
    332332    g_md5_mismatch = true;
    333     printf("[rx%s:%s] ", hashType, digestToString(pictureHashSEI->m_digest, numChar).c_str());
    334   }
    335 }
    336 
     333    printf("[rx%s:%s] ", hashType, hashToString(pictureHashSEI->m_pictureHash, numChar).c_str());
     334  }
     335}
    337336//! \}
Note: See TracChangeset for help on using the changeset viewer.