PUCLIB 1.6.2.0
PHOTRON USB Control Library
Loading...
Searching...
No Matches
PUCUTIL.h
Go to the documentation of this file.
1#ifndef __PUCUTIL_H_
2#define __PUCUTIL_H_
3
4/*
5 * PUCUTIL.h
6 * PHOTRON INFINICAM Control SDK
7 *
8 * Copyright (C) 2020-2026 PHOTRON LIMITED
9 */
10
11#include "PUCCONST.h"
12
13
14#ifdef PUCUTIL_EXPORTS
15#define DLL_EXPORT __declspec(dllexport)
16#else
17#define DLL_EXPORT __declspec(dllimport)
18#endif
19
20#ifndef DLLAPI
21#define DLLAPI extern "C"
22#endif
23
24
25
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
36typedef struct
37{
40 UINT32 width;
41
44 UINT32 height;
46
47
48namespace pucutil
49{
50
69DLL_EXPORT PUCRESULT WINAPI ExtractSequenceNo(const PUCHAR pData, UINT32 nWidth, UINT32 nHeight, PUSHORT pSeqNo);
70
101DLL_EXPORT PUCRESULT WINAPI DecodeData(PUINT8 pDst, UINT32 nX, UINT32 nY, UINT32 nWidth, UINT32 nHeight, UINT32 nLineBytes, const PUINT8 pSrc, const PUSHORT pQVals);
102
137DLL_EXPORT PUCRESULT WINAPI DecodeDataMultiThread(PUINT8 pDst, UINT32 nX, UINT32 nY, UINT32 nWidth, UINT32 nHeight, UINT32 nLineBytes, const PUINT8 pSrc, const PUSHORT pQVals, UINT32 nThreadCount);
138
169DLL_EXPORT PUCRESULT WINAPI DecodeDCTData(PINT16 pDst, UINT32 nX, UINT32 nY, UINT32 nWidth, UINT32 nHeight, UINT32 nLineBytes, const PUINT8 pSrc, const PUSHORT pQVals);
170
197DLL_EXPORT PUCRESULT WINAPI DecodeDCData(PUINT8 pDst, UINT32 nBlockX, UINT32 nBlockY, UINT32 nBlockCountX, UINT32 nBlockCountY, const PUINT8 pSrc);
198
208
220
232
256DLL_EXPORT PUCRESULT WINAPI DecodeGPU(bool download, unsigned char* pSrc, unsigned char** pDst, UINT32 lineBytes);
257
268DLL_EXPORT PUCRESULT WINAPI GetGPULastError(int& errorCode);
269
281
282} // namespace pucutil
283
284#ifdef __cplusplus
285} // extern C
286#endif
287
288#endif //__PUCUTIL_H
PUCRESULT
Error code.
Definition PUCCONST.h:102
#define DLL_EXPORT
Definition PUCUTIL.h:17
struct PUC_GPU_SETUP_PARAM * PPUC_GPU_SETUP_PARAM
DLL_EXPORT PUCRESULT WINAPI ExtractSequenceNo(const PUCHAR pData, UINT32 nWidth, UINT32 nHeight, PUSHORT pSeqNo)
This extracts the sequence number from the compressed image data.
DLL_EXPORT PUCRESULT WINAPI DecodeData(PUINT8 pDst, UINT32 nX, UINT32 nY, UINT32 nWidth, UINT32 nHeight, UINT32 nLineBytes, const PUINT8 pSrc, const PUSHORT pQVals)
This unpacks the compressed image data to luminance data.
DLL_EXPORT PUCRESULT WINAPI DecodeDCData(PUINT8 pDst, UINT32 nBlockX, UINT32 nBlockY, UINT32 nBlockCountX, UINT32 nBlockCountY, const PUINT8 pSrc)
Decodes the DC component of compressed image data.
DLL_EXPORT PUCRESULT WINAPI DecodeGPU(bool download, unsigned char *pSrc, unsigned char **pDst, UINT32 lineBytes)
This unpacks the compressed image data to luminance data.(GPU processing)
DLL_EXPORT PUCRESULT WINAPI IsSetupGPUDecode(bool &status)
This retrieves whether GPU decode memory is allocated.
DLL_EXPORT PUCRESULT WINAPI SetupGPUDecode(PUC_GPU_SETUP_PARAM param)
Allocates memory for GPU processing.
DLL_EXPORT PUCRESULT WINAPI TeardownGPUDecode()
Releases memory used by GPU processing.
DLL_EXPORT PUCRESULT WINAPI GetGPULastError(int &errorCode)
This retrieves the error code from the last GPU processing.
DLL_EXPORT PUCRESULT WINAPI GetAvailableGPUProcess()
This retrieves whether the PC is capable of GPU processing.
DLL_EXPORT PUCRESULT WINAPI DecodeDataMultiThread(PUINT8 pDst, UINT32 nX, UINT32 nY, UINT32 nWidth, UINT32 nHeight, UINT32 nLineBytes, const PUINT8 pSrc, const PUSHORT pQVals, UINT32 nThreadCount)
This unpacks the compressed image data to luminance data. This process is multithreaded.
DLL_EXPORT PUCRESULT WINAPI DecodeDCTData(PINT16 pDst, UINT32 nX, UINT32 nY, UINT32 nWidth, UINT32 nHeight, UINT32 nLineBytes, const PUINT8 pSrc, const PUSHORT pQVals)
This unpacks the compressed image data to DCT coefficients.
A structure that stores parameters used in GPU decoding.
Definition PUCUTIL.h:37
UINT32 width
The image width on GPU process.
Definition PUCUTIL.h:40
UINT32 height
The image height on GPU process.
Definition PUCUTIL.h:44