How to configure ISP on tx2

How can we use ISP on TX2. Does/will nVidia provide some APIs to use them or ISP functionaries will be appear gst plugins? In our usecase, we are trying to transplant imx214?

-Bayer domain hardware noise reduction
-Per-channel black-level compensation
-High-order lens-shading compensation
-3x3 color transform
-Bad pixel correction
-Programmable coefficients for de-mosaic with color artifact reduction
Color Artifact Reduction: a two-level (horizontal and vertical) low-pass filtering scheme that is used to reduce/remove
any color artifacts that may result from Bayer signal processing and the effects of sampling an image.
-Enhanced down scaling quality
-Edge Enhancement

@jinggui

You can download the document from below link to check the Libargus Camera API for current public feature.

https://developer.nvidia.com/embedded/dlc/l4t-documentation-28-1

I would like to ask is how to use tx2 ISP to deal with the image to sensor collection,any API ?

If you just only want to use bayer sensor on TX2 you just need to follow the sensor programing guide to develop your sensor driver. Then you can use gstreamer to launch it. But if you want to manually control the ISP feature only the API as I mention #2.

jinggui,

Adding more info to Shane’s reply, The sensor driver and device tree for the IMX214 should be programmed as mentioned in the documentation. This is the primary requirement. If the driver implementation has no issues and follow’s Nvidia’s guidelines, the sensor is automatically configured using V4L2 APIs by the argus libraries. All you have to do at the application level is to use the appropriate libargus APIs and design your camera application. You can get the sample application by downloading the tegra_multimedia package using Jetpack 3.1.

Another way to configure ISP is using nvidia’s gstreamer plugin (nvcamerasrc) or APIs. But this method is deprecated and might be removed in the future. Best way to go is libargus.