CUDA ISP for NVIDIA Jetson: Getting Started - Evaluating the CUDA ISP
CUDA ISP for NVIDIA Jetson |
---|
CUDA ISP for NVIDIA Jetson Basics |
Getting Started |
User Manual |
GStreamer |
Examples |
Performance |
Contact Us |
Requesting the Evaluation Binary
To request an evaluation binary for a specific architecture, don't hesitate to get in touch with us, providing the following information:
- Platform (i.e.: TX1, TX2, x86)
- Operating System version, including:
- Kernel version. Use
uname -a
- Distribution version.
- Kernel version. Use
- If you are on Jetson:
- Jetpack version
- L4T version
- CUDA and NPP library version
Moreover, please, provide a brief description of your use case.
RidgeRun will provide you with the binaries to evaluate CUDA ISP with some limitations.
Features of the Evaluation
To help you test our CUDA ISP library, RidgeRun can provide an evaluation version of the plug-in.
The following table summarizes the features available in the professional and evaluation versions of CUDA ISP.
Feature | Professional | Evaluation |
---|---|---|
C++ headers | Y | Y |
CUDA ISP Examples | Y | Y |
GStreamer plugin | Y | Y |
Unlimited Processing Time | Y | N (1) |
Source Code | Y | N |
(1) The evaluation version will limit the processing to a maximum of 27000 executions. You can also ask for a time-limited evaluation.
Evaluating CUDA ISP
Installing dependencies
CUDA ISP has the following dependencies:
- CUDA/NPPI
- libspdlog
- GstCUDA
To see how to install these dependencies, follow this link: Building CUDA ISP.
Installing CUDAISP
RidgeRun will provide you with a tarball with the following contents:
├── usr │ └── local │ ├── include │ │ └── libcudaisp │ │ ├── buffer.hpp │ │ ├── colorspaceparams.hpp │ │ ├── cudabufferparams.hpp │ │ ├── cudatype.hpp │ │ ├── debayerparams.hpp │ │ ├── format.hpp │ │ ├── ialgorithm.hpp │ │ ├── ibackend.hpp │ │ ├── ilogger.hpp │ │ ├── iparams.hpp │ │ ├── isettings.hpp │ │ ├── isp.hpp │ │ ├── runtimeerror.hpp │ │ ├── shiftparams.hpp │ │ └── whitebalanceparams.hpp │ └── lib │ └── aarch64-linux-gnu / x86_64-linux-gnu │ ├── gstreamer-1.0 │ │ └── libgstcudaisp.so │ └── libcudaisp.so └── examples ├── bin | ├── cudadebayer | ├── cudashift | └── cudawhitebalancer └── src ├── cudadebayer_example.cpp ├── cudashift_example.cpp ├── cudawhitebalancer_example.cpp ├── framereader.cpp ├── framereader.hpp └── Makefile
After decompressing the files, please, copy the contents to the target machine:
sudo cp -r usr/$(uname -m)-linux-gnu/* /usr/$(uname -m)-linux-gnu/ # Export the GStreamer plugin-path export GST_PLUGIN_PATH=/usr/local/lib/$(uname -m)-linux-gnu/gstreamer-1.0
Testing CUDA ISP
To validate that the installation was successful, run the following command:
gst-inspect-1.0 cudaisp
You should see the following output:
Plugin Details: Name cudaisp Description GStreamer LibCudaISP-based elements Filename /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstcudaisp.so Version 0.1.0 License Proprietary Source module libcudaisp Binary package libcudaisp Origin URL RidgeRun cudaawb: GstCUDA AWB cudadebayer: GstCUDA Debayer cudashift: GstCUDA Shift 3 features: +-- 3 elements
To see more on how to use these elements, please, click the following link: GStreamer Usage for CUDA ISP
Examples
The C++ examples provided are one for each element:
- cudadebayer
- cudashift
- cudawhitebalancer
The example binaries are compiled after building. If the build directory is build:
examples ├── cudadebayer ├── cudashift └── cudawhitebalancer
- cudadebayer: The cudadebayer example receives four arguments:
- Input path file (bayer8)
- Output path file (rgb)
- Width
- Height
To run the example:
./cudadebayer input_file.bayer8 output_file.rgb width height
- cudashift: The cudashift example receives five arguments:
- Input path file (bayer {10, 12, 14, 16})
- Output path file (bayer8)
- Width
- Height
- Shift right value
To run the example:
./cudashift input_file.bayer10 output_file.bayer8 width height shift_number
- cudawhitebalancer: The cudawhitebalancer example receives four arguments:
- Input path file (rgb)
- Output path file (rgb)
- Width
- Height
To run the example:
./cudadebayer input_file.rgb output_file.rgb width height
For the API usage, you can also use the examples available in our User Manual.