- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, all,
My application has a memory pool, and any buffer used is allocated from this pool. For EVS codec encoding/decoding, I also get buffer from this pool. But there is buffer corrupted after calling encode/decode function.
Due to my memory pool is managed by a library and I do not have its source code. I did a test that there is no buffer corrupted if I do not call encode/decode function. So I suspect that ippsc library maybe corrupt user buffer.
Please help me, and if you have similar issue. Thanks.
========================
Linux x86_64 platform.
IPPSP: ippSP AVX (e9) Sep 2 2016 9.0.2 (r49804).PVSDK 1.2.1
IPPSC: ippSC AVX (e9) Mar 24 2017 9.0.2 (r49804).PVSDK 1.5.0
IPPAPI(UWord16, ippsIntel_EVS_Encoder_Exec, (
void *pCntxt,
Word16 *data,
Word16 n_samples,
Indice_fx *ind_list
))
IPPAPI(UWord16, ippsIntel_EVS_Decoder_Exec, (
void *pCntxt,
UWord8 *pInput_BitStream, /* pointer to input bit stream */
Word16 *pOutput /* pointer to buffer for output synthesis */
))
Regards, Chason
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Chason,
Do you have issue when calling ippsc library? What version of IPP do you have? IPPSC package had been deprecated since IPP 9.0.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Shaojuan Z. (Intel) wrote:
Hi Chason,
Do you have issue when calling ippsc library? What version of IPP do you have? IPPSC package had been deprecated since IPP 9.0.
Hello, Shaojuan,
Thanks for your reply.
Yes, I suspect that ippsc EVS encode/decode function will corrupt other buffer. But I do not know what make this corruption.
My IPP core version is 9.0.2. And IPPSC library is released in PVSDK product which supports the EVS codec.
Thanks, Chason
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Update my new finding.
1. The memory is not corrupted, but my app crashed on free memory function free_buf(). However this function is not system native free().
2. This issue maybe has relation with compiler option: -O3 and –g. Because I use different compiler option to build the codec file( this file will invoke the ippsc encode/decode function), there is different crash function.
So I have another question: if there are some necessary requirements for static linking ippsc library? Thanks.
Regards. Chason
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Update again.
To be precise, my stack memory rather than heap memory was corrupted.
Because I enlarged my process stack size, and this crash issue was gone. Actually, my application is based on a private system, and its process stack size is very small (about 40 kbytes).
Maybe IPPSC EVS codec encode/decode implememting consume more stack size.
Thanks, Chason
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Try the latest PVSDK 1.9.0
I believe it is fixed
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
A stack of 40k is probably too small. It's more like 90k.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page