What hardware is used by "nvjpegenc" (gstreamer) on Jetson TX2?

Hello,

On my Jetson TX2 (L4T 28.2), I am using a gstreamer pipeline to access 3 streams of 4K 60fps CSI cameras.

In this pipeline, I am using “nvjpegenc” to encode the frames for writing .jpeg, which is hardware accelerated. Sometime soon, I will also use (in a separate “tee” + “queue”) encode the frames in h264 with “omxh264enc”, which is also hardware accelerated.

I would like to anticipate hardware encoder access conflict using both omxh264enc and nvjpegenc. I read somewhere that the TX2’s hardware encoder can encode 3x 4K 60fps. The maximum capacities of this encoder will be used for encoding my 3 streams with omxh264enc alone.


Does nvjpegenc use the same hardware encoder, which would result in the max performances of both elements be capped ?
If not, what hardware does nvjpegenc use ?

Thanks in advance for any info/pointer you might share.
Regards,

Hi,

No, , it does not use same hardware. It uses JPEG block as shown in Figure 1.
https://developer.nvidia.com/embedded/dlc/parker-series-trm
The max capability is 600MP/sec

For H264 encoding on TX2, below capability is listed in software features:
3840 x 2160 at
30 fps
Up to 120 Mbps
Although it lists 4Kp30, it should be OK to run 1x 4Kp60. 3x 4kp60 cannot be achieved.

Please check software features in
https://developer.nvidia.com/embedded/dlc/l4t-documentation-28-3

Hi DaneLLL,

Thank you very much for the info and for the doc!

Regards