PUCLIB 1.6.0.0
PHOTRON USB Control Library
Data Structures | Typedefs | Functions
PUCLIB.h File Reference
#include "PUCCONST.h"
#include "PUCUTIL.h"

Go to the source code of this file.

Data Structures

struct  PUC_DETECT_INFO
 Structure for storing device search results. More...
 
struct  PUC_RESO_LIMIT_INFO
 Structure for storing resolution limit values. More...
 
struct  PUC_FRAMERATE_LIMIT_INFO
 Structure for storing framerate limit values. More...
 
struct  PUC_XFER_DATA_INFO
 Structure for storing the information of transfer data. More...
 

Typedefs

typedef struct PUC_DETECT_INFOPPUC_DETECT_INFO
 
typedef struct PUC_RESO_LIMIT_INFOPPUC_RESO_LIMIT_INFO
 
typedef struct PUC_FRAMERATE_LIMIT_INFOPPUC_FRAMERATE_LIMIT_INFO
 
typedef struct PUC_XFER_DATA_INFOPPUC_XFER_DATA_INFO
 
typedef void(* RECIEVE_CALLBACK) (PPUC_XFER_DATA_INFO, void *)
 The callback function type called during continuous transfer. More...
 

Functions

PUCRESULT WINAPI PUC_Initialize ()
 This initializes the library. More...
 
PUCRESULT WINAPI PUC_DetectDevice (PPUC_DETECT_INFO pDetectInfo)
 This searches for the device. More...
 
PUCRESULT WINAPI PUC_OpenDevice (UINT32 nDeviceNo, PPUC_HANDLE pDeviceHandle)
 This opens the device. More...
 
PUCRESULT WINAPI PUC_CloseDevice (PUC_HANDLE hDevice)
 This closes the device. More...
 
PUCRESULT WINAPI PUC_GetColorType (PUC_HANDLE hDevice, PUC_COLOR_TYPE *pType)
 This retrieves color/monochrome information of the device. More...
 
PUCRESULT WINAPI PUC_GetDeviceName (PUC_HANDLE hDevice, UINT32 *pName)
 This retrieves the device name. More...
 
PUCRESULT WINAPI PUC_GetDeviceType (PUC_HANDLE hDevice, UINT32 *pType)
 This retrieves the device type. More...
 
PUCRESULT WINAPI PUC_GetDeviceVersion (PUC_HANDLE hDevice, UINT32 *pVersion)
 This retrieves device version information. More...
 
PUCRESULT WINAPI PUC_GetSerialNo (PUC_HANDLE hDevice, UINT64 *pSerialNo)
 This retrieves the device serial number. More...
 
PUCRESULT WINAPI PUC_GetResolution (PUC_HANDLE hDevice, UINT32 *pWidth, UINT32 *pHeight)
 This retrieves the device resolution. More...
 
PUCRESULT WINAPI PUC_GetMaxResolution (PUC_HANDLE hDevice, UINT32 *pCurMaxWidth, UINT32 *pCurMaxHeight)
 This retrieves the maximum resolution setting allowed for the current frame rate of the device. More...
 
PUCRESULT WINAPI PUC_GetResolutionLimit (PUC_HANDLE hDevice, PPUC_RESO_LIMIT_INFO pLimitInfo)
 This retrieves the resolution limit for the device, and minimum unit for altering the resolution. More...
 
PUCRESULT WINAPI PUC_SetResolution (PUC_HANDLE hDevice, UINT32 nWidth, UINT32 nHeight)
 This sets the device resolution. More...
 
PUCRESULT WINAPI PUC_GetQuantization (PUC_HANDLE hDevice, UINT32 nPoint, USHORT *pVal)
 This retrieves one set of quantization table data stored to the device. More...
 
PUCRESULT WINAPI PUC_SetQuantization (PUC_HANDLE hDevice, UINT32 nPoint, USHORT nVal)
 This overwrites one set of quantization table data stored to the device. More...
 
PUCRESULT WINAPI PUC_GetFanState (PUC_HANDLE hDevice, PUC_MODE *pState)
 This retrieves the state of the device fan. More...
 
PUCRESULT WINAPI PUC_SetFanState (PUC_HANDLE hDevice, PUC_MODE nState)
 This sets the state of the device fan. More...
 
PUCRESULT WINAPI PUC_GetSyncInMode (PUC_HANDLE hDevice, PUC_SYNC_MODE *pMode, PUC_SIGNAL *pSignal)
 This retrieves the synchronous signal input mode for the device. More...
 
PUCRESULT WINAPI PUC_SetSyncInMode (PUC_HANDLE hDevice, PUC_SYNC_MODE nMode, PUC_SIGNAL nSignal)
 This sets the synchronous signal input mode for the device. More...
 
PUCRESULT WINAPI PUC_GetSyncOutSignal (PUC_HANDLE hDevice, PUC_SIGNAL *pSignal)
 This retrieves the synchronization signal output polarity for the device. More...
 
PUCRESULT WINAPI PUC_SetSyncOutSignal (PUC_HANDLE hDevice, PUC_SIGNAL nSignal)
 This sets the synchronous signal output polarity for the device. More...
 
PUCRESULT WINAPI PUC_GetSyncOutDelay (PUC_HANDLE hDevice, UINT32 *pDelay)
 This retrieves the delay value of device's synchronization signal output in nsec.
The value less than 100nsec is rounded up, so an error will occur. More...
 
PUCRESULT WINAPI PUC_SetSyncOutDelay (PUC_HANDLE hDevice, UINT32 nDelay)
 This sets the delay value of device's synchronization signal output in nsec. More...
 
PUCRESULT WINAPI PUC_GetSyncOutWidth (PUC_HANDLE hDevice, UINT32 *pWidth)
 This retrieves the output width of synchronization signal for the device.
If it is less than 100nsec, it will be rounded up and an error will occur. More...
 
PUCRESULT WINAPI PUC_SetSyncOutWidth (PUC_HANDLE hDevice, UINT32 nWidth)
 This sets the output width of synchronization signal for the device. More...
 
PUCRESULT WINAPI PUC_GetSyncOutMagnification (PUC_HANDLE hDevice, UINT32 *pMagnification)
 This retrieves the output magnification rate for the synchronization signal. More...
 
PUCRESULT WINAPI PUC_SetSyncOutMagnification (PUC_HANDLE hDevice, UINT32 nMagnification)
 This sets the output magnification rate for the synchronization signal. More...
 
PUCRESULT WINAPI PUC_GetLEDMode (PUC_HANDLE hDevice, PUC_MODE *pMode)
 This retrieves the LED state of the device. More...
 
PUCRESULT WINAPI PUC_SetLEDMode (PUC_HANDLE hDevice, PUC_MODE nMode)
 This sets the LED state of the device. More...
 
PUCRESULT WINAPI PUC_GetSensorTemperature (PUC_HANDLE hDevice, UINT32 *pTemp)
 This retrieves the device sensor temperature. More...
 
PUCRESULT WINAPI PUC_GetXferDataSize (PUC_HANDLE hDevice, UINT32 *pDataSize)
 This retrieves the size of transfer data from the device. More...
 
PUCRESULT WINAPI PUC_GetMaxXferDataSize (PUC_HANDLE hDevice, UINT32 *pDataSize)
 This retrieves the maximum size of transfer data from the device. More...
 
PUCRESULT WINAPI PUC_GetSingleXferData (PUC_HANDLE hDevice, PPUC_XFER_DATA_INFO pXferData)
 This retrieves the current live image from the device. More...
 
PUCRESULT WINAPI PUC_BeginXferData (PUC_HANDLE hDevice, RECIEVE_CALLBACK callback, void *arg)
 This starts continuous transfer. More...
 
PUCRESULT WINAPI PUC_EndXferData (PUC_HANDLE hDevice)
 This finishes continuous transfer. More...
 
PUCRESULT WINAPI PUC_IsXferring (PUC_HANDLE hDevice, BOOL *pIsXferring)
 This checks whether a continuous transfer is in progress. More...
 
PUCRESULT WINAPI PUC_ExtractSequenceNo (const PUCHAR pData, UINT32 nWidth, UINT32 nHeight, PUSHORT pSeqNo)
 This extracts the sequence number from the compressed image data. More...
 
PUCRESULT WINAPI PUC_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. More...
 
PUCRESULT WINAPI PUC_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. More...
 
PUCRESULT WINAPI PUC_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. More...
 
PUCRESULT WINAPI PUC_DecodeDCData (PUINT8 pDst, UINT32 nBlockX, UINT32 nBlockY, UINT32 nBlockCountX, UINT32 nBlockCountY, const PUINT8 pSrc)
 Decodes the DC component of compressed image data. More...
 
PUCRESULT WINAPI PUC_GetRingBufferCount (PUC_HANDLE hDevice, UINT32 *pCount)
 This retrieves the ring buffer count for continuous transfer. More...
 
PUCRESULT WINAPI PUC_SetRingBufferCount (PUC_HANDLE hDevice, UINT32 nCount)
 This sets the ring buffer count for continuous transfer. More...
 
PUCRESULT WINAPI PUC_GetXferTimeOut (PUC_HANDLE hDevice, UINT32 *pSingleXferTimeOut, UINT32 *pContinuousXferTimeOut)
 This retrieves the timeout duration (ms) for data transfer from the device. More...
 
PUCRESULT WINAPI PUC_SetXferTimeOut (PUC_HANDLE hDevice, UINT32 nSingleXferTimeOut, UINT32 nContinuousXferTimeOut)
 This sets the timeout duration (ms) for data transfer from the device. More...
 
PUCRESULT WINAPI PUC_GetMaxFramerate (PUC_HANDLE hDevice, UINT32 *pFramerate)
 This retrieves the maximum framerate for the current resolution. More...
 
PUCRESULT WINAPI PUC_GetFramerateLimit (PUC_HANDLE hDevice, PPUC_FRAMERATE_LIMIT_INFO pLimitInfo)
 This retrieves the framerate limit information. More...
 
PUCRESULT WINAPI PUC_GetFramerateShutter (PUC_HANDLE hDevice, UINT32 *pFramerate, UINT32 *pShutterSpeedFps)
 This retrieves the framerate and the shutter speed (1/fps) for the device. More...
 
PUCRESULT WINAPI PUC_SetFramerateShutter (PUC_HANDLE hDevice, UINT32 nFramerate, UINT32 nShutterSpeedFps)
 This sets the framerate and the shutter speed (1/fps) for the device. More...
 
PUCRESULT WINAPI PUC_GetExposeTime (PUC_HANDLE hDevice, UINT32 *pExpOnTime, UINT32 *pExpOffTime)
 This retrieves the exposure/non-exposure time of the device. More...
 
PUCRESULT WINAPI PUC_GetMinExposeTime (PUC_HANDLE hDevice, UINT32 *pMinExpOnTime, UINT32 *pMinExpOffTime)
 This retrieves the minimum exposure/non-exposure time of the device.
If it is less than 100nsec, it will be rounded up and an error will occur. More...
 
PUCRESULT WINAPI PUC_SetExposeTime (PUC_HANDLE hDevice, UINT32 nExpOnTime, UINT32 nExpOffTime)
 This sets the exposure/non-exposure time of the device. More...
 
PUCRESULT WINAPI PUC_ResetDevice (UINT32 nDeviceNo)
 This resets the device. More...
 
PUCRESULT WINAPI PUC_ResetSequenceNo (PUC_HANDLE hDevice)
 This resets the sequence number. More...
 
PUCRESULT WINAPI PUC_GetAvailableGPUProcess ()
 This retrieves whether the PC is capable of GPU processing. More...
 
PUCRESULT WINAPI PUC_SetupGPUDecode (PUC_GPU_SETUP_PARAM param)
 Allocates memory for GPU processing. More...
 
PUCRESULT WINAPI PUC_TeardownGPUDecode ()
 Releases memory used by GPU processing. More...
 
PUCRESULT WINAPI PUC_DecodeGPU (bool download, unsigned char *pSrc, unsigned char **pDst, UINT32 lineBytes)
 This unpacks the compressed image data to luminance data.(GPU processing) More...
 
PUCRESULT WINAPI PUC_GetGPULastError (int &errorCode)
 This retrieves the error code from the last GPU processing. More...
 
PUCRESULT WINAPI PUC_IsSetupGPUDecode (bool &status)
 This retrieves whether GPU decode memory is allocated. More...
 

Typedef Documentation

◆ PPUC_DETECT_INFO

◆ PPUC_FRAMERATE_LIMIT_INFO

◆ PPUC_RESO_LIMIT_INFO

◆ PPUC_XFER_DATA_INFO

◆ RECIEVE_CALLBACK

typedef void(* RECIEVE_CALLBACK) (PPUC_XFER_DATA_INFO, void *)

The callback function type called during continuous transfer.

Definition at line 103 of file PUCLIB.h.

Function Documentation

◆ PUC_BeginXferData()

PUCRESULT WINAPI PUC_BeginXferData ( PUC_HANDLE  hDevice,
RECIEVE_CALLBACK  callback,
void *  arg 
)

This starts continuous transfer.

If the callback function takes a long time to process, sequential image data will be stored to the ring buffer set in PUC_SetRingBufferCount.
If the ring buffer is used up, it will wait until the callback function process is complete. Be aware that any data received during this period will not be stored to the buffer. (Dropped frames)

Parameters
[in]hDeviceThe device handle to be controlled
[in]callbackThis callback function is called every time an image is received from the device in the SDK.
[in]argThe argument passed to the callback function
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_EndXferData
PUC_IsXferring
PUC_SetRingBufferCount
PUC_DecodeData

◆ PUC_CloseDevice()

PUCRESULT WINAPI PUC_CloseDevice ( PUC_HANDLE  hDevice)

This closes the device.

An error will be returned when specifying an unopened device.

Parameters
[in]hDeviceThe device handle to be closed
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_OpenDevice

◆ PUC_DecodeData()

PUCRESULT WINAPI PUC_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.

Parameters
[out]pDstThe buffer at the unpacking destination. The size of the width must be allocated rounded up to a multiple of four. (e.g., If the width is 1246 px, a buffer is required 1248 bytes at least)
[in]nXThe upper left coordinate X for starting unpacking. This must be 0, or a multiple of 8.
[in]nYThe upper left coordinate Y for starting unpacking. This must be 0, or a multiple of 8.
[in]nWidthThe width for unpacking
[in]nHeightThe height for unpacking
[in]nLineBytesThe number of bytes of the buffer width at the unpacking destination
[in]pSrcThe compressed image data
[in]pQValsA quantization table
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe. This function can be executed in parallel.
See also
PUC_GetXferDataSize
PUC_GetMaxXferDataSize

◆ PUC_DecodeDataMultiThread()

PUCRESULT WINAPI PUC_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.

Parameters
[out]pDstThe buffer at the unpacking destination. The size of the width must be allocated rounded up to a multiple of four. (e.g., If the width is 1246 px, a buffer is required 1248 bytes at least)
[in]nXThe upper left coordinate X for starting unpacking. This must be 0, or a multiple of 8.
[in]nYThe upper left coordinate Y for starting unpacking. This must be 0, or a multiple of 8.
[in]nWidthThe width for unpacking
[in]nHeightThe height for unpacking
[in]nLineBytesThe number of bytes of the buffer width at the unpacking destination
[in]pSrcThe compressed image data
[in]pQValsA quantization table
[in]nThreadCountThe number of threads to process in multiple threads.
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe. This function can be executed in parallel.
See also
PUC_GetXferDataSize
PUC_GetMaxXferDataSize
PUC_DecodeData

◆ PUC_DecodeDCData()

PUCRESULT WINAPI PUC_DecodeDCData ( PUINT8  pDst,
UINT32  nBlockX,
UINT32  nBlockY,
UINT32  nBlockCountX,
UINT32  nBlockCountY,
const PUINT8  pSrc 
)

Decodes the DC component of compressed image data.

Parameters
[out]pDstThe buffer at the decoding destination. Must be allocated for the total number of blocks included in the decoding range.
[in]nBlockXThe block coordinates X for starting decoding
[in]nBlockYThe block coordinates Y for starting decoding
[in]nBlockCountXNumber of blocks in the X direction to be decoded
[in]nBlockCountYNumber of blocks in the Y direction to be decoded
[in]pSrcThe compressed image data
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe. This function can be executed in parallel.
See also
PUC_GetXferDataSize
PUC_GetMaxXferDataSize

◆ PUC_DecodeDCTData()

PUCRESULT WINAPI PUC_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.

Parameters
[out]pDstThe buffer at the unpacking destination. The size of the width must be allocated rounded up to a multiple of four. (e.g., If the width is 1246 px, a buffer is required 1248 bytes at least)
[in]nXThe upper left coordinate X for starting unpacking. This must be 0, or a multiple of 8.
[in]nYThe upper left coordinate Y for starting unpacking. This must be 0, or a multiple of 8.
[in]nWidthThe width for unpacking
[in]nHeightThe height for unpacking
[in]nLineBytesThe number of bytes of the buffer width at the unpacking destination
[in]pSrcThe compressed image data
[in]pQValsA quantization table
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe. This function can be executed in parallel.
See also
PUC_GetXferDataSize
PUC_GetMaxXferDataSize

◆ PUC_DecodeGPU()

PUCRESULT WINAPI PUC_DecodeGPU ( bool  download,
unsigned char *  pSrc,
unsigned char **  pDst,
UINT32  lineBytes 
)

This unpacks the compressed image data to luminance data.(GPU processing)

Parameters
[in]downloadIf false is specified, the decoded data is stored in device (GPU) memory; if true is specified, it is stored in host (CPU) memory.
[in]pSrcThe original encoded frame data to be decoded.
[out]pDstThe decoded processing result frame data, which is output to device memory or host memory depending on the setting of the download argument.
[in]lineBytesThe number of bytes of the buffer width at the unpacking destination
If the download argument is true, the data decoded by the GPU is copied to the address specified by this argument.
Therefore, it is necessary to allocate a buffer in host memory in advance.
The size of the width must be allocated rounded up to a multiple of four. (e.g., If the width is 1246 px, a buffer is required 1248 bytes at least)
If the download argument is false, the address of the device memory of the data decoded by the GPU is acquired. Allocation of host memory is not required.
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.

◆ PUC_DetectDevice()

PUCRESULT WINAPI PUC_DetectDevice ( PPUC_DETECT_INFO  pDetectInfo)

This searches for the device.

If the device number is already identified, the device can also be opened without searching it.

Parameters
[out]pDetectInfoStores the information of detected device.
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_OpenDevice

◆ PUC_EndXferData()

PUCRESULT WINAPI PUC_EndXferData ( PUC_HANDLE  hDevice)

This finishes continuous transfer.

Parameters
[in]Thedevice handle to be controlled
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_BeginXferData
PUC_IsXferring

◆ PUC_ExtractSequenceNo()

PUCRESULT WINAPI PUC_ExtractSequenceNo ( const PUCHAR  pData,
UINT32  nWidth,
UINT32  nHeight,
PUSHORT  pSeqNo 
)

This extracts the sequence number from the compressed image data.

Parameters
[in]pDataThe compressed image data
[in]nWidthThe image width
[in]nHeightThe image height
[out]pSeqNoThe storage destination for the sequence number extracted
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe. This function can be executed in parallel.

◆ PUC_GetAvailableGPUProcess()

PUCRESULT WINAPI PUC_GetAvailableGPUProcess ( )

This retrieves whether the PC is capable of GPU processing.

Returns
Returns PUC_SUCCEEDED if GPU processing is possible, otherwise returns PUC_ERROR_NOTSUPPORT.

◆ PUC_GetColorType()

PUCRESULT WINAPI PUC_GetColorType ( PUC_HANDLE  hDevice,
PUC_COLOR_TYPE pType 
)

This retrieves color/monochrome information of the device.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pTypeThe storage destination for color/monochrome information
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.

◆ PUC_GetDeviceName()

PUCRESULT WINAPI PUC_GetDeviceName ( PUC_HANDLE  hDevice,
UINT32 *  pName 
)

This retrieves the device name.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pIDThe storage destination for the device name
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.

◆ PUC_GetDeviceType()

PUCRESULT WINAPI PUC_GetDeviceType ( PUC_HANDLE  hDevice,
UINT32 *  pType 
)

This retrieves the device type.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pIDThe storage destination for the device type
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.

◆ PUC_GetDeviceVersion()

PUCRESULT WINAPI PUC_GetDeviceVersion ( PUC_HANDLE  hDevice,
UINT32 *  pVersion 
)

This retrieves device version information.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pVersionThe storage destination for the version number
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.

◆ PUC_GetExposeTime()

PUCRESULT WINAPI PUC_GetExposeTime ( PUC_HANDLE  hDevice,
UINT32 *  pExpOnTime,
UINT32 *  pExpOffTime 
)

This retrieves the exposure/non-exposure time of the device.

The return value of this function will change if the frame rate and shutter speed is changed with PUC_SetFramerateShutter function.
Changing the exposure/non-exposure time resets the output magnification rate of synchronization signal to x1.
If it is less than 100nsec, it will be rounded up and an error will occur.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pExpOnTimeThe storage destination for the exposure period (nsec units)
[out]pExpOffTimeThe storage destination for the non-exposure period (nsec units)
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_SetExposeTime
PUC_SetFramerateShutter

◆ PUC_GetFanState()

PUCRESULT WINAPI PUC_GetFanState ( PUC_HANDLE  hDevice,
PUC_MODE pState 
)

This retrieves the state of the device fan.

Parameters
[in]hDeviceThe device handle to be controlled
[out]nStateThe storage destination for the fan state (ON/OFF)
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_SetFanState

◆ PUC_GetFramerateLimit()

PUCRESULT WINAPI PUC_GetFramerateLimit ( PUC_HANDLE  hDevice,
PPUC_FRAMERATE_LIMIT_INFO  pLimitInfo 
)

This retrieves the framerate limit information.

Parameters
[in]hDeviceThe device handle to be controlled.
[out]pLimitInfoStructure for storing framerate limit values.
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_GetFramerateShutter

◆ PUC_GetFramerateShutter()

PUCRESULT WINAPI PUC_GetFramerateShutter ( PUC_HANDLE  hDevice,
UINT32 *  pFramerate,
UINT32 *  pShutterSpeedFps 
)

This retrieves the framerate and the shutter speed (1/fps) for the device.

Note that the return value with this function will be invalid if the exposure/non-exposure time is set directly with PUC_SetExposeTime function.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pFramerateThe storage destination for the framerate
[out]pShutterSpeedFpsThe storage destination for the shutter speed (1/fps)
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_SetFramerateShutter
PUC_SetExposeTime

◆ PUC_GetGPULastError()

PUCRESULT WINAPI PUC_GetGPULastError ( int &  errorCode)

This retrieves the error code from the last GPU processing.

Parameters
[out]Theerror code from GPU.
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.

◆ PUC_GetLEDMode()

PUCRESULT WINAPI PUC_GetLEDMode ( PUC_HANDLE  hDevice,
PUC_MODE pMode 
)

This retrieves the LED state of the device.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pModeThe storage destination for the LED state (ON/OFF)
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_SetLEDMode

◆ PUC_GetMaxFramerate()

PUCRESULT WINAPI PUC_GetMaxFramerate ( PUC_HANDLE  hDevice,
UINT32 *  pFramerate 
)

This retrieves the maximum framerate for the current resolution.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pFramerateThe storage destination for the maximum framerate
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_GetFramerateShutter

◆ PUC_GetMaxResolution()

PUCRESULT WINAPI PUC_GetMaxResolution ( PUC_HANDLE  hDevice,
UINT32 *  pCurMaxWidth,
UINT32 *  pCurMaxHeight 
)

This retrieves the maximum resolution setting allowed for the current frame rate of the device.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pCurMaxWidthThe storage destination for the maximum horizontal resolution setting allowed for the current framerate
[out]pCurMaxHeightThe storage destination for the maximum vertical resolution setting allowed for the current framerate
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_GetResolution
PUC_SetResolution
PUC_GetResolutionLimit

◆ PUC_GetMaxXferDataSize()

PUCRESULT WINAPI PUC_GetMaxXferDataSize ( PUC_HANDLE  hDevice,
UINT32 *  pDataSize 
)

This retrieves the maximum size of transfer data from the device.

This will vary depending on the current resolution.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pDataSizeThe storage destination for the maximum data size
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_GetXferDataSize

◆ PUC_GetMinExposeTime()

PUCRESULT WINAPI PUC_GetMinExposeTime ( PUC_HANDLE  hDevice,
UINT32 *  pMinExpOnTime,
UINT32 *  pMinExpOffTime 
)

This retrieves the minimum exposure/non-exposure time of the device.
If it is less than 100nsec, it will be rounded up and an error will occur.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pMinExpOnTimeThe storage destination for the minimum exposure period (nsec units)
[out]pMinExpOffTimeThe storage destination for the minimum non-exposure period (nsec units)
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_SetExposeTime

◆ PUC_GetQuantization()

PUCRESULT WINAPI PUC_GetQuantization ( PUC_HANDLE  hDevice,
UINT32  nPoint,
USHORT *  pVal 
)

This retrieves one set of quantization table data stored to the device.

The number of quantization tables is defined in PUC_Q_COUNT.

Parameters
[in]hDeviceThe device handle to be controlled
[in]nPointThe position of the quantization table
[out]pValThe storage destination of the quantization table data
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_SetQuantization

◆ PUC_GetResolution()

PUCRESULT WINAPI PUC_GetResolution ( PUC_HANDLE  hDevice,
UINT32 *  pWidth,
UINT32 *  pHeight 
)

This retrieves the device resolution.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pWidthThe storage destination for the horizontal resolution
[out]pHeightThe storage destination for the vertical resolution
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_SetResolution
PUC_GetMaxResolution
PUC_GetResolutionLimit

◆ PUC_GetResolutionLimit()

PUCRESULT WINAPI PUC_GetResolutionLimit ( PUC_HANDLE  hDevice,
PPUC_RESO_LIMIT_INFO  pLimitInfo 
)

This retrieves the resolution limit for the device, and minimum unit for altering the resolution.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pLimitInfoThe storage destination for resolution limit, and minimum unit for altering the resolution
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_GetResolution
PUC_SetResolution
PUC_GetMaxResolution

◆ PUC_GetRingBufferCount()

PUCRESULT WINAPI PUC_GetRingBufferCount ( PUC_HANDLE  hDevice,
UINT32 *  pCount 
)

This retrieves the ring buffer count for continuous transfer.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pCountThe storage destination for the buffer count
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_SetRingBufferCount

◆ PUC_GetSensorTemperature()

PUCRESULT WINAPI PUC_GetSensorTemperature ( PUC_HANDLE  hDevice,
UINT32 *  pTemp 
)

This retrieves the device sensor temperature.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pTempThe storage destination for the sensor temperature
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.

◆ PUC_GetSerialNo()

PUCRESULT WINAPI PUC_GetSerialNo ( PUC_HANDLE  hDevice,
UINT64 *  pSerialNo 
)

This retrieves the device serial number.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pSerialNoThe storage destination for the serial number
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
If the serial number of the camera starts with M, the value retreived by this API will be the number after M.

◆ PUC_GetSingleXferData()

PUCRESULT WINAPI PUC_GetSingleXferData ( PUC_HANDLE  hDevice,
PPUC_XFER_DATA_INFO  pXferData 
)

This retrieves the current live image from the device.

The image may appear fuzzy during continuous transfer.
Retrieve the size of the image data with PUC_GetXferDataSize.
Compressed data can be unpacked to luminace data with PUC_DecodeData.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pXferDataThe storage destination for transfer data. Retrieve the required memory size with PUC_GetXferDataSize.
When using PUC_DATA_DECOMPRESSED_GRAY, a size rounded up to a multiple of 4 must be allocated for the width.
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_GetXferDataSize
PUC_DecodeData

◆ PUC_GetSyncInMode()

PUCRESULT WINAPI PUC_GetSyncInMode ( PUC_HANDLE  hDevice,
PUC_SYNC_MODE pMode,
PUC_SIGNAL pSignal 
)

This retrieves the synchronous signal input mode for the device.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pModeThe storage destination for the synchronous signal input mode (Internal/External)
[out]pSignalThe storage destination for the polarity (positive polarity/negative polarity),
It can be obtained only when external synchronization is set.
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_SetSyncInMode

◆ PUC_GetSyncOutDelay()

PUCRESULT WINAPI PUC_GetSyncOutDelay ( PUC_HANDLE  hDevice,
UINT32 *  pDelay 
)

This retrieves the delay value of device's synchronization signal output in nsec.
The value less than 100nsec is rounded up, so an error will occur.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pDelayThe storage destination for the delay amount (nsec units)
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_SetSyncOutDelay

◆ PUC_GetSyncOutMagnification()

PUCRESULT WINAPI PUC_GetSyncOutMagnification ( PUC_HANDLE  hDevice,
UINT32 *  pMagnification 
)

This retrieves the output magnification rate for the synchronization signal.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pMagnificationThe storage destination for the output magnification
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_SetSyncOutMagnification
PUC_SetSyncOutWidth
PUC_GetSyncOutWidth

◆ PUC_GetSyncOutSignal()

PUCRESULT WINAPI PUC_GetSyncOutSignal ( PUC_HANDLE  hDevice,
PUC_SIGNAL pSignal 
)

This retrieves the synchronization signal output polarity for the device.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pSignalThe storage destination for the polarity (positive polarity/negative polarity)
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_SetSyncOutSignal

◆ PUC_GetSyncOutWidth()

PUCRESULT WINAPI PUC_GetSyncOutWidth ( PUC_HANDLE  hDevice,
UINT32 *  pWidth 
)

This retrieves the output width of synchronization signal for the device.
If it is less than 100nsec, it will be rounded up and an error will occur.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pWidthThe storage destination for the output width (nsec units)
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_SetSyncOutWidth

◆ PUC_GetXferDataSize()

PUCRESULT WINAPI PUC_GetXferDataSize ( PUC_HANDLE  hDevice,
UINT32 *  pDataSize 
)

This retrieves the size of transfer data from the device.

This will vary depending on the current resolution.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pDataSizeThe storage destination for the data size
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_GetMaxXferDataSize

◆ PUC_GetXferTimeOut()

PUCRESULT WINAPI PUC_GetXferTimeOut ( PUC_HANDLE  hDevice,
UINT32 *  pSingleXferTimeOut,
UINT32 *  pContinuousXferTimeOut 
)

This retrieves the timeout duration (ms) for data transfer from the device.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pSingleXferTimeOutThe storage destination for the timeout duration (ms) for a single transfer
[out]pContinuousXferTimeOutThe storage destination for the timeout duration (ms) for continuous transfer
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_SetXferTimeOut

◆ PUC_Initialize()

PUCRESULT WINAPI PUC_Initialize ( )

This initializes the library.

Only use this function once the first time PUCLIB is used.
The termination operation is automatically performed when a process is terminated.

Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.

◆ PUC_IsSetupGPUDecode()

PUCRESULT WINAPI PUC_IsSetupGPUDecode ( bool &  status)

This retrieves whether GPU decode memory is allocated.

Parameters
[out]statustrue : allocated, false : not allocated.
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.

◆ PUC_IsXferring()

PUCRESULT WINAPI PUC_IsXferring ( PUC_HANDLE  hDevice,
BOOL *  pIsXferring 
)

This checks whether a continuous transfer is in progress.

Parameters
[in]hDeviceThe device handle to be controlled
[out]pIsXferringIf a continuous transfer is in progress this will be TRUE, if not this will be FALSE.
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_BeginXferData
PUC_EndXferData

◆ PUC_OpenDevice()

PUCRESULT WINAPI PUC_OpenDevice ( UINT32  nDeviceNo,
PPUC_HANDLE  pDeviceHandle 
)

This opens the device.

Note that specifying a device number of the opened device closes the device temporarily.

Parameters
[in]nDeviceNoSpecify the retrieved device ID here.
[out]pDeviceHandleStores the handle to control the opened device.
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_CloseDevice

◆ PUC_ResetDevice()

PUCRESULT WINAPI PUC_ResetDevice ( UINT32  nDeviceNo)

This resets the device.

There is possibility for PUC_OpenDevice to return error even though device is detected. Please set this to resets device.

Parameters
[in]nDeviceNoSpecify the retrieved device ID here.
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_ResetDevice

◆ PUC_ResetSequenceNo()

PUCRESULT WINAPI PUC_ResetSequenceNo ( PUC_HANDLE  hDevice)

This resets the sequence number.

Parameters
[in]hDeviceThe device handle to be controlled
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.

◆ PUC_SetExposeTime()

PUCRESULT WINAPI PUC_SetExposeTime ( PUC_HANDLE  hDevice,
UINT32  nExpOnTime,
UINT32  nExpOffTime 
)

This sets the exposure/non-exposure time of the device.

Opening the device will reset this setting.
Note that the return value of PUC_GetFramerateShutter function will be invalid if the exposure/non-exposure time is set directly with this function.
If it is less than 100nsec, it will be rounded up and an error will occur.

Parameters
[in]hDeviceThe device handle to be controlled
[in]nExpOnTimeThe exposure period (nsec units)
[in]nExpOffTimeThe non-exposure period (nsec units)
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_GetExposeTime
PUC_GetFramerateShutter

◆ PUC_SetFanState()

PUCRESULT WINAPI PUC_SetFanState ( PUC_HANDLE  hDevice,
PUC_MODE  nState 
)

This sets the state of the device fan.

Restarting the device will reset this setting.

Parameters
[in]hDeviceThe device handle to be controlled
[in]nStateThe fan state (ON/OFF)
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_GetFanState

◆ PUC_SetFramerateShutter()

PUCRESULT WINAPI PUC_SetFramerateShutter ( PUC_HANDLE  hDevice,
UINT32  nFramerate,
UINT32  nShutterSpeedFps 
)

This sets the framerate and the shutter speed (1/fps) for the device.

Opening the device will reset this setting.
When executing this function, the return value of PUC_GetExposeTime will change.
Changing the frame rate resets the output magnification rate of synchronization signal to x1.

Parameters
[in]hDeviceThe device handle to be controlled
[in]nFramerateThe framerate
[in]nShutterSpeedFpsThe shutter speed (1/fps)
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_GetExposeTime
PUC_SetExposeTime

◆ PUC_SetLEDMode()

PUCRESULT WINAPI PUC_SetLEDMode ( PUC_HANDLE  hDevice,
PUC_MODE  nMode 
)

This sets the LED state of the device.

Restarting the device will reset this setting.

Parameters
[in]hDeviceThe device handle to be controlled
[in]nModeThe LED state (ON/OFF)
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_GetLEDMode

◆ PUC_SetQuantization()

PUCRESULT WINAPI PUC_SetQuantization ( PUC_HANDLE  hDevice,
UINT32  nPoint,
USHORT  nVal 
)

This overwrites one set of quantization table data stored to the device.

The number of quantization tables is defined in PUC_Q_COUNT.
Restarting the device will reset this setting.

Parameters
[in]hDeviceThe device handle to be controlled
[in]nPointThe position of the quantization table
[in]nValThe quantization table data being set
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_GetQuantization

◆ PUC_SetResolution()

PUCRESULT WINAPI PUC_SetResolution ( PUC_HANDLE  hDevice,
UINT32  nWidth,
UINT32  nHeight 
)

This sets the device resolution.

Opening the device will reset this setting.

Parameters
[in]hDeviceThe device handle to be controlled
[in]nWidthHorizontal resolution
[in]nHeightVertical resolution
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_GetResolution
PUC_GetResolutionLimit
PUC_GetMaxResolution

◆ PUC_SetRingBufferCount()

PUCRESULT WINAPI PUC_SetRingBufferCount ( PUC_HANDLE  hDevice,
UINT32  nCount 
)

This sets the ring buffer count for continuous transfer.

Opening the device will reset this setting.

Parameters
[in]hDeviceThe device handle to be controlled
[in]nCountThe buffer count
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_GetRingBufferCount

◆ PUC_SetSyncInMode()

PUCRESULT WINAPI PUC_SetSyncInMode ( PUC_HANDLE  hDevice,
PUC_SYNC_MODE  nMode,
PUC_SIGNAL  nSignal 
)

This sets the synchronous signal input mode for the device.

Restarting the device will reset this setting.
Changing the synchronization signal output mode resets the output magnification rate to x1.
When setting to external device synchronization, the exposure time is automatically adjusted considering the variation of external devices. Set the exposure time and framerate before setting the external device synchronization.

Parameters
[in]hDeviceThe device handle to be controlled
[in]nModeThe synchronous signal input mode (Internal/External)
[in]nSignalPolarity (positive/negative), Specifying the polarity is not supported for devices prior to version 1.01.
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_GetSyncInMode

◆ PUC_SetSyncOutDelay()

PUCRESULT WINAPI PUC_SetSyncOutDelay ( PUC_HANDLE  hDevice,
UINT32  nDelay 
)

This sets the delay value of device's synchronization signal output in nsec.

Restarting the device will reset this setting.
The value less than 100nsec is rounded up, so an error will occur.

Parameters
[in]hDeviceThe device handle to be controlled
[in]nDelayThe delay (nsec units)
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_GetSyncOutDelay

◆ PUC_SetSyncOutMagnification()

PUCRESULT WINAPI PUC_SetSyncOutMagnification ( PUC_HANDLE  hDevice,
UINT32  nMagnification 
)

This sets the output magnification rate for the synchronization signal.

Opening the device will reset this setting.
Changing the frame rate or exposure/non-exposure time also resets the output magnification rate to x1.

Parameters
[in]hDeviceThe device handle to be controlled
[in]nMagnificationThe output magnification (e.g.: for 2x set to 2, for 4x set to 4). For 0.5x, set PUC_SYNC_OUT_MAGNIFICATION_0_5.
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_GetSyncOutMagnification
PUC_SetSyncOutWidth
PUC_GetSyncOutWidth

◆ PUC_SetSyncOutSignal()

PUCRESULT WINAPI PUC_SetSyncOutSignal ( PUC_HANDLE  hDevice,
PUC_SIGNAL  nSignal 
)

This sets the synchronous signal output polarity for the device.

Restarting the device will reset this setting.

Parameters
[in]hDeviceThe device handle to be controlled
[in]nSignalThe polarity (positive polarity/negative polarity)
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_GetSyncOutSignal

◆ PUC_SetSyncOutWidth()

PUCRESULT WINAPI PUC_SetSyncOutWidth ( PUC_HANDLE  hDevice,
UINT32  nWidth 
)

This sets the output width of synchronization signal for the device.

Restarting the device will reset this setting.
Changing the output width resets the output magnification rate to x1.
If it is less than 100nsec, it will be rounded up and an error will occur.

Parameters
[in]hDeviceThe device handle to be controlled
[in]nWidthThe output width of the synchronous signal (nsec units).
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_GetSyncOutWidth

◆ PUC_SetupGPUDecode()

PUCRESULT WINAPI PUC_SetupGPUDecode ( PUC_GPU_SETUP_PARAM  param)

Allocates memory for GPU processing.

Parameters
[in]paramThis is a configuration parameter.
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.

◆ PUC_SetXferTimeOut()

PUCRESULT WINAPI PUC_SetXferTimeOut ( PUC_HANDLE  hDevice,
UINT32  nSingleXferTimeOut,
UINT32  nContinuousXferTimeOut 
)

This sets the timeout duration (ms) for data transfer from the device.

Opening the device will reset this setting.
Set PUC_XFER_TIMEOUT_AUTO to automatically adjust the timeout duration based on the framerate.
Set PUC_XFER_TIMEOUT_INFINITE to disable timeout.

Parameters
[in]hDeviceThe device handle to be controlled
[in]nSingleXferTimeOutThe timeout duration (ms) for a single transfer
[in]nContinuousXferTimeOutThe timeout duration (ms) for continuous transfer
Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
This function is thread-safe.
See also
PUC_GetXferTimeOut

◆ PUC_TeardownGPUDecode()

PUCRESULT WINAPI PUC_TeardownGPUDecode ( )

Releases memory used by GPU processing.

Returns
If successful, PUC_SUCCEEDED will be returned. If failed, other responses will be returned.
Note
It is safe to run after releasing the buffer used for PUC_DecodeGPU.