TDA4VM: The encoder under v4l2 frame has a multi-channel frame rate of less than 25 frames in SDK8.1

Part Number: TDA4VM

Hi team,

Based on the V4L2 encode provided by this link, the customer wants to implement the coded output capability of the multi-camera, but the frame rate cannot exceed 20 for the multi-output. The customer tested as follows: 

1) Test 60*5=300 frame data in a straight yuv file loop using the provided program, and find that picture coding frame rates vary for different resolutions, with an average frame rate of 61.96 for 720p, around 20 frames for 1080p, and around 35 frames for 1920*1280.

2) Later, when the camera data was accessed, it was found that the frame rate was normal for a single channel of various resolutions but that the frame rate would be degraded for multiple channels. 1920*1280 the two-channel frame rate is around 16, the three-channel frame rate is around 10, and other resolutions such as 1280*960 the four-channel frame rate is around 8 frames (25 or more for single-channel testing). 

The code rate is 40000000, and I-frame encoding only. Max_OUTBUFS and MAX_CAPBUFS are both 2, V4L2_memory_Mmap mode. Debug found that the queue_buffer function can take up to 27 ms to execute.

Could you please help confirm if the above issue exists? How to modify to resolve this issue on SDK8.1? If possible, could you please help share examples of multi-channel applications?


Best Regards,