Evaluating the CUDA ISP

From RidgeRun Developer Wiki


Previous: CUDA_ISP_for_NVIDIA_Jetson_Basics Index Next: Getting Started/Getting the code






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.: NVIDIA family boards, x86)
  • Operating System version, including:
    • Kernel version. Use uname -a
    • Distribution version.
  • If you are on Jetson:
    • Jetpack version
    • L4T version
  • CUDA and NPP library versions

Moreover, please, provide a brief description of your use case.

RidgeRun will provide you with the binaries to evaluate the 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
Table 1. Features provided in the evaluation version

(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 and testing CUDA ISP

RidgeRun will provide you with a tarball with the contents of the evaluation version of the CUDA ISP library.

To test the binary for the evaluation version of CUDA ISP, please:

  • Install the required dependencies.
  • Decompress the tarball
  • Run the following command:
./configuration.sh

Testing CUDA ISP elements

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:

rr
└── examples 
        ├── cudadebayer
        ├── cudashift
        └── cudawhitebalancer
  • cudadebayer: The cudadebayer example receives four arguments:
  1. Input path file (bayer8)
  2. Output path file (rgb)
  3. Width
  4. Height

To run the example:

./cudadebayer input_file.bayer8 output_file.rgb width height
  • cudashift: The cudashift example receives five arguments:
  1. Input path file (bayer {10, 12, 14, 16})
  2. Output path file (bayer8)
  3. Width
  4. Height
  5. 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:
  1. Input path file (rgb)
  2. Output path file (rgb)
  3. Width
  4. Height

To run the example:

./cudadebayer input_file.rgb output_file.rgb width height

For API usage, you can also use the examples available in our User Manual.




Previous: CUDA_ISP_for_NVIDIA_Jetson_Basics Index Next: Getting Started/Getting the code