We found that jetpack 4.x 5.x uses/dev/nvhost-msenc. 6.x uses/dev/v4l2-nvenc. We tested on version 6.2 and found that 1. The encoding time is 10ms lon

We found that jetpack 4.x 5.x uses/dev/nvhost-msenc. 6.x uses/dev/v4l2-nvenc. We tested on version 6.2 and found that 1. The encoding time is 10ms longer than that of 4.x 5.x using/dev/nvhost-msenc. 2. The frequency is always very low. Please ask what caused this. thank

麻烦关注一下

*** Please note that this reply is generated by LLM automatically ***

The question is related to the differences in performance and behavior between Jetpack 4.x/5.x and Jetpack 6.x on Jetson AGX Orin devices, specifically regarding video encoding using devnvhostmsenc and devv4l2nvenc.

Background

Jetpack is a software development kit (SDK) provided by NVIDIA for its Jetson embedded systems. It includes a Linux operating system, libraries, and tools for developing applications on Jetson devices. Jetpack versions 4.x and 5.x use devnvhostmsenc for video encoding, while Jetpack 6.x uses devv4l2nvenc.

Differences in encoding time and frequency

The question reports two main differences between Jetpack 4.x/5.x and Jetpack 6.x:

  1. Encoding time: Jetpack 6.x takes 10ms longer to encode video compared to Jetpack 4.x/5.x using devnvhostmsenc.
  2. Frequency: The frequency is always very low on Jetpack 6.x.

Possible causes

To understand the causes of these differences, let’s analyze the changes between Jetpack 4.x/5.x and Jetpack 6.x:

  • Switch from devnvhostmsenc to devv4l2nvenc: Jetpack 6.x uses devv4l2nvenc, which is a new video encoding interface introduced in Jetpack 6.x. This change might be responsible for the differences in encoding time and frequency.
  • Changes in kernel and driver versions: Jetpack 6.x likely includes updated kernel and driver versions, which might affect the performance and behavior of video encoding.
  • Power management and thermal throttling: Jetson AGX Orin devices have power management and thermal throttling features to prevent overheating and reduce power consumption. These features might be more aggressive in Jetpack 6.x, leading to lower frequencies and longer encoding times.

Comparison of devnvhostmsenc and devv4l2nvenc

devnvhostmsenc and devv4l2nvenc are two different video encoding interfaces used in Jetpack. Here’s a brief comparison:

  • devnvhostmsenc: This interface is used in Jetpack 4.x and 5.x. It provides a direct interface to the NVIDIA video encoder hardware, allowing for low-latency and high-performance video encoding.
  • devv4l2nvenc: This interface is introduced in Jetpack 6.x. It provides a more standardized and flexible interface for video encoding, allowing for better integration with other Linux components. However, it might introduce additional overhead and latency compared to devnvhostmsenc.

Conclusion

The differences in encoding time and frequency between Jetpack 4.x/5.x and Jetpack 6.x on Jetson AGX Orin devices are likely caused by the switch from devnvhostmsenc to devv4l2nvenc, as well as changes in kernel and driver versions, and power management features. To optimize video encoding performance on Jetpack 6.x, developers might need to adjust their applications to take advantage of the new devv4l2nvenc interface and optimize power management settings.

*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***

please help me

Hi,
We don’t think there is deviation between Jetpack 5 and 6. Please try the command on AGX Orin developer kit with Jetpack 5.1.5 and 6.2.1:

gst-launch-1.0 -v videotestsrc ! video/x-raw,width=1280,height=720,format=I420 ! nvvidconv ! "video/x-raw(memory:NVMM)" ! nvv4l2h265enc maxperf-enable=1 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0

The performance is supposed to be identical.