Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
6757 Discussions

does the H264 encoder of IPP spawning extra threads?

gennadii_mog
Beginner
383 Views
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
383 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.
0 Kudos
Vladimir_Dudnik
Employee
383 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
0 Kudos
Reply