NvMediaIJPECreate multi-threads

Please provide the following info (check/uncheck the boxes after clicking “+ Create Topic”):
Software Version
[*] DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version

Target Operating System
[*] Linux

Hardware Platform
NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
[*] NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)

SDK Manager Version

Host Machine Version
[*] native Ubuntu 18.04

Hi Nvidia folks,

I am wondering how many NvMediaIJPECreate instances can I create and how many threads can call NvMediaIJPEFeedFrame/NvMediaIJPEFeedFrameQuant simultaneously to get the max utilization of the HW?

Another question is how is NvMediaIJPECreate different from NvMediaIEPCreate? Do they use the same HW for encoding?

Thank you!

Hi @ranchen ,

NvMediaIJPE is for JPEG encode and NvMediaIEP is for video encode.
Could you describe more detail about your use cases? Thanks.

@VickNV I need to encode (yuv to jpg) images from camera modules. Should I encode all images in a single thread (using NvMediaIJPE APIs) or can I do some parallelism, i.e. calling NvMediaIJPE in multiple threads? If parallelism is possible, how many threads to max the performance/throughput?

We will check with the team internally and update you. Thanks.

Both XavierA&B have their single jpeg processing block. The two blocks on XavierA&B respectively can be used in parallel. You may use SW multi-threaded application for anyone, but need to keep in mind that it ultimately will go to single HW block.

@VickNV Is there a sweet spot of the number of threads I can use? Are there single-threaded benchmarks documented somewhere?

We don’t have the benchmark result. You can do your own tests.

@VickNV Thank you!

Similar question for NvMedia2DCreate related APIs, how many HW blocks and can I use the API in multi-threaded application?

Also does the 2D API support yuv422 to yuv420 conversion? Thank you!

Hi @ranchen ,

Please create other topics for your questions. Thus a topic title will be obvious for other developers having the same question. Thanks.

@VickNV Sure, created a new topic. Thanks!