Hello, we use Orin-NX-16GB and sdk-3644. We developed a camera and can capture image. Now we want to change the ROI but we found that if TEGRA_CAMERA_CID_VI_CAPTURE_TIMEOUT is 3s, so we need to wait 3s to change the ROI. This is weired. Is this right?How can we solve this problem?
Current Tegra camera v4l2 framework don’t support the ROI. Do you implement the ROI control function by yourself?
Yes, we change the image format. For example, original image is 1920x1080, we close the stream and change the format to 500x200 using VIDIOC_S_FORMAT. And sensor also be changed to output 500x200 image.
I think take few time to change the sensor mode is normally.
Thanks
Yes, normally the cost time should be less than 1000ms. But we found if we set TEGRA_CAMERA_CID_VI_CAPTURE_TIMEOUT for 3s, the cost time will be more than 3s. If we set TEGRA_CAMERA_CID_VI_CAPTURE_TIMEOUT for 10s, the cost time will be more than 10s. And if we set TEGRA_CAMERA_CID_VI_CAPTURE_TIMEOUT for 100ms, there will be another problem which will lost image or produce stream error.
Suppose you need take time to profile it to narrow each stage to analysis.
I didn’t understand what you meant. I’d like to confirm if the phenomenon I observed now is normal? Does the TEGRA_CAMERA_CID_VI_CAPTURE_TIMEOUT affect the time of stream-on/off?
Suppose yes, When stop streaming the capture need to consume the capture queue.
If so, could this time be shortened? Also, could you please explain the reason for using the TEGRA_CAMERA_CID_VI_CAPTURE_TIMEOUT mechanism on Jetson?
You can check the vi5_fops.c for the detail.
Thanks