NVIDIA DeepStream SDK API Reference
5.0 Release
Welcome
API Modules
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
nvbufsurftransform.h
Go to the documentation of this file.
1
21
#ifndef NVBUFSURFTRANSFORM_H_
22
#define NVBUFSURFTRANSFORM_H_
23
#include <stdio.h>
24
#include <cuda.h>
25
#include <cuda_runtime.h>
26
#include <npp.h>
27
#include "
nvbufsurface.h
"
28
29
#ifdef __cplusplus
30
extern
"C"
{
31
#endif
32
42
typedef
enum
43
{
46
NvBufSurfTransformCompute_Default
,
48
NvBufSurfTransformCompute_GPU
,
50
NvBufSurfTransformCompute_VIC
51
}
NvBufSurfTransform_Compute
;
52
53
57
typedef
enum
58
{
60
NvBufSurfTransform_None
,
62
NvBufSurfTransform_Rotate90
,
64
NvBufSurfTransform_Rotate180
,
66
NvBufSurfTransform_Rotate270
,
68
NvBufSurfTransform_FlipX
,
70
NvBufSurfTransform_FlipY
,
72
NvBufSurfTransform_Transpose
,
74
NvBufSurfTransform_InvTranspose
,
75
}
NvBufSurfTransform_Flip
;
76
77
81
typedef
enum
82
{
84
NvBufSurfTransformInter_Nearest
= 0,
86
NvBufSurfTransformInter_Bilinear
,
88
NvBufSurfTransformInter_Algo1
,
90
NvBufSurfTransformInter_Algo2
,
92
NvBufSurfTransformInter_Algo3
,
94
NvBufSurfTransformInter_Algo4
,
96
NvBufSurfTransformInter_Default
97
}
NvBufSurfTransform_Inter
;
98
102
typedef
enum
103
{
105
NvBufSurfTransformError_ROI_Error
= -4,
107
NvBufSurfTransformError_Invalid_Params
= -3,
109
NvBufSurfTransformError_Execution_Error
= -2,
111
NvBufSurfTransformError_Unsupported
= -1,
113
NvBufSurfTransformError_Success
= 0
114
}
NvBufSurfTransform_Error
;
115
119
typedef
enum
{
121
NVBUFSURF_TRANSFORM_CROP_SRC
= 1,
123
NVBUFSURF_TRANSFORM_CROP_DST
= 1 << 1,
125
NVBUFSURF_TRANSFORM_FILTER
= 1 << 2,
127
NVBUFSURF_TRANSFORM_FLIP
= 1 << 3,
128
}
NvBufSurfTransform_Transform_Flag
;
129
133
typedef
enum
{
135
NVBUFSURF_TRANSFORM_COMPOSITE
= 1,
136
}
NvBufSurfTransform_Composite_Flag
;
137
141
typedef
struct
142
{
144
uint32_t
top
;
146
uint32_t
left
;
148
uint32_t
width
;
150
uint32_t
height
;
151
}
NvBufSurfTransformRect
;
152
156
typedef
struct
_NvBufSurfTransformConfigParams
157
{
160
NvBufSurfTransform_Compute
compute_mode
;
161
163
int32_t
gpu_id
;
164
167
cudaStream_t
cuda_stream
;
168
169
}
NvBufSurfTransformConfigParams
;
170
174
typedef
struct
_NvBufSurfaceTransformParams
175
{
177
uint32_t
transform_flag
;
179
NvBufSurfTransform_Flip
transform_flip
;
181
NvBufSurfTransform_Inter
transform_filter
;
184
NvBufSurfTransformRect
*
src_rect
;
187
NvBufSurfTransformRect
*
dst_rect
;
188
}
NvBufSurfTransformParams
;
189
193
typedef
struct
_NvBufSurfTransformCompositeParams
194
{
196
uint32_t
composite_flag
;
198
uint32_t
input_buf_count
;
200
NvBufSurfTransformRect
*
src_comp_rect
;
203
NvBufSurfTransformRect
*
dst_comp_rect
;
204
}
NvBufSurfTransformCompositeParams
;
205
218
NvBufSurfTransform_Error
NvBufSurfTransformSetSessionParams
219
(
NvBufSurfTransformConfigParams
*config_params);
220
230
NvBufSurfTransform_Error
NvBufSurfTransformGetSessionParams
231
(
NvBufSurfTransformConfigParams
*config_params);
232
256
NvBufSurfTransform_Error
NvBufSurfTransform
(
NvBufSurface
*src,
NvBufSurface
*dst,
257
NvBufSurfTransformParams
*transform_params);
258
278
NvBufSurfTransform_Error
NvBufSurfTransformComposite
(
NvBufSurface
*src,
279
NvBufSurface
*dst,
NvBufSurfTransformCompositeParams
*composite_params);
280
281
#ifdef __cplusplus
282
}
283
#endif
284
#endif
NvBufSurfTransformRect::left
uint32_t left
Holds the rectangle left side.
Definition:
nvbufsurftransform.h:146
_NvBufSurfTransformCompositeParams::dst_comp_rect
NvBufSurfTransformRect * dst_comp_rect
Holds destination rectangle coordinates of input buffers for compositing.
Definition:
nvbufsurftransform.h:203
nvbufsurface.h
NvBufSurface Interface
NvBufSurfTransformParams
struct _NvBufSurfaceTransformParams NvBufSurfTransformParams
Holds transform parameters for a transform call.
NVBUFSURF_TRANSFORM_CROP_DST
Specifies a transform to crop the destination rectangle.
Definition:
nvbufsurftransform.h:123
_NvBufSurfaceTransformParams::transform_flag
uint32_t transform_flag
Holds a flag that indicates which transform parameters are valid.
Definition:
nvbufsurftransform.h:177
NvBufSurfTransform
NvBufSurfTransform_Error NvBufSurfTransform(NvBufSurface *src, NvBufSurface *dst, NvBufSurfTransformParams *transform_params)
Performs a transformation on batched input images.
NvBufSurfTransform_Transform_Flag
NvBufSurfTransform_Transform_Flag
Specifies transform types.
Definition:
nvbufsurftransform.h:119
NvBufSurfTransformCompositeParams
struct _NvBufSurfTransformCompositeParams NvBufSurfTransformCompositeParams
Holds composite parameters for a composite call.
NvBufSurfTransformError_ROI_Error
Specifies an error in source or destination ROI.
Definition:
nvbufsurftransform.h:105
_NvBufSurfTransformCompositeParams::composite_flag
uint32_t composite_flag
Holds a flag that indicates which composition parameters are valid.
Definition:
nvbufsurftransform.h:196
NvBufSurfTransformComposite
NvBufSurfTransform_Error NvBufSurfTransformComposite(NvBufSurface *src, NvBufSurface *dst, NvBufSurfTransformCompositeParams *composite_params)
Composites batched input images.
_NvBufSurfTransformConfigParams::compute_mode
NvBufSurfTransform_Compute compute_mode
Holds the mode of operation: VIC (Jetson) or GPU (iGPU + dGPU) If VIC is configured, gpu_id is ignored.
Definition:
nvbufsurftransform.h:160
NvBufSurfTransformCompute_Default
Specifies VIC as a compute device for Jetson or dGPU for an x86_64 system.
Definition:
nvbufsurftransform.h:46
NvBufSurfTransformError_Unsupported
Specifies an unsupported feature or format.
Definition:
nvbufsurftransform.h:111
_NvBufSurfTransformCompositeParams::input_buf_count
uint32_t input_buf_count
Holds the number of input buffers to be composited.
Definition:
nvbufsurftransform.h:198
_NvBufSurfaceTransformParams::transform_flip
NvBufSurfTransform_Flip transform_flip
Holds the flip method.
Definition:
nvbufsurftransform.h:179
NVBUFSURF_TRANSFORM_CROP_SRC
Specifies a transform to crop the source rectangle.
Definition:
nvbufsurftransform.h:121
_NvBufSurfTransformCompositeParams::src_comp_rect
NvBufSurfTransformRect * src_comp_rect
Holds source rectangle coordinates of input buffers for compositing.
Definition:
nvbufsurftransform.h:200
NVBUFSURF_TRANSFORM_FILTER
Specifies a transform to set the filter type.
Definition:
nvbufsurftransform.h:125
NvBufSurfTransform_Transpose
Specifies video flip transpose.
Definition:
nvbufsurftransform.h:72
NVBUFSURF_TRANSFORM_FLIP
Specifies a transform to set the flip method.
Definition:
nvbufsurftransform.h:127
NvBufSurfTransform_FlipX
Specifies video flip with respect to the X-axis.
Definition:
nvbufsurftransform.h:68
_NvBufSurfaceTransformParams::transform_filter
NvBufSurfTransform_Inter transform_filter
Holds a transform filter.
Definition:
nvbufsurftransform.h:181
NvBufSurfTransform_Rotate180
Specifies rotating 180 degree clockwise.
Definition:
nvbufsurftransform.h:64
_NvBufSurfaceTransformParams::src_rect
NvBufSurfTransformRect * src_rect
Holds a pointer to a list of source rectangle coordinates for a crop operation.
Definition:
nvbufsurftransform.h:184
NvBufSurfTransformRect::height
uint32_t height
Holds the rectangle height.
Definition:
nvbufsurftransform.h:150
_NvBufSurfTransformConfigParams::cuda_stream
cudaStream_t cuda_stream
User configure stream to be used.
Definition:
nvbufsurftransform.h:167
NvBufSurfTransformRect::top
uint32_t top
Holds the rectangle top.
Definition:
nvbufsurftransform.h:144
NvBufSurfTransform_None
Specifies no video flip.
Definition:
nvbufsurftransform.h:60
NvBufSurfTransformCompute_GPU
Specifies that the GPU is the compute device.
Definition:
nvbufsurftransform.h:48
NvBufSurfTransform_Composite_Flag
NvBufSurfTransform_Composite_Flag
Specifies types of composition operations.
Definition:
nvbufsurftransform.h:133
NvBufSurfTransform_Rotate270
Specifies rotating 270 degree clockwise.
Definition:
nvbufsurftransform.h:66
NvBufSurfTransform_Inter
NvBufSurfTransform_Inter
Specifies video interpolation methods.
Definition:
nvbufsurftransform.h:81
NvBufSurfTransformRect
Holds the coordinates of a rectangle.
Definition:
nvbufsurftransform.h:141
NvBufSurfTransformSetSessionParams
NvBufSurfTransform_Error NvBufSurfTransformSetSessionParams(NvBufSurfTransformConfigParams *config_params)
Sets user-defined session parameters.
NvBufSurfTransform_Compute
NvBufSurfTransform_Compute
Specifies compute devices used by NvBufSurfTransform.
Definition:
nvbufsurftransform.h:42
NvBufSurface
Holds information about batched buffers.
Definition:
nvbufsurface.h:278
_NvBufSurfTransformConfigParams
Holds configuration parameters for a transform/composite session.
Definition:
nvbufsurftransform.h:156
NvBufSurfTransformRect::width
uint32_t width
Holds the rectangle width.
Definition:
nvbufsurftransform.h:148
NvBufSurfTransformError_Success
Specifies a successful operation.
Definition:
nvbufsurftransform.h:113
NvBufSurfTransformError_Invalid_Params
Specifies invalid input parameters.
Definition:
nvbufsurftransform.h:107
NvBufSurfTransformInter_Default
Specifies GPU-Nearest, VIC-Nearest interpolation.
Definition:
nvbufsurftransform.h:96
NvBufSurfTransformInter_Nearest
Specifies Nearest Interpolation Method interpolation.
Definition:
nvbufsurftransform.h:84
NvBufSurfTransformGetSessionParams
NvBufSurfTransform_Error NvBufSurfTransformGetSessionParams(NvBufSurfTransformConfigParams *config_params)
Gets the session parameters used by NvBufSurfTransform().
NvBufSurfTransform_FlipY
Specifies video flip with respect to the Y-axis.
Definition:
nvbufsurftransform.h:70
NvBufSurfTransformInter_Algo3
Specifies GPU-Lanzos, VIC-Smart interpolation.
Definition:
nvbufsurftransform.h:92
NvBufSurfTransformCompute_VIC
Specifies that the VIC as a compute device.
Definition:
nvbufsurftransform.h:50
_NvBufSurfTransformCompositeParams
Holds composite parameters for a composite call.
Definition:
nvbufsurftransform.h:193
NvBufSurfTransformInter_Algo4
Specifies GPU-Ignored, VIC-Nicest interpolation.
Definition:
nvbufsurftransform.h:94
NvBufSurfTransformInter_Algo2
Specifies GPU-Super, VIC-10 Tap interpolation.
Definition:
nvbufsurftransform.h:90
NvBufSurfTransform_InvTranspose
Specifies video flip inverse transpose.
Definition:
nvbufsurftransform.h:74
NvBufSurfTransformError_Execution_Error
Specifies a runtime execution error.
Definition:
nvbufsurftransform.h:109
NvBufSurfTransform_Flip
NvBufSurfTransform_Flip
Specifies video flip methods.
Definition:
nvbufsurftransform.h:57
NvBufSurfTransform_Rotate90
Specifies rotating 90 degrees clockwise.
Definition:
nvbufsurftransform.h:62
NvBufSurfTransformInter_Algo1
Specifies GPU-Cubic, VIC-5 Tap interpolation.
Definition:
nvbufsurftransform.h:88
NvBufSurfTransformConfigParams
struct _NvBufSurfTransformConfigParams NvBufSurfTransformConfigParams
Holds configuration parameters for a transform/composite session.
NvBufSurfTransformInter_Bilinear
Specifies Bilinear Interpolation Method interpolation.
Definition:
nvbufsurftransform.h:86
_NvBufSurfaceTransformParams
Holds transform parameters for a transform call.
Definition:
nvbufsurftransform.h:174
NVBUFSURF_TRANSFORM_COMPOSITE
Specifies a flag to describe the requested compositing operation.
Definition:
nvbufsurftransform.h:135
NvBufSurfTransform_Error
NvBufSurfTransform_Error
Specifies error codes returned by NvBufSurfTransform functions.
Definition:
nvbufsurftransform.h:102
_NvBufSurfaceTransformParams::dst_rect
NvBufSurfTransformRect * dst_rect
Holds a pointer to list of destination rectangle coordinates for a crop operation.
Definition:
nvbufsurftransform.h:187
_NvBufSurfTransformConfigParams::gpu_id
int32_t gpu_id
Holds the GPU ID to be used for processing.
Definition:
nvbufsurftransform.h:163
Advance Information | Subject to Change | Generated by NVIDIA | Wed Apr 29 2020 12:09:53 | PR-09318-R32