⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lvrps.h

📁 相机传输图像程序源代码 拜耳模式(RAW格式文件)与RGB图像数据互相转换函数库
💻 H
字号:

#ifndef ___LVRPS_H
#define ___LVRPS_H

#include <lvdef.h>

#include <lvpackon.h>

#define LvRPS_Signature 0x4570
#define MaxIdLen       64

typedef struct _tagLvRPS_Header {
    U16BIT Signature _BYTEALIGNED;
    U32BIT CodeStart _BYTEALIGNED;
    U32BIT RpsIp _BYTEALIGNED;

    U16BIT NrVar_Rps0 _BYTEALIGNED;
    U16BIT NrVar_Rps1 _BYTEALIGNED;
    U16BIT NrProc_Rps0 _BYTEALIGNED;
    U16BIT NrProc_Rps1 _BYTEALIGNED;
    U16BIT NrDefMem _BYTEALIGNED;

    } LvRPS_Header;

typedef struct _tagLvRPS_Variable {
    char Name[MaxIdLen] _BYTEALIGNED;
    U32BIT Offset _BYTEALIGNED;
    U32BIT StartValue _BYTEALIGNED;
    } LvRPS_Variable _BYTEALIGNED;

typedef struct _tagLvRPS_Procedure {
    char Name[MaxIdLen] _BYTEALIGNED;
    U32BIT Offset _BYTEALIGNED;
    } LvRPS_Procedure;

typedef struct _tagLvRPS_DefineMem {
    char Name[MaxIdLen] _BYTEALIGNED;
    U32BIT Value _BYTEALIGNED;
    U32BIT NrOffset _BYTEALIGNED;
    } LvRPS_DefineMem;

#ifdef __WIN3264__
#  ifdef _LVRPS_
#    define LVRPSAPI(x) __declspec(dllexport) x
#  else
#    define LVRPSAPI(x) __declspec(dllimport) x
#  endif
#else
#    define LVRPSAPI(x) x FAR PASCAL __export
#endif


#define _RPI_Variable_Rps0  0x01
#define _RPI_Variable_Rps1  0x02
#define _RPI_Procedure_Rps0 0x03
#define _RPI_Procedure_Rps1 0x04
#define _RPI_DefineMem      0x05


// Error codes
#define RPS_E_CompilerError     0x2000
#define RPS_E_InvalidPointer    0x2001
#define RPS_E_InvalidItemName   0x2002
#define RPS_I_NoMoreItem        0x2003
#define RPS_E_InvalidParameter  0x2004
#define RPS_E_NotSupported      0x2005
#define RPS_E_OutOfMemory       0x2006
#ifndef I_NoError
    #define I_NoError 0
#endif


#ifdef __cplusplus
extern "C" {            /* Assume C declarations for C++ */
#endif  /* __cplusplus */

LVRPSAPI(LVSTATUS) LvRpsCompileFileEx(HANDLE *CompiledOut, int NrPhys, U32BIT *PhysicalBase, char *FileName, char *OutFileName, char **PreCompile);
LVRPSAPI(LVSTATUS) LvRpsCompileFile(HANDLE *CompiledOut, U32BIT PhysicalBase, char *FileName, char *OutFileName, char **PreCompile);

LVRPSAPI(LVSTATUS) LvRpsGetItemCount(HANDLE Compiled, int WhichItem, U16BIT *Count);
LVRPSAPI(LVSTATUS) LvRpsEnumItem(HANDLE Compiled, int WhichItem, U16BIT Index, LPSTR Buffer, int Size);

LVRPSAPI(LVSTATUS) LvRpsSetItemValue(HANDLE Compiled, int WhichItem, LPSTR VarName, U32BIT Value);
LVRPSAPI(LVSTATUS) LvRpsGetItemValue(HANDLE Compiled, int WhichItem, LPSTR VarName, U32BIT *Value);

LVRPSAPI(LVSTATUS) LvRpsGetItemOffset(HANDLE Compiled, int WhichItem, LPSTR VarName, U32BIT *Offset);
LVRPSAPI(LVSTATUS) LvRpsEnumItemOffset(HANDLE Compiled, int WhichItem, LPSTR VarName, U16BIT EnumIndex, U32BIT *Offset);

LVRPSAPI(LVSTATUS) LvRpsGetCodeOffset(HANDLE Compiled, U32BIT *CodeOffset);
LVRPSAPI(LVSTATUS) LvRpsGetNextIp(HANDLE Compiled, U32BIT *Ip);

#ifdef __cplusplus
    };
#endif  /* __cplusplus */


#include <lvpackof.h>

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -