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

📄 lut.h

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


#include <node.h>

#include <lvpackon.h>


LVDSYCLASS LvLUTNode : public Lv1In1OutNode {

    private:

    protected:

    public:

        virtual U32BIT GetType(void) { return ND_LUT; }
        virtual char FAR *GetName(void) { return "LUT"; }

                LvLUTNode(HDEVICE aDevice, U8BIT aModule, int anId=0, LPSTR ExtName=NULL, LvNode *aParentNode=NULL);
                ~LvLUTNode(void);

        virtual LVSTATUS SetVIDMUX(int Component, int VMux) { return DSY_E_NotSupported; }
        virtual LVSTATUS SetLowerLevel(int Component, int Level) { return DSY_E_NotSupported; }
        virtual LVSTATUS SetUpperLevel(int Component, int Level) { return DSY_E_NotSupported; }

        virtual LVSTATUS LoadGreyScale(int LutMode=8, int Component=ColCmp_All);
        virtual LVSTATUS LoadPalette(RGBQUAD *ThePalette, U16BIT NrItem, U8BIT StartValue=0) { return DSY_E_NotSupported; }
        virtual LVSTATUS SavePalette(RGBQUAD *ThePalette, U16BIT NrItem, U8BIT StartValue=0) { return DSY_E_NotSupported; }
        virtual LVSTATUS SetPaletteBitSize(U8BIT PalSize=8) { return DSY_E_NotSupported; }
        virtual U8BIT  GetPaletteBitSize(void) { return 8; }
        virtual LvRegister Get8_6BitReg(void) { return R_NOREG /* R_8BIT_6BIT */ ; }
        virtual LVSTATUS LoadZeroScale(int Component=ColCmp_All) { return DSY_E_NotSupported; }
    };


LVDSYCLASS LvStandardLUTNode : public LvLUTNode {

    private:

    protected:

    public:

        virtual char FAR *GetName(void) { return "Std LUT"; }

                LvStandardLUTNode(HDEVICE aDevice, U8BIT aModule, int anId=0, LPSTR ExtName=NULL, LvNode *aParentNode=NULL);
                ~LvStandardLUTNode(void);

        virtual LVSTATUS LoadPalette(RGBQUAD *ThePalette, U16BIT NrItem, U8BIT StartValue=0);
        virtual LVSTATUS SavePalette(RGBQUAD *ThePalette, U16BIT NrItem, U8BIT StartValue=0);
        virtual LVSTATUS LoadGreyScale(int LutMode=8, int Component=ColCmp_All);
        virtual LVSTATUS SetPaletteBitSize(U8BIT PalSize=8);
        virtual U8BIT  GetPaletteBitSize(void);
    };


LVDSYCLASS Lv9403LUTNode : public LvStandardLUTNode {

    private:

    protected:

    public:
        virtual char FAR *GetName(void) { return "9403 LUT"; }

                Lv9403LUTNode(HDEVICE aDevice, U8BIT aModule, int anId=0, LPSTR ExtName=NULL, LvNode *aParentNode=NULL);
                ~Lv9403LUTNode(void);

        virtual LvRegister Get8_6BitReg(void);
    };


LVDSYCLASS Lv9406LUTNode : public LvLUTNode {

    private:

    protected:

        virtual U16BIT GetNrLutItem(LvPort *FromPort);

        virtual void SaveStoreData(LvPort *FromPort, int Direction);
        virtual void RestoreStoreData(LvPort *FromPort, int Direction);
        virtual void GetStoreParameter(LvPort *FromPort, int Direction, U16BIT *SizeOfItem,
                                         BOOL *ShouldPack, U16BIT *SizeOfKey, U16BIT *aKeyOffset);
        virtual void GetStoreFreeKey(LvPort *FromPort, int Direction, void **FreeKey);

    public:

        virtual char FAR *GetName(void) { return "9406 LUT"; }

                Lv9406LUTNode(HDEVICE aDevice, U8BIT aModule, int anId=0, LPSTR ExtName=NULL, LvNode *aParentNode=NULL);
                ~Lv9406LUTNode(void);

        virtual LVSTATUS LoadGreyScale(int LutMode=8, int Component=ColCmp_All);
        virtual LVSTATUS LoadLUT(U8BIT *Values, U16BIT NrItem);

        virtual LVSTATUS ExecuteMCommand(U16BIT CmdId, U16BIT wParam, LVRAWPTR lParam, LVSTATUS *RetVal, LvPort *FromPort, U8BIT Direction);
    };



LVDSYCLASS Lv9601LUTNode : public LvLUTNode {

    private:

    protected:

        virtual U16BIT GetNrLutItem(LvPort *FromPort);

        virtual void SaveStoreData(LvPort *FromPort, int Direction);
        virtual void RestoreStoreData(LvPort *FromPort, int Direction);
        virtual void GetStoreParameter(LvPort *FromPort, int Direction, U16BIT *SizeOfItem,
                                         BOOL *ShouldPack, U16BIT *SizeOfKey, U16BIT *aKeyOffset);
        virtual void GetStoreFreeKey(LvPort *FromPort, int Direction, void **FreeKey);

        U8BIT ChipIndex;

    public:

        virtual char FAR *GetName(void) { return "9601 LUT"; }

                Lv9601LUTNode(HDEVICE aDevice, U8BIT aModule, int anId=0, LPSTR ExtName=NULL, LvNode *aParentNode=NULL, U8BIT ChipIndex=0);
                ~Lv9601LUTNode(void);

        virtual LVSTATUS LoadGreyScale(int LutMode=8, int Component=ColCmp_All);
        virtual LVSTATUS LoadLUT(U8BIT *Values, U16BIT NrItem);

        virtual LVSTATUS ExecuteMCommand(U16BIT CmdId, U16BIT wParam, LVRAWPTR lParam, LVSTATUS *RetVal, LvPort *FromPort, U8BIT Direction);
    };


#include <lvpackof.h>

#endif



⌨️ 快捷键说明

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