NVIDIA DeepStream SDK API Reference

8.0 Release
9.0/sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess_allocator.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2021 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 
13 #ifndef __GSTNVDSPREPROCESSALLOCATOR_H__
14 #define __GSTNVDSPREPROCESSALLOCATOR_H__
15 
16 #include <cuda_runtime_api.h>
17 #include <gst/gst.h>
18 #include <vector>
19 #include "cudaEGL.h"
20 #include "nvbufsurface.h"
21 
32 typedef struct
33 {
35  NvBufSurface *surf;
37  std::vector<CUgraphicsResource> cuda_resources;
39  std::vector<CUeglFrame> egl_frames;
41  void *dev_memory_ptr;
43  std::vector<void *> frame_memory_ptrs;
45 
55 
59 typedef struct {
61  guint width;
63  guint height;
65  NvBufSurfaceColorFormat color_format;
67  guint batch_size;
69  NvBufSurfaceMemType memory_type;
71 
82 GstAllocator *gst_nvdspreprocess_allocator_new (GstNvDsPreProcessVideoBufferAllocatorInfo *info, size_t raw_buf_size,
83  guint gpu_id, gboolean debug_tensor);
84 
85 #endif
NvBufSurface
Holds information about batched buffers.
Definition: sources/includes/nvbufsurface.h:597
GstNvDsPreProcessVideoBufferAllocatorInfo
structure containing video buffer allocator info
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess_allocator.h:59
gst_nvdspreprocess_buffer_get_memory
GstNvDsPreProcessMemory * gst_nvdspreprocess_buffer_get_memory(GstBuffer *buffer)
Get GstNvDsPreProcessMemory structure associated with buffer allocated using GstNvDsPreProcessAllocat...
NvBufSurfaceMemType
NvBufSurfaceMemType
Specifies memory types for NvBufSurface.
Definition: sources/includes/nvbufsurface.h:350
gst_nvdspreprocess_allocator_new
GstAllocator * gst_nvdspreprocess_allocator_new(GstNvDsPreProcessVideoBufferAllocatorInfo *info, size_t raw_buf_size, guint gpu_id, gboolean debug_tensor)
Create a new GstNvDsPreProcessAllocator with the given parameters.
GstNvDsPreProcessMemory
This file describes the custom memory allocator for the Gstreamer TensorRT plugin.
Definition: sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess_allocator.h:32
NvBufSurfaceColorFormat
NvBufSurfaceColorFormat
Defines color formats for NvBufSurface.
Definition: sources/includes/nvbufsurface.h:105
GstBuffer
struct _GstBuffer GstBuffer
Definition: sources/includes/ds3d/common/idatatype.h:19