I’m using v4l2 4K HEVC encoder in my application, but it is not running at 30 fps. I am able to get around 20-22 fps. To isolate the issue I used the sample video encode application present in the multimedia API package. I found that gap between v4l2 dequeue callbacks were 70 ~ 50 ms.
I modified sample app to print the dequeue time and ran it as follows
./video_encode input_I420.yuv 3840 2160 H265 output.h265
I realised that file read and file write could be taking time, so I disabled both. With that the throughput improved ( 37 ms => 26 fps), but its still not 30 fps.
Are there any suggestions on how to get 4K 30 HEVC encode with the sample code?
I can share my updates to the sample code if needed.