- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear all,
two questions regarding H264 decoding.
1. We are testing a h264 decoder that we originally took from IPP 6.0 (including sample code) and it works very well. Now I came accross this article http://software.intel.com/en-us/articles/intel-ipp-library-61-fixes-list/ with the issue DPD200134487 described as UMC H264 parser memory leak. Does it mean, that every h264 decoder based on Ipp 6.0 is leaking memory? We have not observed this behaviour so far,where can we find more information about this issue?
2. Question to Vladimir. There is an old thread http://software.intel.com/en-us/forums/showthread.php?t=63540&o=a&s=lr regarding an issue we had in the past with H264 decoding whichwas finally tracked down by an intel expert to a corrupted h264 stream. We inspected the attached H264 frame (attached to the original thread) but could not find any problem with the stream (SPS header and VUI). Is it possible to describe in more detail what exactly is corrupted in the stream?
Thanks very much in advance
Best regards
Alex
two questions regarding H264 decoding.
1. We are testing a h264 decoder that we originally took from IPP 6.0 (including sample code) and it works very well. Now I came accross this article http://software.intel.com/en-us/articles/intel-ipp-library-61-fixes-list/ with the issue DPD200134487 described as UMC H264 parser memory leak. Does it mean, that every h264 decoder based on Ipp 6.0 is leaking memory? We have not observed this behaviour so far,where can we find more information about this issue?
2. Question to Vladimir. There is an old thread http://software.intel.com/en-us/forums/showthread.php?t=63540&o=a&s=lr regarding an issue we had in the past with H264 decoding whichwas finally tracked down by an intel expert to a corrupted h264 stream. We inspected the attached H264 frame (attached to the original thread) but could not find any problem with the stream (SPS header and VUI). Is it possible to describe in more detail what exactly is corrupted in the stream?
Thanks very much in advance
Best regards
Alex
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Alex,
In reply to your question #1 regarding DPD200134487, details below.
Regards,
Paul
- - - - DPD200134487 detailed description - - - -
This bug was identified in IPP 6.0 and corrected in the initial release of IPP 6.1.
There is a memory leak in the UMC H264 parser implementation. The parsing structures overwrite their std::vector's base class with zeros, thus preventing std::vector from freeing its memory. The fix follows. It simply avoids overwriting the STL vector which has already been initialized by its own constructor.
In reply to your question #1 regarding DPD200134487, details below.
Regards,
Paul
- - - - DPD200134487 detailed description - - - -
This bug was identified in IPP 6.0 and corrected in the initial release of IPP 6.1.
There is a memory leak in the UMC H264 parser implementation. The parsing structures overwrite their std::vector's base class with zeros, thus preventing std::vector from freeing its memory. The fix follows. It simply avoids overwriting the STL vector which has already been initialized by its own constructor.
--- audio-video-codecs\codec\h264_spl\include\umc_h264_parse_def.h
+++ audio-video-codecs\codec\h264_spl\include\umc_h264_parse_def.h
@@ -93,7 +93,7 @@
H264SequenceSetParse()
{
- memset(this, 0, sizeof(H264SequenceSetParse));
+ memset(this, 0, sizeof(*this) - sizeof(buffer));
}
};
@@ -112,7 +112,7 @@
H264PictureSetParse()
{
- memset(this, 0, sizeof(H264PictureSetParse));
+ memset(this, 0, sizeof(*this) - sizeof(buffer));
}
};
@@ -138,8 +138,7 @@
H264SliceHeaderParse()
{
- memset(this, 0, sizeof(H264SliceHeaderParse));
- is_valid = false;
+ memset(this, 0, sizeof(*this));
}
};
} // namespace UMC
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Alex,
Regarding your question #2, I've asked Vladimir to review your question.
Paul
Regarding your question #2, I've asked Vladimir to review your question.
Paul
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Alex,
Response from the engineer, regarding the incomplete header:
There was [an] incomplete sps header at bitstream (incomplete VUi part of sps). A few bytes was absent. For example: lets, you have correct original bitstream with sps and VUI. Lets, size of SPS with VUI is 10 bytes. This corrupted stream contains only 7 bytes of sps with VUI. So, 3 bytes are lost
Regards,
Paul
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page