Community
cancel
Showing results for 
Search instead for 
Did you mean: 
gennadii_mog
Beginner
94 Views

does the H264 encoder of IPP spawning extra threads?

Hi

I ran the Shark profiler on Mac OS X, in order to profile our application, and noticed that functions from the IPP H264 encoder appear on several threads. Yet, our application only calls it from one thread.

Can I therefore assume that the H264 encoder of IPP is spawning extra threads? and if so, why? it makes our life harder if we want to manually distribute threads across multiple cores

thanks for any idea,
Lior
0 Kudos
2 Replies
pvonkaenel
New Contributor III
94 Views

Quoting - gennadii.mog
Hi

I ran the Shark profiler on Mac OS X, in order to profile our application, and noticed that functions from the IPP H264 encoder appear on several threads. Yet, our application only calls it from one thread.

Can I therefore assume that the H264 encoder of IPP is spawning extra threads? and if so, why? it makes our life harder if we want to manually distribute threads across multiple cores

thanks for any idea,
Lior

Both the H.264 specific IPP routines and the H.264 encoder within the UMC sample contain OpenMP for threading. If you do not want to use OpenMP or wish to reduce the number of threads it uses, you can specify the number of threads in a call to ippSetNumThreads(). See the user's guide for details about the call.
Vladimir_Dudnik
Employee
94 Views


Small correction. Almost all video coding functions do not contain internal threading due to relatevely small amount of data they process in one call. For media codecs we implement threading on top of IPP, on codec level. So, to control number of threads you need to use appropriate UMC parameter, please check with H.264 readme.htm or UMC manual for more details.

The ippSetNumThreads function can only control number of threads to be spawned by IPP functions (many of IPPimage processing and computer vision functions are threaded)

Regards,
Vladimir
Reply