Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
6729 Discussions

h264Decoder not decoding last frame in video stream

sschaem
Beginner
582 Views
Here is my finding:
- The h264 Decoder says its running out of source data a few frames before the end of the files.
Calling
umcRes = m_umc.decoder->GetFrame(m_umc.mediaData, m_umc.videoData);
returnsUMC::UMC_ERR_NOT_ENOUGH_DATA
and
umcRes = m_umc.splitter->GetNextData(m_umc.mediaData, m_umc.nVideoTrack);
returns
UMC::UMC_ERR_END_OF_STREAM
So there is no more data to give to the decoder.
In my test case a file with 2247 frames get 2244 frames decode and then return the above.
But if I loop the file, by calling this when reachingUMC::UMC_ERR_END_OF_STREAM
m_umc.splitter->SetTimePosition(0);
// m_umc.decoder->Reset() // Dont reset the decoder to see what happen
The decoder returns the missing frames!
Conclusion: It seem that decoder want more data then it needs to decode the last frames in a file.
I suggest that the UMC team devise a test that decode only the last frame of a file.
1) Seek to the last frame start time
2) From the actual position (iframe) , decode N frame to reach the last frame
It cannot be done with the h264 decoder...
Thanks for looking in to this,
Stephan
0 Kudos
2 Replies
PaulF_IntelCorp
Employee
582 Views
Hello Stephan,
I've seen something like this reported before, looking for some threads that are related. Found this one, not sure if it helps.
Will provide more feedback as I find it.
Paul
0 Kudos
sschaem
Beginner
582 Views
Thanks,
I seen this thread but its not related since I can seek correctly.
(Beside reset() crashing the decoder when its initialed to use >1 thread , see my other post)
I will try with another decoder (mpeg2) ... and report on monday
Stephan
0 Kudos
Reply