NVIDIA C++ 2D Image and Signal Processing Performance Primitives (NPP_Plus)
NPP_Plus Documentation
The NVIDIA C++ 2D Image and Signal Processing Performance Primitives (NPP_Plus) library is a standalone, GPU-accelerated library for image and signal processing.
It provides a rich collection of highly optimized operations for performing common tasks such as filtering, segmentation, distance transforms, morphological operations, and region labeling—all tailored to take full advantage of NVIDIA GPU hardware.
Modern computer vision and image analysis applications often require multi-stage processing pipelines that involve loading, transforming, analyzing, and post-processing large volumes of data. When executed solely on the CPU, these operations can become a bottleneck, limiting the scalability and responsiveness of vision pipelines—especially in real-time and large-scale workloads.
NPP_Plus addresses these challenges by offloading intensive image and signal processing tasks to the GPU.
Built on top of CUDA, NPP_Plus provides high throughput, low-latency GPU primitives with support for batch execution, stream contexts, and multi-GPU acceleration.
In contrast to traditional CPU-based solutions or fragmented GPU utilities, NPP_Plus delivers a portable, unified solution that integrates seamlessly into modern AI pipelines, classical image processing workflows, and CUDA-based applications.
With a consistent API, simplified operator set, and support for modern C++, NPP_Plus enables fast prototyping and production deployment with minimal overhead.
Explore the documentation to learn more about using NPP_Plus for your image and signal processing needs.
Indices and Search
Release Notes
Installation Guides
NPP_Plus API References
- What is NPP_Plus ?
- NPP_Plus General Conventions
- NPP_Plus Image Processing Conventions
- Function Naming
- Image Data
- Image Data Type
- Signal Data Type
- Image Data Channels
- Line Step
- Parameter Names for Image Data
- Passing Source-Image Data
- Source-Image Pointer
- Source-Batch-Images Pointer
- Source-Planar-Image Pointer Array
- Source-Planar-Image Pointer
- Source-Image Line Step
- Source-Planar-Image Line Step Array
- Source-Planar-Image Line Step
- Passing Destination-Image Data
- Destination-Image Pointer
- Destination-Batch-Images Pointer
- Destination-Planar-Image Pointer Array
- Destination-Planar-Image Pointer
- Destination-Image Line Step
- Destination-Planar-Image Line Step
- Passing In-Place Image Data
- In-Place Image Pointer
- In-Place-Image Line Step
- Passing Mask-Image Data
- Mask-Image Pointer
- Mask-Image Line Step
- Passing Channel-of-Interest Data
- Channel_of_Interest Number
- Image Data Alignment Requirements
- Image Data Related Error Codes
- Region-Of-Interest (ROI)
- Masked Operation
- Channel-of-Interest API
- Source-Image Sampling
- NPP_Plus Signal Processing Conventions
- Data Types, Structs, Enums, and Constants
- Core NPP_Plus Functions
- Image Arithmetic And Logical Operations Functions
- Image Color Conversion Functions
- Color Processing Functions
- Color Sampling Format Conversion Functions
- YCbCr420ToYCbCr411
- YCbCr422ToYCbCr422
- YCbCr422ToYCrCb422
- YCbCr422ToCbYCr422
- CbYCr422ToYCbCr411
- YCbCr422ToYCbCr420
- YCrCb420ToYCbCr422
- YCbCr422ToYCrCb420
- YCbCr422ToYCbCr411
- YCrCb422ToYCbCr422
- YCrCb422ToYCbCr420
- YCrCb422ToYCbCr411
- CbYCr422ToYCbCr422
- CbYCr422ToYCbCr420
- CbYCr422ToYCrCb420
- YCbCr420ToYCbCr420
- YCbCr420ToYCbCr422
- YCbCr420ToCbYCr422
- YCbCr420ToYCrCb420
- YCrCb420ToCbYCr422
- YCrCb420ToYCbYCr420
- YCrCb420ToYCbYCr411
- YCbCr411ToYCbCr411
- YCbCr411ToYCbCr422
- YCbCr411ToYCrCb422
- YCbCr411ToYCbCr420
- YCbCr411ToYCrCb420
- NV12ToYUV420
- Image Color Model Conversion Functions
- RGBToYUV
- BGRToYUV
- YUVToRGB
- YUVToRGBBatch
- YUVToRGBBatchAdvanced
- YUVToBGR
- YUVToBGRBatch
- YUVToBGRBatchAdvanced
- RGBToYUV422
- YUV422ToRGB
- YUV422ToRGBBatch
- YUV422ToRGBBatchAdvanced
- YUV422ToBGRBatch
- YUV422ToBGRBatchAdvanced
- RGBToYUV420
- YUV420ToRGB
- YUV420ToRGBBatch
- YUV420ToRGBBatchAdvanced
- NV12ToRGB
- NV21ToRGB
- BGRToYUV420
- YUV420ToBGR
- YUV420ToBGRBatch
- YUV420ToBGRBatchAdvanced
- NV12ToBGR
- NV21ToBGR
- RGBToYCbCr
- YCbCrToRGB
- YCbCrToRGBBatch
- YCbCrToRGBBatchAdvanced
- YCbCrToBGR
- YCbCrToBGRBatch
- YCbCrToBGRBatchAdvanced
- YCbCrToBGR709CSC
- RGBToYCbCr422
- YCbCr422ToRGB
- YCbCr422ToRGBBatch
- YCbCr422ToRGBBatchAdvanced
- RGBToYCrCb422
- YCrCb422ToRGB
- YCbCr422ToBGR
- YCbCr422ToBGRBatch
- YCbCr422ToBGRBatchAdvanced
- RGBToCbYCr422
- CbYCr422ToRGB
- BGRToCbYCr422
- BGRToCbYCr422 709HDTV
- CbYCr422ToBGR
- CbYCr422ToBGR 709HDTV
- RGBToYCbCr420
- YCbCr420ToRGB
- YCbCr420ToRGBBatch
- YCbCr420ToRGBBatchAdvanced
- RGBToYCrCb420
- YCrCb420ToRGB
- BGRToYCbCr420
- BGRToYCbCr420 709CSC
- BGRToYCbCr420 709HDTV
- BGRToYCrCb420 709CSC
- YCbCr420ToBGR
- YCbCr420ToBGRBatch
- YCbCr420ToBGRBatchAdvanced
- YCbCr420ToBGR 709CSC
- YCbCr420ToBGR 709HDTV
- BGRToYCrCb420
- BGRToYCbCr411
- BGRToYCbCr
- YCbCr411ToBGR
- YCbCr411ToRGB
- RGBToXYZ
- XYZToRGB
- RGBToLUV
- LUVToRGB
- BGRToLab
- LabToBGR
- RGBToYCC
- YCCToRGB
- YCCKToCMYK_JPEG
- CMYKOrYCCKJPEGToRGB
- YCCKJPEGOrCMYKToBGR
- RGBToHLS
- HLSToRGB
- BGRToHLS
- HLSToBGR
- RBGToHSV
- HSVToRGB
- JPEG Color Conversion
- Image Data Exchange And Initialization Functions
- Image Set
- Image Masked Set
- Image Channel Set
- Image Copy Operations
- Image Copy
- Image Masked Copy
- Image Copy Channel
- Image Extract Channel Copy
- Image Insert Channel Copy
- Image Packed To Planar Channel Copy
- Image Planar To Packed Channel Copy
- Image Copy Constant Border
- Image Copy Replicate Border
- Image Copy Wrap Border
- Image Copy Sub-Pixel
- Image Convert Bit-Depth
- Image Convert Increase Bit-Depth
- Image Convert Decrease Bit-Depth
- Image Scale Bit-Depth
- Image Scale To Higher Bit-Depth
- Image Scale To Lower Bit-Depth
- Image Duplicate Channel
- Image Transpose
- Image Swap Channels
- Image Filtering Functions
- Image 1D Linear Filters
- 1D Linear Filter
- Image Filter Column
- Image Filter Column Border
- Image Filter Column 32f
- Image Filter Column Border 32f
- Image Filter Row
- Image Filter Row Border
- Image Filter Row 32f
- Image Filter Row Border 32f
- Image Filter 1D Window Sum
- Image Filter 1D Window Column Sum
- Image Filter 1D Window Row Sum
- Image Filter 1D Window Sum Border
- Image Filter 1D Window Column Sum Border
- Image Filter 1D Window Row Sum Border
- Image Convolution
- Image 2D Fixed Linear Filters
- Image Rank Filters
- Image Fixed Filters
- Fixed Filters
- Image Filter Prewitt
- Image Filter Prewitt Border
- Image Filter Scharr
- Image Filter Scharr Border
- Image Filter Sobel
- Image Filter Sobel Border
- Image Filter Roberts
- Image Filter Roberts Border
- Image Filter Laplace
- Image Filter Laplace Border
- Image Filter Gauss
- Image Filter Gauss Advanced
- Image Filter Gauss Border
- Image Filter Gauss Advanced Border
- Image Filter Gauss Pyramid Layer Down Border
- Image Filter Gauss Pyramid Layer Up Border
- Image Filter Bilateral Gauss Border
- Image Filter High Pass
- Image Filter High Pass Border
- Image Filter Low Pass
- Image Filter Low Pass Border
- Image Filter Sharpen
- Image Filter Sharpen Border
- Image Filter Unsharp Border
- Image Filter Wiener Border
- Image Filter Gradient Vector Prewitt Border
- Image Filter Gradient Vector Scharr Border
- Image Filter Gradient Vector Sobel Border
- Image Computer Vision Filtering Functions
- Image Filter Flood Fill
- Label Markers
- LabelMarkers
- Label MarkersUF
- Label MarkersUF Batch
- Label MarkersUF Batch Advanced
- Image Filter Compress Marker Labels
- Image Filter Compress Marker Labels Info
- Compress Marker LabelsUF Info
- Compress Marker LabelsUF Contour Geometry Lists
- Image Filter Contour Pixel Interpolation
- Contours Image Marching Squares Interpolation
- Bound Segments
- Watershed Segmentation
- Image 1D Linear Filters
- Image Geometry Transforms Functions
- Geometric Transform API Specifics
- Geometric Transforms and ROIs
- Image Resize Square Pixel
- Image Resize
- Image Resize Batch
- Image Remap
- Image Rotate
- Image Rotate Utility Functions
- Image Mirror
- Image Affine Transforms
- Image Affine Transform Utility Functions
- Image Affine Transform
- Image Affine Transform Batch
- Image Backwards Affine Transform
- Image Quad Based Affine Transform
- Image Perspective Transforms
- Image Perspective Transform Utility Functions
- Image Perspective Transform
- Image Perspective Transform Batch
- Image Backwards Perspective Transform
- Image Quad Based Perspective Transform
- Image Linear Transforms Functions
- Image Morphological Operations Functions
- Dilation Functions
- Erosion Functions
- Image Complex Morphphological Operations
- Image Statistics Functions
- CommonGetBufferHostSizeParameters
- Image Sum
- Image Min
- Image Min Index
- Image Max
- Image Max Index
- Image MinMax
- Image Mean
- Image Mean StdDev
- Image Norms
- Image DotProd
- Image Count In Range
- Image MaxEvery
- Image MinEvery
- Image Integral
- Image Square Integral
- Image RectStdDev
- Image Histogram Even
- Image Histogram Range
- Image Proximity
- Image Square Distance Full Norm
- Image Square Distance Same Norm
- Image Square Distance Valid Norm
- Image Cross Correlation Full Norm
- Image Cross Correlation Same Norm
- Image Cross Correlation Valid Norm
- Image Cross Correlation Valid
- Image Cross Correlation Full Norm Level
- Image Cross Correlation Same Norm Level
- Image Cross Correlation Valid Norm Level
- Image Cross Correlation Full Norm Level Advanced
- Image Cross Correlation Same Norm Level Advanced
- Image Cross Correlation Valid Norm Level Advanced
- Image Quality Index
- Image Maximum Error
- Image Average Error
- Image Maximum Relative Error
- Image Average Relative Error
- Image Quality Assessment IQA
- Image Batch Quality Assessment
- Image Advanced Batch Quality Assessment
- Image Threshold And Compare Operations Functions
- Image Threshold Operations
- Threshold Operations
- Common parameters for nppiThreshold non-inplace and inplace functions include:
- Image Threshold Greater Than Operations
- Image Threshold Less Than Operations
- Image Threshold Value Operations
- Image Threshold Greater Than Value Operations
- Image Threshold Less Than Value Operations
- Image Fused AbsDiff Threshold Greater Than Value Operations
- Image Threshold Less Than Value Greater Than Value Operations
- Image Comparison Operations
- Image Threshold Operations
- Image Memory Management Functions
- Signal Arithmetic And Logical Operations Functions
- Signal Arithmetic Functions
- Arithmetic Operations
- Signal AddC
- Signal AddProductC
- Signal MulC
- Signal SubC
- Signal SubCRev
- Signal DivC
- Signal DivCRev
- Signal Add
- Signal AddProduct
- Signal Mul
- Signal Sub
- Signal Div
- Signal Div Round
- Signal Abs
- Signal Square
- Signal Square Root
- Signal Cube Root
- Signal Exp
- Signal Ln
- Signal 10Log10
- Signal SumLn
- Signal ArcTan
- Signal Normalize
- Signal Cauchy, CouchyD, And CouchyDD2
- Signal Logical And Shift Operations
- Signal Arithmetic Functions
- Signal Conversion Functions
- Signal Filtering Functions
- Signal Initialization Functions
- Signal Statistical Functions
- Signal Min Every Or Max Every
- Signal Sum
- Signal Maximum
- Signal Minimum
- Signal Mean
- Signal StdDev
- Signal Mean And StdDev
- Signal MinMax
- Signal Norms
- Signal Dot Product
- Signal Count In Range
- Signal Count Zero Crossings
- Signal Maximum Error
- Signal Average Error
- Signal Maximum Relative Error
- Signal Average Relative Error
- Signal Memory Management Functions