Difference between revisions of "CUDA ISP for NVIDIA Jetson/Getting Started/Evaluating the CUDA ISP"

From RidgeRun Developer Connection
Jump to: navigation, search
(Features of the Evaluation)
Line 7: Line 7:
 
== Requesting the Evaluation Binary ==
 
== 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:
+
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)
 
* Platform (i.e.: TX1, TX2, x86)
Line 18: Line 18:
 
* CUDA and NPP library 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
+
RidgeRun will provide you with the binaries to evaluate CUDA ISP with some limitations.
  
 
<center>
 
<center>
Line 29: Line 30:
 
To help you test our CUDA ISP library, RidgeRun can provide an evaluation version of the plug-in.  
 
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 both the professional and evaluation version of CUDA ISP.
+
The following table summarizes the features available in the professional and evaluation versions of CUDA ISP.
  
 
<center>
 
<center>
Line 49: Line 50:
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
     <td>GstCUDAISP plugin</td>
+
     <td>GStreamer plugin</td>
 
     <td style="background-color:#DAF7A6">Y</td>  
 
     <td style="background-color:#DAF7A6">Y</td>  
 
     <td style="background-color:#DAF7A6">Y</td>
 
     <td style="background-color:#DAF7A6">Y</td>
Line 76: Line 77:
 
* GstCUDA
 
* GstCUDA
  
To see how to install this dependencies, follow this link: [[CUDA_ISP_for_NVIDIA_Jetson/Getting_Started/Building_CUDA_ISP_for_NVIDIA_Jetson|Building CUDA ISP]].
+
To see how to install these dependencies, follow this link: [[CUDA_ISP_for_NVIDIA_Jetson/Getting_Started/Building_CUDA_ISP_for_NVIDIA_Jetson|Building CUDA ISP]].
  
 
=== Installing CUDAISP ===
 
=== Installing CUDAISP ===
Line 89: Line 90:
 
         ├── include
 
         ├── include
 
         │   └── libcudaisp
 
         │   └── libcudaisp
         │      ├── buffer.hpp
+
         │      ├── buffer.hpp
         │      ├── colorspaceparams.hpp
+
         │      ├── colorspaceparams.hpp
         │      ├── debayerparams.hpp
+
         │      ├── cudabufferparams.hpp
         │      ├── ialgorithm.hpp
+
        │      ├── cudatype.hpp
         │      ├── ibackend.hpp
+
        │      ├── debayerparams.hpp
         │      ├── ilogger.hpp
+
         │      ├── format.hpp
         │      ├── iparams.hpp
+
        │      ├── ialgorithm.hpp
         │      ├── isettings.hpp
+
         │      ├── ibackend.hpp
         │      ├── isp.hpp
+
         │      ├── ilogger.hpp
         │      └── shiftparams.hpp
+
         │      ├── iparams.hpp
 +
         │      ├── isettings.hpp
 +
         │      ├── isp.hpp
 +
         │      ├── runtimeerror.hpp
 +
        │      ├── shiftparams.hpp
 +
        │      └── whitebalanceparams.hpp
 
         └── lib
 
         └── lib
             └── aarch64-linux-gnu
+
             └── aarch64-linux-gnu / x86_64-linux-gnu
 
                 ├── gstreamer-1.0
 
                 ├── gstreamer-1.0
 
                 │   └── libgstcudaisp.so
 
                 │   └── libgstcudaisp.so
Line 110: Line 116:
  
 
<syntaxhighlight lang=bash>
 
<syntaxhighlight lang=bash>
sudo cp -r usr/local/* /usr/local/
+
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
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 118: Line 127:
 
gst-inspect-1.0 cudaisp
 
gst-inspect-1.0 cudaisp
 
</source>
 
</source>
Yo should see the following output:  
+
You should see the following output:  
 
<source long=bash>
 
<source long=bash>
 
Plugin Details:
 
Plugin Details:
Line 137: Line 146:
 
   +-- 3 elements
 
   +-- 3 elements
 
</source>
 
</source>
To see more on how to use this elements, please, click the following link: [[CUDA_ISP_for_NVIDIA_Jetson/Examples/GStreamer_usage|GStreamer Usage for CUDA ISP]]
+
To see more on how to use these elements, please, click the following link: [[CUDA_ISP_for_NVIDIA_Jetson/Examples/GStreamer_usage|GStreamer Usage for CUDA ISP]]
  
 
=== Examples ===
 
=== Examples ===
Line 148: Line 157:
 
The example binaries are compiled after building. If the build directory is build:  
 
The example binaries are compiled after building. If the build directory is build:  
 
<pre>
 
<pre>
└── rr
+
examples  
  └── examples  
+
    ├── cudadebayer
       ├── cudadebayer
+
    ├── cudashift
       ├── cudashift
+
    └── cudawhitebalancer
       └── cudawhitebalancer
 
 
 
 
</pre>
 
</pre>
  
Line 188: Line 195:
  
 
For the API usage, you can also use the examples available in our [http://ridgerun.pages.ridgerun.com/rnd/libcudaisp/examples.html User Manual].
 
For the API usage, you can also use the examples available in our [http://ridgerun.pages.ridgerun.com/rnd/libcudaisp/examples.html User Manual].
 
 
 
 
 
 
 
 
 
 
 
  
  

Revision as of 09:38, 30 March 2023



  Index  





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.
  • 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.

RR Contact Us.png

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 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

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:
  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 the API usage, you can also use the examples available in our User Manual.




  Index