Pleora Technologies Inc. eBUS SDK v7.0.1.7536 API



PvCudaBufferConverter.h
Go to the documentation of this file.
1 // *****************************************************************************
2 //
3 // Copyright (c) 2025, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __PVCUDABUFFERCONVERTER_H__
8 #define __PVCUDABUFFERCONVERTER_H__
9 
10 #include <PvBuffer.h>
11 #include <PvCudaBuffer.h>
12 
13 
14 namespace PvBufferLib
15 {
16 class CudaBufferConverter;
17 }
18 
21 
25 
29 
33 
35 {
38 
39 };
40 
41 
66 
67 class PV_BUFFER_API PvCudaBufferConverter
68 {
69 public:
74 
79 
97  static bool IsConversionSupported( PvPixelType aSource, PvPixelType aDestination );
98 
107 
122 
137  PvResult Convert( const PvBuffer* aSource, PvBuffer* aDestination, bool aEnableCudaUVM );
138 
153  PvResult Convert( const PvBuffer* aSource,
154  PvCudaBuffer* aCudaDestination,
155  bool aEnableCudaUVM );
156 
157 
158 private:
159  // Not implemented
161  const PvCudaBufferConverter& operator=( const PvCudaBufferConverter& );
162 
163  // Not implemented
164  PvResult Convert( const PvCudaBuffer* aCudaSource,
165  PvCudaBuffer* aCudaDestination,
166  bool aEnableCudaUVM );
167 
168  PvBufferLib::CudaBufferConverter* mThis;
169 
170  // Default block size for CUDA
171  uint32_t mBlockSize = 16;
172 }; // End of PvCudaBufferConverter
173 
174 #endif
PvCudaBayerFilterType
Filter settings for PvBufferConverter::SetBayerFilter.
Definition: PvCudaBufferConverter.h:35
@ PvCudaBayerFilterSimple
2x2 nearest neighbor used when converting from Bayer.
@ PvCudaBayerFilter3X3
3x3 kernel considered when converting from Bayer.
PvPixelType
Definition: PvPixelType.h:51
Represents a block of GigE Vision or USB3 Vision data in memory.
Definition: PvBuffer.h:111
Used to convert a PvBuffer to another pixel type.
Definition: PvCudaBufferConverter.h:68
PvResult Convert(const PvBuffer *aSource, PvCudaBuffer *aCudaDestination, bool aEnableCudaUVM)
Convert a PvBuffer from one format to another, with another PvBuffer to store the output.
PvResult SetCudaBayerFilter(PvCudaBayerFilterType aFilter)
Set the optional Bayer filtering for this converter.
PvCudaBufferConverter()
Constructor.
virtual ~PvCudaBufferConverter()
Destructor.
static bool IsConversionSupported(PvPixelType aSource, PvPixelType aDestination)
Test if a pixel type can be converted to another type.
PvCudaBayerFilterType GetCudaBayerFilter() const
Retrieves current optional Bayer filtering.
PvResult Convert(const PvBuffer *aSource, PvBuffer *aDestination, bool aEnableCudaUVM)
Convert a PvBuffer from one format to another, with another PvBuffer to store the output.
Represents a block of Cuda data in memory either on host, device side or both if using UVM.
Definition: PvCudaBuffer.h:44
Result information.
Definition: PvResult.h:30

Copyright (c) 2002-2026 Pleora Technologies Inc.
www.pleora.com