|
|
NVIDIA DeepStream SDK API Reference
|
9.1 Release
|
Go to the documentation of this file.
18 #ifndef _CONVBUFMANAGER_H
19 #define _CONVBUFMANAGER_H
24 #include <condition_variable>
26 #include <cuda_runtime.h>
28 #include "nvbufsurface.h"
29 #include "nvbufsurftransform.h"
31 #define MAX_BUFFER_POOL_SIZE 2 // Set surface buffer pool size as a fixed number.
39 bool init(uint32_t batchSize, int32_t gpuId, int32_t compute_hw,
54 return (m_FreeQueue.empty());
63 std::vector<NvBufSurface *> m_BufferSet;
70 bool m_IntentionallyEmpty;
76 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.
#define MAX_BUFFER_POOL_SIZE
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.
Holds parameters required to allocate an NvBufSurface.