Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
9 Views

IppiFilterBorderSpec

Hello,

 

I'm working on a parallel working programm, which initializes the ippiFilterBorderSpec struct using ippiFilterBorderInit_32f function in a other thread, than it is later used. When the initialization of all ippiFilterBorderSpecs is done (I use a arbitrary number), they were copyed at a syncronized place, so that the thread using ippiFilterBorder_32f_C1R function doesn't have to do the initialzation due to performance. After any parameter change the ippiFilterBorderSpecs were new initialized and I see, that the content of the ippiFilterBorderSpec struct differs on two places, although the same input parameters were used. The differences appear at byte  80 and byte 96 in the structure, counting from 0. I don't understand why they should differ? Can somebody please tell me more about the composition of the ippiFilterBorderSpec?

 

Thank & regards,

Hans

 

 

0 Kudos
3 Replies
Highlighted
Employee
9 Views

Hi Hans.

Are your pointers provided to ippiFilterBorder_32f_C1R aligned on 64 byte? It is not necessary because ippiFilterBorderGetSize requests memory size with reserve for such alignment. But in this case contents of two specs may differ. 

Thanks for your question.

0 Kudos
Highlighted
New Contributor II
9 Views

Maybe IppiFilterBorderSpec​ has internal pointers, like IppiResizeSpec. Don't memcpy the struct, just share the pointer.

0 Kudos
Highlighted
Employee
9 Views

 A "spec" structure can shared by the different calls if they are having the same parameters.  so it does not need to create another copy.

Thanks,
Chao

0 Kudos