The release notes of JetPack 4.5 mention that " V4L2 API is extended to support interacting with CSI Camera. Implementation is compliant with V4L2 spec.".
I expected the cameras to be now fully accessible via v4l2 but this does not seem to be the case: Querying the /dev/video device still yields the same video formats and controls as with older JetPack versions. How does accessing the ISP functions via v4l2 work with JetPack 4.5?
2 Likes
Have a check the source for the nvv4l2camerasrc for the csi camera.(gst-nvv4l2camera_src.tbz2)
https://developer.nvidia.com/embedded/L4T/r32_Release_v5.0/sources/T186/public_sources.tbz2
Hi @ShaneCCC ,
I had a look at the nvv4l2camerasrc element and it’s source code. I did not find any reference to the new v4l2 api extensions mentioned in my first post though. To handle CSI/argus cameras through the v4l2 API, I would expect the element to have the pixelformat V4L2_PIX_FMT_NV12M (‘NM12’) in it’s format caps, but it is not present. The element only exposes a ‘UYVY’ format but this is not a native format of the ISP.
The element also does not handle the new ARGUS controls like V4L2_CID_ARGUS_AUTO_WHITE_BALANCE_MODE
and the like.
I also did not find any reference in the kernel code of the new v4l2 extension. How could this new vl42 extension be used?
The pixel format the same with the J4.4 argus don’t support V4L2_PIX_FMT_NV12M for the CSI ISP pipeline.
Current arch like
APP <==> v4l2 <==> argus <==> sensor driver
@ShaneCCC
How can I access the camera via the API described in this document:
https://docs.nvidia.com/jetson/l4t-multimedia/group__V4L2Argus.html
?
In the JetPack 4.5 Release Notes, the new v4l2 support is mentioned in this section: Release Notes :: NVIDIA JetPack Documentation
Multimedia API
- V4L2 API is extended to support interacting with CSI Camera. Implementation is compliant with V4L2 spec.
Could you please clarify what this release note topic actually means?
My previous comment may not correct.
Have reference to multimedia api sample code.
/usr/src/jetson_multimedia_api/samples/unittest_samples/camera_unit_sample/camera_unit_sample_ctrls.cpp