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

📄 prvphlib.h

📁 相机传输图像程序源代码 拜耳模式(RAW格式文件)与RGB图像数据互相转换函数库
💻 H
📖 第 1 页 / 共 2 页
字号:
//=====================================================================
//[HEADER] PrvPhLib
// Testheader
//+
//[AUTHOR]
// Bruno Rivara
//.


#ifndef ___PRVHWLIB_H
#define ___PRVHWLIB_H

#include <windows.h>
#include <lvdef.h>
#include <lvlog.h>
#include <prvphlib.sh>
#include <pcicfg.h>
#include <prvreg.h>

#include <lvpackon.h>

#define PVP_I_NoError I_NoError

// Chip definitions
enum _LvChipDefinition {
    C_S3964,
    C_AT24C02,
    C_TDA8444,
    C_TVP3025,
    C_VIRTUAL,
    C_PCI,
    C_BNECKS,
    C_BNECKP,
    C_ICS9161,
    C_STANDARDVGA,
    C_BT252,
    C_XC4005,
    C_PSM,
    C_BT812,
    C_BT485,
    C_S3968,
    C_TVP3026,
    C_TRIO,
    C_SAA7146,
    C_PPLCA,
    C_PPCTL,
    C_BT819,
    C_BT856,
    C_VIRTUAL_SAA,
    C_PPTIM,
    C_PCCTL,
    C_ENC0CTRL,
    C_DEBIREGS,
    C_RYX_MAIN,
    C_KS0127,
    C_RYX_CTRL,
    C_RYX_SRC,
    C_RYX_FBCH,
    C_RYX_FSHCTRL,
    C_RYX_CLPPRCCTRL,
    C_YPC_TIMERCTRL,
    C_I28F,
    C_RYX_DMACHW,
    C_YPC_TIMER,
    C_MHT,
    C_RYX_DMALUT,
    C_I82559ER,
    C_I82559ERNVR,
    C_PIIX4,
    C_RYX_CLPID,
    C_RYX_SRCLUT,
    C_RYX_SSRAM,
    C_RYX_CLPMEM,
    C_RYX_TIMERCTRL,
    C_RYX_TIMER,
    C_PCIBUS,
    C_WBOND_83627,
    C_WBOND_83781,
    C_I82801BA,
    C_RYX_PHDETECT,
    C_ACCSMB,
    C_PCIDEVMEM,
    C_RYX_GPIO,
    C_YPC_CLPID,
    C_RYX_DFORM,
    C_RYX_BAYER,
    C_RYX_SLUT,
    C_TW6800,
    C_RYX_TMRPHCTL,
    C_RYX_PRGTMR,
    C_SAA7121,
    C_RXX_DTAP,
    C_RYX_RGBLUT,
    C_RZL_GPIO_SEL,
    C_PNX1500,
	C_I82547EI,
	C_AD9995,
	C_CX25872,
	C_AD7415,
	C_PIC452,
	C_PIC452CFG,
    C_I28FUSR,
    C_RYE_CTRL,
    C_RXX_QTAP,
    C_RXX_FOUT3,
    C_RXX_GAINOFF,
    C_RXX_MTXCOLRA,
    C_RXX_LUT,
    C_RXX_2DMAFIFO,
    C_RXX_TESTPATT2,
    C_RXX_TESTPATT4,
    C_RXX_FOUT2,
    C_RYX_BAYER55,
    C_MT9T001,
    C_MT9V403,
    C_OV3620,
    C_OV5610,
    C_CY22150,
    C_TW280X,
    C_TW280XCH,
    C_YPE_SRC,
    C_YPE_SRCCH,
    C_YPE_GPIO,
    C_MT9V022,
    C_PICFLASH,
    C_PICFPGA,
    C_RYX_4DMAFIFO,
    C_RYX_RGBSPLIT,
    C_COUTL_FULL,
    C_NX_VIRTUAL,
    C_USBCPLD,
    C_MT9M001,
    C_BF53X,
    C_USB_VIRTUAL,
    C_PNXFPGA,
    C_GVISION,
    C_Last,
    // -------------------
    C_NOCHIP=0xffff,
    C_ALLCHIP=0xffff
    };


// Board definition
enum _LvBoardEnum {
    B_NON_PCI_VGA      , // 0x0000
    B_UNKNOWN_PCI      , // 0x0001
    B_MIRO             , // 0x0002
    B_MIRO20SV         , // 0x0003
    B_LV_PRV9403       , // 0x0004
    B_LV_SAM9406       , // 0x0005
    B_UNKNOWN_PCIS3    , // 0x0006
    B_LV_PRV9403_LC    , // 0x0007
    B_LV_PRV9403_968   , // 0x0008
    B_MIRO20SV_968     , // 0x0009
    B_TRIO             , // 0x000a
    B_LV_PICPORTMONO   , // 0x000b
    B_LV_PICPORTCOLOR  , // 0x000c
    B_LV_PICMOD_XRAY   , // 0x000d
    B_LV_PICMOD_ENC    , // 0x000e  // PicMod Encoder should be searched last
    B_LV_PPC_CPCI      , // 0x000f
    B_LV_PPC_IPCI      , // 0x0010
    B_LV_PPM_CPCI      , // 0x0011
    B_LV_PPM_IPCI      , // 0x0012
    B_UNKNOWN7146      , // 0x0013
    B_LV_PICMOD_DIG    , // 0x0014
    B_LV_PPM_PMC       , // 0x0015
    B_LV_CHECKPPX      , // 0x0016
    B_LV_CHECKPICMOD   , // 0x0017
    B_LV_PPC_PMC       , // 0x0018
    B_LK_PKC           , // 0x0019
    B_LV_PPD_PMC       , // 0x001a
    B_LV_PPIO_PMC      , // 0x001b
    B_PC_MAINBOARD     , // 0x001c
    B_PENTICAM_MB      , // 0x001d
    B_LK_PKCAMLNK      , // 0x001e
    B_LV_RZL           , // 0x001f
    B_PENTICAM2_MB     , // 0x0020
    B_LVMPC_POWER      , // 0x0021
    B_LVMPC_IDE        , // 0x0022
    B_LVMPC_CARDBUS    , // 0x0023
    B_LV_RPL           , // 0x0024
    B_TW_6800          , // 0x0025
    B_LVMPC_POWER_I    , // 0x0026
    B_LV_LPC           , // 0x0027
    B_LV_DIGIPORT_PMC  , // 0x0028
    B_LV_DIGIPORT      , // 0x0029
    B_MDS_LCP1500      , // 0x002A
    B_INTEL_E1000      , // 0x002B
    B_MDS_LCP1500_NXS  , // 0x002C
    B_MDS_LCP1500_SER  , // 0x002D
    B_LV_LOADERPPX     , // 0x002E
    B_AD9995           , // 0x002F
    B_LVCAM_NET        , // 0x0030
    B_LV_LOADERPPX16   , // 0x0031
    B_LV_REL_MONO      , // 0x0032
    B_LV_REL_STEREO    , // 0x0033
    B_LV_YPCE          , // 0x0034
    B_LVCAMMODCAM      , // 0x0035
    B_LVCAMPIC         , // 0x0036
    B_LV_REL_MONO_RTF  , // 0x0037
    B_LV_REL_STEREO_RTF, // 0x0038
    B_LVCAMPICCL       , // 0x0039
    B_LVCAM_NET_CHECK  , // 0x003a
    B_LVCAMPIC_CHECK   , // 0x003b
    B_LV_RTL_MONO      , // 0x003c
    B_LV_RTL_STEREO    , // 0x003d
    B_LV_RTL_MONO_RTF  , // 0x003e
    B_LV_RTL_STEREO_RTF, // 0x003f
    B_LVCAM_USB        , // 0x0040
    B_LVCAM_USB_CHECK  , // 0x0041
    B_LV_REE_0864      , // 0x0042
    B_LV_REE_1664      , // 0x0043
    B_LV_REE_0864_RTF  , // 0x0044
    B_LV_REE_1664_RTF  , // 0x0045
    B_LV_RTE_0864      , // 0x0046
    B_LV_RTE_1664      , // 0x0047
    B_LV_RTE_0864_RTF  , // 0x0048
    B_LV_RTE_1664_RTF  , // 0x0049
    B_LV_RZL_MONO      , // 0x004a
    B_LV_RML_MONO=B_LV_RZL_MONO,
    B_LV_RZL_STEREO    , // 0x004b
    B_LV_RML_STEREO=B_LV_RZL_STEREO,
    B_LV_RZL_MONO_RTF  , // 0x004c
    B_LV_RML_MONO_RTF=B_LV_RZL_MONO_RTF,
    B_LV_RZL_STEREO_RTF, // 0x004d
    B_LV_RML_STEREO_RTF=B_LV_RZL_STEREO_RTF,
    B_CLV_REL_MONO     , // 0x004e
    B_CLV_REL_STEREO   , // 0x004f
    B_GVISION_CAMERA   , // 0x0050
    B_Last             ,
    B_BusFirst         ,
    B_GIGEBUS=B_BusFirst,
    B_USBBUS           ,
    B_GVISIONBUS       ,
    B_BusLast          ,
    B_NOBOARD   =0xffff,
    B_ALLBOARD  =0xffff
    };

// PrimaView
#define __IsPRV(x)  ((x)==B_LV_PRV9403 || (x)==B_LV_PRV9403_968)

// PicPort
#define __IsPPM(x)  ((x)==B_LV_PICPORTMONO || \
                     (x)==B_LV_PPM_CPCI || \
                     (x)==B_LV_PPM_PMC || \
                     (x)==B_LV_PPD_PMC || \
                     (x)==B_LV_PPM_IPCI)
#define __IsPPC(x)  ((x)==B_LV_PICPORTCOLOR || \
                     (x)==B_LV_PPC_CPCI || \
                     (x)==B_LV_PPC_PMC || \
                     (x)==B_LV_PPC_IPCI)
#define __IsPPI(x)  ((x)==B_LV_PPIO_PMC || \
					 (x)==B_LV_DIGIPORT_PMC || \
					 (x)==B_LV_DIGIPORT)
#define __IsPPX(x)  (__IsPPM(x) || __IsPPC(x) || __IsPPI(x) || (x)==B_LV_CHECKPPX)
#define __IsPMC(x)  ((x)==B_LV_PPC_PMC || \
                     (x)==B_LV_PPM_PMC || \
                     (x)==B_LV_PPD_PMC)
#define __IsPPXMod(x) ((x)==B_LV_PICMOD_XRAY || \
                       (x)==B_LV_PICMOD_DIG || \
                       (x)==B_LV_CHECKPICMOD || \
                       (x)==B_LV_PICMOD_ENC)

// PicProdigy
#define __IsPKC(x)     ((x)==B_LK_PKC)
#define __IsPKCLnk(x)  ((x)==B_LK_PKCAMLNK)
#define __IsPKX(x)  (__IsPKC(x) || __IsPKCLnk(x))

// Penticam mainboard
#define __IsPCM(x)  ((x)==B_PENTICAM_MB || (x)==B_PENTICAM2_MB)
// and modules
#define __IsPCMMod(x) ((x)==B_LVMPC_POWER || \
                       (x)==B_LVMPC_POWER_I || \
                       (x)==B_LVMPC_IDE || \
                       (x)==B_LVMPC_CARDBUS)

// PicPort Pro
#define __IsRXL(x)     ((x)==B_LV_RZL || (x)==B_LV_RPL)
#define __IsRTL(x)     ((x)==B_LV_RTL_MONO || (x)==B_LV_RTL_MONO_RTF || (x)==B_LV_RTL_STEREO || (x)==B_LV_RTL_STEREO_RTF)
#define __IsRML(x)     ((x)==B_LV_RML_MONO || (x)==B_LV_RML_MONO_RTF || (x)==B_LV_RML_STEREO || (x)==B_LV_RML_STEREO_RTF)
#define __IsRZL(x)     __IsRML(x)
#define __IsREL(x)     ((x)==B_LV_REL_MONO || (x)==B_CLV_REL_MONO || (x)==B_LV_REL_MONO_RTF || (x)==B_LV_REL_STEREO || (x)==B_CLV_REL_STEREO || (x)==B_LV_REL_STEREO_RTF || __IsRTL(x) || __IsRML(x))

#define __IsYXE(x)     (((x)==B_LV_YPCE) || ((x)==B_LV_REE_0864) || ((x)==B_LV_REE_1664) || ((x)==B_LV_REE_0864_RTF) || \
                        ((x)==B_LV_REE_1664_RTF) || ((x)==B_LV_RTE_0864) || ((x)==B_LV_RTE_1664) || ((x)==B_LV_RTE_0864_RTF) || ((x)==B_LV_RTE_1664_RTF))

#define __IsRXX(x)     (__IsRXL(x) || __IsREL(x) || __IsYXE(x))

#define __IsXXL(x)     (__IsRXL(x) || __IsREL(x))

// PicPortLite
#define __IsLXX(x)     ((x)==B_LV_LPC)

// xxx
#define __IsTXX(x)     ((x)==B_TW_6800)

#define __IsLvCam(x)   ((x)==B_LVCAM_NET)
#define __IsLvCamMod(x)((x)==B_LVCAMMODCAM)

#define __IsLvCamUSB(x)   ((x)==B_LVCAM_USB)

#define __IsLeutronDevice(x) (__IsPRV(x) || __IsPPX(x) || __IsPKX(x) || __IsRXX(x) || __IsLXX(x) || __IsTXX(x) || __IsLvCam(x) || __IsLvCamUSB(x) || (x)==B_LVMPC_CARDBUS)
#define __IsLeutronBoard(x) (__IsLeutronDevice(x) || __IsPCM(x) || __IsPPXMod(x) || __IsPCMMod(x) || __IsLvCam(x)) || __IsLvCamUSB(x)
#define __IsLeutronGrabber(x) (__IsPRV(x) || __IsPPX(x) || __IsPKX(x) || __IsRXX(x) || __IsLXX(x) || __IsLvCam(x)) || __IsLvCamUSB(x)

// Access Operation
#define RO_READ    0x01
#define RO_WRITE   0x02
#define RO_FLUSH   0x03
#define RO_SYNC    0x04

#define RO_WRITEPX 0x0a
#define RO_SAVE    0x21
#define RO_REST    0x22

#define RO_CHECK      0x10   //
#define RO_SHADOW     0x40   // Modifiers
#define RO_DONTSHADOW 0x80   //

#define RO_STOP    0xff   // Not to be used in out world interface

// Board type
#define BD_MAIN    0x00
#define BD_ADDON_1 0x01
#define BD_ADDON_2 0x02
#define BD_ADDON_3 0x03

#define BD_ALL     0xff

// macros for casting
#define LVCHIPIDX(x) ((U8BIT)(x))

// Novram Revision
#define NREV_00     0x00
#define NREV_01     0x01

// Specific settings
#define LSM_ProntoPhot_Miro20 0x100
#define LSM_PRV_1024_768_256  0x101
#define LSM_PRV_800_600_256   0x102
#define LSM_PRV_640_480_256   0x103

⌨️ 快捷键说明

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