Keep non timing SEIs (#352)
With the H264 option 'Insert SEI and VUI data if absent' or 'Always rebuild SEI and VUI data': In case timing SEIs are not found, all SEIs (timing and non timing) are currently removed nd replaced with timing SEIs. This patch corrects this: only the timing SEIs are removed, the non-timing SEIs (such as private date e.g. x264 decoding parameters) are kept.
This commit is contained in:
parent
5ad13c99f2
commit
0440dc0f0f
@ -911,19 +911,15 @@ bool H264StreamReader::skipNal(uint8_t* nal)
|
||||
}
|
||||
else if (nalType == nuSEI)
|
||||
{
|
||||
return true;
|
||||
/*
|
||||
SEIUnit sei;
|
||||
uint8_t* nextNal = NALUnit::findNALWithStartCode(nal, m_bufEnd, true);
|
||||
sei.decodeBuffer(nal, nextNal);
|
||||
sei.deserialize(*(m_spsMap.begin()->second), orig_hrd_parameters_present_flag);
|
||||
sei.deserialize(*(m_spsMap.begin()->second),
|
||||
orig_hrd_parameters_present_flag || orig_vcl_parameters_present_flag);
|
||||
|
||||
for (std::set<int>::iterator itr = sei.m_processedMessages.begin(); itr != sei.m_processedMessages.end(); ++itr)
|
||||
{
|
||||
if (*itr == SEI_MSG_BUFFERING_PERIOD || *itr == SEI_MSG_PIC_TIMING)
|
||||
return true;
|
||||
}
|
||||
*/
|
||||
if (sei.m_processedMessages.find(SEI_MSG_BUFFERING_PERIOD) != sei.m_processedMessages.end() ||
|
||||
sei.m_processedMessages.find(SEI_MSG_PIC_TIMING) != sei.m_processedMessages.end())
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user