1 #ifndef NDPluginCodec_H
2 #define NDPluginCodec_H
6 #define NDCodecModeString "MODE"
7 #define NDCodecCompressorString "COMPRESSOR"
8 #define NDCodecCompFactorString "COMP_FACTOR"
9 #define NDCodecCodecStatusString "CODEC_STATUS"
10 #define NDCodecCodecErrorString "CODEC_ERROR"
11 #define NDCodecJPEGQualityString "JPEG_QUALITY"
12 #define NDCodecBloscCompressorString "BLOSC_COMPRESSOR"
13 #define NDCodecBloscCLevelString "BLOSC_CLEVEL"
14 #define NDCodecBloscShuffleString "BLOSC_SHUFFLE"
15 #define NDCodecBloscNumThreadsString "BLOSC_NUMTHREADS"
69 NDPluginCodec(
const char *portName,
int queueSize,
int blockingCallbacks,
70 const char *NDArrayPort,
int NDArrayAddr,
71 int maxBuffers,
size_t maxMemory,
72 int priority,
int stackSize,
int maxThreads);
76 asynStatus
writeInt32(asynUser *pasynUser, epicsInt32 value);
80 #define FIRST_NDCODEC_PARAM NDCodecMode
Class from which actual plugin drivers are derived; derived from asynNDArrayDriver.
Definition: NDPluginDriver.h:58
int NDCodecCodecStatus
Definition: NDPluginCodec.h:83
Definition: NDPluginCodec.h:38
Definition: NDPluginCodec.h:44
virtual asynStatus writeInt32(asynUser *pasynUser, epicsInt32 value)
Called when asyn clients call pasynInt32->write().
Definition: NDPluginDriver.cpp:678
int NDCodecCodecError
Definition: NDPluginCodec.h:84
NDCodecBloscComp_t
Definition: NDPluginCodec.h:33
Definition: NDPluginCodec.h:34
NDArray * compressBlosc(NDArray *input, int clevel, int shuffle, NDCodecBloscComp_t compressor, int numThreads, NDCodecStatus_t *status, char *errorMessage)
Definition: NDPluginCodec.cpp:439
Definition: NDPluginCodec.h:29
int NDCodecCompressor
Definition: NDPluginCodec.h:81
int NDCodecBloscCLevel
Definition: NDPluginCodec.h:87
NDArray * compressBSLZ4(NDArray *input, NDCodecStatus_t *status, char *errorMessage)
Definition: NDPluginCodec.cpp:622
NDArray * decompressLZ4(NDArray *input, NDCodecStatus_t *status, char *errorMessage)
Definition: NDPluginCodec.cpp:615
Definition: NDPluginCodec.h:67
Definition: NDPluginCodec.h:36
NDArray * decompressJPEG(NDArray *, NDCodecStatus_t *status, char *errorMessage)
Definition: NDPluginCodec.cpp:334
NDCodecMode_t
Compress/decompress NDArrays according to available codecs.
Definition: NDPluginCodec.h:28
int NDCodecJPEGQuality
Definition: NDPluginCodec.h:85
int NDCodecBloscShuffle
Definition: NDPluginCodec.h:88
int NDCodecBloscCompressor
Definition: NDPluginCodec.h:86
Definition: NDPluginCodec.h:35
virtual void processCallbacks(NDArray *pArray)=0
NDArray * compressJPEG(NDArray *, int, NDCodecStatus_t *status, char *errorMessage)
Definition: NDPluginCodec.cpp:328
NDCodecStatus_t
Definition: NDPluginCodec.h:42
#define NDPLUGIN_API
Definition: NDPluginAPI.h:41
NDArray * decompressBSLZ4(NDArray *input, NDCodecStatus_t *status, char *errorMessage)
Definition: NDPluginCodec.cpp:629
int NDCodecMode
Definition: NDPluginCodec.h:79
NDArray * decompressBlosc(NDArray *input, int numThreads, NDCodecStatus_t *status, char *errorMessage)
Definition: NDPluginCodec.cpp:447
Definition: NDPluginCodec.h:37
int NDCodecCompFactor
Definition: NDPluginCodec.h:82
Definition: NDPluginCodec.h:30
N-dimensional array class; each array has a set of dimensions, a data type, pointer to data...
Definition: NDArray.h:93
Definition: NDPluginCodec.h:39
int NDCodecBloscNumThreads
Definition: NDPluginCodec.h:89
Definition: NDPluginCodec.h:43
Definition: NDPluginCodec.h:45
NDArray * compressLZ4(NDArray *input, NDCodecStatus_t *status, char *errorMessage)
Definition: NDPluginCodec.cpp:608