I'm trying to enable the abilities of threaded version of IPP 8.2 into our video file player (just software).
I'd like to perform some video analytics parallel to video playback.
The simplest solution is to update the results of video analytics after a new frame acquisition.
If we will have about 30 frames per second, we will have to spend no more than 33 ms for results update.
In fact 33 ms is enough but... in my previous conversation on this forum a got the information that Open MP keeps threads alive not less than 300 ms (something like KMP_BLOCK_TIME).
In that case number of threads will grow and our video player will have something like explosion.
My questions are:
1. Is it possible to call some IPP function that uses internal threading every 33 ms?
2. What is standard way of threaded IPP usage for parallel data acquisition and data processing?
I don't see why you need to kill and make a new thread everytime you need to process the result. Threads are going to wait a certain amount of time for the next coming parallel works and will take them if they arrive in time. So you won't get a thread explotion.
External threading is recommended instead of Internal threading due to the confusion that can be cause by duplicating parallelization. Of course you can choose to install Internal Threaded IPP but we do recommend using external.