NVIDIA DeepStream SDK API Reference

9.0 Release
sources/libs/nvll_osd/cuda/drawOBB.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
24 #ifndef __DRAW_OBB_H__
25 #define __DRAW_OBB_H__
26 
27 #include <stdint.h>
28 #include <cuda_runtime.h>
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
59  uint8_t *image,
60  int width, int height, int pitch,
61  float center_x, float center_y,
62  float obb_width, float obb_height,
63  float angle_rad,
64  cudaStream_t stream,
65  unsigned int r, unsigned int g, unsigned int b,
66  int border_width);
67 
93  uint8_t *image,
94  int width, int height, int pitch,
95  float center_x, float center_y,
96  float obb_width, float obb_height,
97  float angle_rad,
98  cudaStream_t stream,
99  unsigned int r, unsigned int g, unsigned int b,
100  float alpha,
101  int border_width);
102 
125  uint8_t *image,
126  int width, int height, int pitch,
127  float center_x, float center_y,
128  float obb_width, float obb_height,
129  float angle_rad,
130  unsigned int r, unsigned int g, unsigned int b,
131  cudaStream_t stream);
132 
153 void drawOBB_fill_cuda(
154  uint8_t *image,
155  int width, int height, int pitch,
156  float center_x, float center_y,
157  float obb_width, float obb_height,
158  float angle_rad,
159  unsigned int r, unsigned int g, unsigned int b,
160  float alpha,
161  cudaStream_t stream);
162 
192  uint8_t *image,
193  int width, int height, int pitch,
194  float center_x, float center_y,
195  float obb_width, float obb_height,
196  float angle_rad,
197  cudaStream_t stream,
198  unsigned int border_r, unsigned int border_g, unsigned int border_b,
199  int border_width,
200  unsigned int fill_r, unsigned int fill_g, unsigned int fill_b,
201  bool is_filled);
202 
234  uint8_t *image,
235  int width, int height, int pitch,
236  float center_x, float center_y,
237  float obb_width, float obb_height,
238  float angle_rad,
239  cudaStream_t stream,
240  unsigned int border_r, unsigned int border_g, unsigned int border_b,
241  float border_alpha,
242  int border_width,
243  unsigned int fill_r, unsigned int fill_g, unsigned int fill_b,
244  float fill_alpha,
245  bool is_filled);
246 
247 #ifdef __cplusplus
248 }
249 #endif
250 
251 #endif // __DRAW_OBB_H__
252 
cudaStream_t
struct CUstream_st * cudaStream_t
Forward declaration of cudaStream_t.
Definition: sources/includes/nvbufsurftransform.h:35
drawOBB_combined_cuda_unit_alpha
void drawOBB_combined_cuda_unit_alpha(uint8_t *image, int width, int height, int pitch, float center_x, float center_y, float obb_width, float obb_height, float angle_rad, cudaStream_t stream, unsigned int border_r, unsigned int border_g, unsigned int border_b, int border_width, unsigned int fill_r, unsigned int fill_g, unsigned int fill_b, bool is_filled)
Draw OBB with both fill and border (unit alpha, fast path)
drawOBB_fill_cuda
void drawOBB_fill_cuda(uint8_t *image, int width, int height, int pitch, float center_x, float center_y, float obb_width, float obb_height, float angle_rad, unsigned int r, unsigned int g, unsigned int b, float alpha, cudaStream_t stream)
Fill OBB with alpha blending.
drawOBB_combined_cuda
void drawOBB_combined_cuda(uint8_t *image, int width, int height, int pitch, float center_x, float center_y, float obb_width, float obb_height, float angle_rad, cudaStream_t stream, unsigned int border_r, unsigned int border_g, unsigned int border_b, float border_alpha, int border_width, unsigned int fill_r, unsigned int fill_g, unsigned int fill_b, float fill_alpha, bool is_filled)
Draw OBB with both fill and border (with alpha blending)
drawOBB_border_cuda
void drawOBB_border_cuda(uint8_t *image, int width, int height, int pitch, float center_x, float center_y, float obb_width, float obb_height, float angle_rad, cudaStream_t stream, unsigned int r, unsigned int g, unsigned int b, float alpha, int border_width)
Draw OBB border with alpha blending.
drawOBB_border_cuda_unit_alpha
void drawOBB_border_cuda_unit_alpha(uint8_t *image, int width, int height, int pitch, float center_x, float center_y, float obb_width, float obb_height, float angle_rad, cudaStream_t stream, unsigned int r, unsigned int g, unsigned int b, int border_width)
Draw OBB border with unit alpha (opaque, fast path)
drawOBB_fill_cuda_unit_alpha
void drawOBB_fill_cuda_unit_alpha(uint8_t *image, int width, int height, int pitch, float center_x, float center_y, float obb_width, float obb_height, float angle_rad, unsigned int r, unsigned int g, unsigned int b, cudaStream_t stream)
Fill OBB with solid color (unit alpha, fast path)