multiple encoding and decoding

Hi ,I am newbie on Jetson TX2.
I have a question about video encode / decode.

  1. According to the specifications of the board, the hw encoder supports

500 MP/sec
1x 4K @ 60 (HEVC)
3x 4K @ 30 (HEVC)
4x 1080p @ 60 (HEVC)
8x 1080p @ 30 (HEVC)

and the hw decoder supports

1000 MP/sec
2x 4K @ 60 (HEVC)
4x 4K @ 30 (HEVC)
7x 1080p @ 60 (HEVC)
14x 1080p @ 30 (HEVC).

Does ‘4x 1080p’ means that it can process four 1080 videos in parallel at once?

  1. If the above questions are correct,
    How should I use gstreamer to do multi-encoding / decoding in parallel?

  2. ’ tegrastats ’ command only knows the current frequency of the hw encoder, not the percentage.
    Is there any other way to confirm that we are doing multi-encoding?

Hi,

Yes.

Here is a gstreamer sample of running four transcoding threads:
https://devtalk.nvidia.com/default/topic/979908/jetson-tx1/gstreamer-transcoding-performance-issue/post/5033461/#5033461
The sample uses omxh264dec and omxh265enc. We are deprecating omx plugins and you may use v4l2 plugins. For more samples, please check gstreamer user guide:
https://developer.nvidia.com/embedded/dlc/l4t-accelerated-gstreamer-guide-32-2

For multiple encoding threads, we suggest use nvv4l2h264enc and set ‘maxperf-enable=1’.

Thank you for the reply.

Can the omx or nxv4l2 encoder split a frame into several and execute with multiple threads?
“x264enc” plugin for gstreamer using cpu has a “sliced-threads” option.
https://gstreamer.freedesktop.org/documentation/x264/index.html?gi-language=c#x264enc:sliced-threads
The omx and v4l2 plug-ins do not have thread-specific options.

Hi,
It looks to be for running encoding on multiple CPU cores. We have independent hardware engines for encoding and decoding, so this is not supported.