Time consuming problem about nvds_obj_enc_process interface

Hello,I use nvds_obj_enc_process interface to do jpeg encode .When 16 1920 * 1080 resolution images are input at the same time, the actual test time is 99 ms, but we want to achieve within 80 ms. Do you have any methods to optimize the time?

**• Hardware Platform:JETSON XAVIER NX
**• DeepStream Version:5.0
**• JetPack Version:4.4

1 Like

It will take some time to check this requirement.

This may be a hardware limitation.

How do you measure the time? Can you tell us the steps?

Hello,you can use demo to test elapsed time in the appendix(batch_jpeg_encode function).The hardware platform power mode should set to MODE2 15W 6CORE.deepstream-image-meta-test.tar.gz (2.7 MB)

Is there any conclusion to this question?Has the performance of JPEG coding reached the highest limit of hardware?

According to our internal benchmark, current jpeg encoder max perf is ~284fps@1080p

Do you also use the nvds_obj_enc_process interface for testing? Why can’t I get this performance with my demo test? Can you test it with my demo?

Have you enabled max power when you test the performance?

  1. $ sudo nvpmodel -m 2
  2. $ sudo jetson_clocks

I have already set up power mode 2.But I don’t execute step 2.I will test it.

I performed steps 1 and 2, but the time spent did not change significantly.Can you test it with my demo?

Or provide your internal benchmark demo for me, and the corresponding input.

No. We can not provide internal test tool. The test is for pure encoding time, it is not the same with nvds_obj_enc_process interface.

I’ve tested your code with latest DS5.1(JetPack4.5.1), the result is 77ms.

My test version is DS5.0(JetPack4.4),Is there any optimization and update for the nvds_obj_enc_process interface in the latest DS5.1(JetPack4.5.1) version? Do you test in DS5.0(JetPack4.4) version?

We will suggest all customers to upgrade to latest JetPack4.5.1 and DS5.1. There are lots of bug fix and improvement in new version.