|
NVIDIA DeepStream SDK API Reference
|
6.4 Release
|
Go to the documentation of this file.
13 #ifndef _CONVBUFMANAGER_H
14 #define _CONVBUFMANAGER_H
19 #include <condition_variable>
21 #include <cuda_runtime.h>
26 #define MAX_BUFFER_POOL_SIZE 2 // Set surface buffer pool size as a fixed number.
34 bool init(uint32_t batchSize, int32_t gpuId, int32_t compute_hw,
49 return (m_FreeQueue.empty());
58 std::vector<NvBufSurface *> m_BufferSet;
65 bool m_IntentionallyEmpty;
71 std::queue<NvBufSurface *> m_FreeQueue;
struct NvBufSurfTransformSyncObj * NvBufSurfTransformSyncObj_t
Holds the information about synchronization objects for asynchronous transform/composite APIs.
NvBufSurface * convertBatchAsync(NvBufSurface *pBatchIn, NvBufSurfTransformSyncObj_t *bufSetSyncObjs)
Perform surface transform for a batch asynchronously.
Holds information about batched buffers.
bool isQueueFull()
Getter.
void syncBuffer(NvBufSurface *pBufferSet, NvBufSurfTransformSyncObj_t *bufSetSyncObjs)
Wait until surface transform is finished.
bool init(uint32_t batchSize, int32_t gpuId, int32_t compute_hw, NvBufSurfaceCreateParams &bufferParam, const bool empty)
void returnBuffer(NvBufSurface *pBufferSet)
Return unused buffer.
#define MAX_BUFFER_POOL_SIZE
Copyright (c) 2019, NVIDIA CORPORATION.
Holds parameters required to allocate an NvBufSurface.