- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
However, when I call decoder.GetFrame(&dataIn, &dataOut)I receive an error: UMC_ERR_NOT_ENOUGH_DATA.
My understanding was that I-Frames were complete images. If I'm correct, then why does the decoder fail?
Can anyone help, or suggest a workaround?
Thanks.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi markiemooster,
When GetFrame() returns UMC_ERR_NOT_ENOUGH_DATA it doesn't indeedmean an error.
Please check the call for GetFrame()with NULL parameter passed, after the decoding loop in in order to get the buffered frames.
Please check this usefularticle: "Getting Started with Intel IPP Unified Media Classes Sample"
URL: http://software.intel.com/en-us/articles/getting-started-with-intel-ipp-unified-media-classes-sample/#comment-39983
Also, check the UMC Reference Manual (umc-manual.pdf)->Example 4-38 H.264 Decoder Main Working Cycle.
Regards,- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jmason and Tamer's suggestionlooks right.May you try to call GetFrame() with NULL parameterto get buffered frame andlet us know how it works.
Thereare somelong dicussions about H.264 decoder frame delay. I search one for your reference
http://software.intel.com/en-us/forums/showthread.php?t=67755
Regards,
Ying
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Ying and everyone else offering help. I'm still having problems.
To clarify, I have only one I-Frame prefixed with SPS/PPS and no more data.
I have the following code fragment and it does notexit from the do-while loop:
// Decompress the frame
UMC::Status status= m_decoder.GetFrame(&m_dataIn, &m_dataOut);
// Check if decompression was successful, otherwise try again
if (status != UMC::UMC_OK)
{
// Retrieve any data that has been buffered by IPP
do
{
status= m_decoder.GetFrame(NULL, &m_dataOut);
}
while (status == UMC::UMC_ERR_NOT_ENOUGH_DATA);
}
What am I doing wrong?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Try overriding the value set/stored in TaskSupplier::SetDPBSize(). I have not tried overriding the stored value with 0 but it might give you the result you are looking for.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks everyone, I managed to get this working in the end.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am also experiencing the same decoding problem you have mentioned for h264 decoding.
Could you please explain how did you manage to solve the issue?
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page