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

📄 grbcaps.h

📁 相机传输图像程序源代码 拜耳模式(RAW格式文件)与RGB图像数据互相转换函数库
💻 H
📖 第 1 页 / 共 2 页
字号:
 * @code
 *   1.1, 1.2, 1.3, ... 1.n, 2.1, 2.2, 2.3, ... 2.n
 * @endcode
 */
#define LvCap_Scn_2ForwardPixel_NI                    (1<<Scn_2ForwardPixel_NI)

/** Half-line, 2 taps, 1 line, Interlaced
 * @code
 *   1.1, 1.2, 1.3, ... 1.n, 2.1, 2.2, 2.3, ... 2.n
 * @endcode
 */
#define LvCap_Scn_2ForwardPixel_I                     (1<<Scn_2ForwardPixel_I)

/** Half-line - reverse, 2 taps, 1 line, Not Interlaced.
 * @code
 *   1.1, 1.2, 1.3, 1.4, ... 1.n, 2.n, ... 2.3, 2.2, 2.1
 * @endcode
 */
#define LvCap_Scn_2ConvergingPixel_NI                 (1<<Scn_2ConvergingPixel_NI)

/** Half-line - reverse, 2 taps, 1 line, Interlaced.
 * @code
 *   1.1, 1.2, 1.3, 1.4, ... 1.n, 2.n, ... 2.3, 2.2, 2.1
 * @endcode
 */
#define LvCap_Scn_2ConvergingPixel_I                  (1<<Scn_2ConvergingPixel_I)


/** 1-line, 4 taps, 1 line, Not Interlaced.
 * @code
 *   1.1, 2.1, 3.1, 4.1, 1.2, 2.2, 3.2, 4.2, 1.3, 2.3, 3.3, 4.3, ... 1.n, 2.n, 3.n, 4.n
 * @endcode
 */
#define LvCap_Scn_4tap_1Line_NI                       (1<<Scn_4tap_1Line_NI)

/** 1-line, 4 taps, 1 line, Interlaced.
 * @code
 *   1.1, 2.1, 3.1, 4.1, 1.2, 2.2, 3.2, 4.2, 1.3, 2.3, 3.3, 4.3, ... 1.n, 2.n, 3.n, 4.n
 * @endcode
 */ 
#define LvCap_Scn_4tap_1Line_I                        (1<<Scn_4tap_1Line_I)

/** Half-line, 4 taps, 1 line, Not Interlaced.
 * @code
 *   1.1, 2.1, 1.2, 2.2, ... 1.n, 2.n, 3.1, 4.1, 3.2, 4.2, ... 3.n, 4.n
 * @endcode
 */
#define LvCap_Scn_4tap_HalfLine_NI                    (1<<Scn_4tap_HalfLine_NI)

/** Half-line, 4 taps, 1 line, Interlaced.
 * @code
 *   1.1, 2.1, 1.2, 2.2, ... 1.n, 2.n, 3.1, 4.1, 3.2, 4.2, ... 3.n, 4.n
 * @endcode
 */
#define LvCap_Scn_4tap_HalfLine_I                     (1<<Scn_4tap_HalfLine_I)

/** Half-line reverse, 4 taps, 1 line, Not Interlaced.
 * @code
 *   1.1, 2.1, 1.2, 2.2, ... 1.n, 2.n, 4.n, 3.n, ... 4.2, 3.2, 4.1, 3.1
 * @endcode
 */
#define LvCap_Scn_4tap_HalfLineReverse_NI             (1<<Scn_4tap_HalfLineReverse_NI)

/** Half-line reverse, 4 taps, 1 line, Interlaced.
 * @code
 *   1.1, 2.1, 1.2, 2.2, ... 1.n, 2.n, 4.n, 3.n, ... 4.2, 3.2, 4.1, 3.1
 * @endcode
 */
#define LvCap_Scn_4tap_HalfLineReverse_I              (1<<Scn_4tap_HalfLineReverse_I)

/** 2-line, 4 taps, 2 lines, Not Interlaced.
 * @code
 *   1.1, 2.1, 1.2, 2.2, 1.3, 2.3, ... 1.n, 2.n
 *   3.1, 4.1, 3.2, 4.2, 3.3, 4.3, ... 3.n, 4.n
 * @endcode
 */
#define LvCap_Scn_4tap_2Line_NI                       (1<<Scn_4tap_2Line_NI)

/** 2-line, 4 taps, 2 lines, Interlaced.
 * @code
 *   1.1, 2.1, 1.2, 2.2, 1.3, 2.3, ... 1.n, 2.n
 *   3.1, 4.1, 3.2, 4.2, 3.3, 4.3, ... 3.n, 4.n
 * @endcode
 */
#define LvCap_Scn_4tap_2Line_I                        (1<<Scn_4tap_2Line_I)

/** 2-half-line, 4 taps, 2 lines, Not Interlaced.
 * @code
 *   1.1, 1.2, 1.3, ... 1.n, 2.1, 2.2, 2.3, ... 2.n
 *   3.1, 3.2, 3.3, ... 3.n, 4.1, 4.2, 4.3, ... 4.n
 * @endcode
 */
#define LvCap_Scn_4tap_2HalfLine_NI                   (1<<Scn_4tap_2HalfLine_NI)

/** 2-half-line, 4 taps, 2 lines, Interlaced.
 * @code
 *   1.1, 1.2, 1.3, ... 1.n, 2.1, 2.2, 2.3, ... 2.n
 *   3.1, 3.2, 3.3, ... 3.n, 4.1, 4.2, 4.3, ... 4.n
 * @endcode
 */
#define LvCap_Scn_4tap_2HalfLine_I                    (1<<Scn_4tap_2HalfLine_I)

/** 2-half-line-reverse, 4 taps, 2 lines, Not Interlaced.
 * @code
 *   1.1, 1.2, 1.3, ... 1.n, 2.n, ..., 2.3, 2.2, 2.1
 *   3.1, 3.2, 3.3, ... 3.n, 4.n, ..., 4.3, 4.2, 4.1
 * @endcode
 */
#define LvCap_Scn_4tap_2HalfLineReverse_NI            (1<<Scn_4tap_2HalfLineReverse_NI)

/** 2-half-line-reverse, 4 taps, 2 lines, Interlaced.
 * @code
 *   1.1, 1.2, 1.3, ... 1.n, 2.n, ..., 2.3, 2.2, 2.1
 *   3.1, 3.2, 3.3, ... 3.n, 4.n, ..., 4.3, 4.2, 4.1
 * @endcode
 */
#define LvCap_Scn_4tap_2HalfLineReverse_I             (1<<Scn_4tap_2HalfLineReverse_I)

/** 4-line, 4 taps, 4 lines, Not Interlaced.
 * @code
 *   1.1, 1.2, 1.3, ... 1.n
 *   2.1, 2.2, 2.3, ... 2.n
 *   3.1, 3.2, 3.3, ... 3.n
 *   4.1, 4.2, 4.3, ... 4.n
 * @endcode
 */
#define LvCap_Scn_4tap_4Line_NI                       (1<<Scn_4tap_4Line_NI)

/** 4-line, 4 taps, 4 lines, Interlaced.
 * @code
 *   1.1, 1.2, 1.3, ... 1.n
 *   2.1, 2.2, 2.3, ... 2.n
 *   3.1, 3.2, 3.3, ... 3.n
 *   4.1, 4.2, 4.3, ... 4.n
 * @endcode
 */
#define LvCap_Scn_4tap_4Line_I                        (1<<Scn_4tap_4Line_I)

/** Quarter-line, 4 taps, 1 line, Not Interlaced.
 * @code
 *   1.1, 1.2, ... 1.n, 2.1, 2.2, ... 2.n, 3.1, 3.2, ... 3.n, 4.1, 4.2, ... 4.n
 * @endcode
 */
#define LvCap_Scn_4tap_QuarterLine_NI                 (1<<Scn_4tap_QuarterLine_NI)

/** Quarter-line, 4 taps, 1 line, Interlaced.
 * @code
 *   1.1, 1.2, ... 1.n, 2.1, 2.2, ... 2.n, 3.1, 3.2, ... 3.n, 4.1, 4.2, ... 4.n
 * @endcode
 */
#define LvCap_Scn_4tap_QuarterLine_I                  (1<<Scn_4tap_QuarterLine_I)

/** Quarter-line reverse, 4 taps, 1 line, Not Interlaced.
 * @code
 *   1.1, 1.2, ... 1.n, 2.1, 2.2, ... 2.n, 4.n, ... 4.2, 4.1, 3.n, ... 3.2, 3.1
 * @endcode
 */
#define LvCap_Scn_4tap_QuarterLineReverse_NI          (1<<Scn_4tap_QuarterLineReverse_NI)

/** Quarter-line reverse, 4 taps, 1 line, Interlaced.
 * @code
 *   1.1, 1.2, ... 1.n, 2.1, 2.2, ... 2.n, 4.n, ... 4.2, 4.1, 3.n, ... 3.2, 3.1
 * @endcode
 */
#define LvCap_Scn_4tap_QuarterLineReverse_I           (1<<Scn_4tap_QuarterLineReverse_I)


/** 2-half-line-diverging, 4 taps, 2 lines, Not Interlaced.
 * @code
 *   1.n, ... 1.3, 1.2, 1.1, 2.1, 2.2, 2.3, ... 2.n
 *   3.n, ... 3.3, 3.2, 3.1, 4.1, 4.2, 4.3, ... 4.n
 * @endcode
 */
#define LvCap_Scn_2DivergingPixel_NI                  (1<<Scn_2DivergingPixel_NI)

/** 2-half-line-diverging, 4 taps, 2 lines, Interlaced.
 * @code
 *   1.n, ... 1.3, 1.2, 1.1, 2.1, 2.2, 2.3, ... 2.n
 *   3.n, ... 3.3, 3.2, 3.1, 4.1, 4.2, 4.3, ... 4.n
 * @endcode
 */
#define LvCap_Scn_2DivergingPixel_I                   (1<<Scn_2DivergingPixel_I)

/** Half-line-diverging, 4 taps, 1 line, Not Interlaced.
 * @code
 *   2.n, 1.n, ... 2.2, 1.2, 2.1, 1.1, 3.1, 4.1, 3.2, 4.2, ... 3.n, 4.n
 * @endcode
 */
#define LvCap_Scn_4tap_HalfLineDiverge_NI             (1<<Scn_4tap_HalfLineDiverge_NI)

/** Half-line-diverging, 4 taps, 1 line, Interlaced.
 * @code
 *   2.n, 1.n, ... 2.2, 1.2, 2.1, 1.1, 3.1, 4.1, 3.2, 4.2, ... 3.n, 4.n
 * @endcode
 */
#define LvCap_Scn_4tap_HalfLineDiverge_I              (1<<Scn_4tap_HalfLineDiverge_I)

// LvGC_Scan_1
/** 2-half-line-diverging, 4 taps, 2 lines, Not Interlaced.
 * @code
 *   1.n, ..., 1.3, 1.2, 1.1, 2.1, 2.2, 2.3, ... 2.n
 *   3.n, ..., 3.3, 3.2, 3.1, 4.1, 4.2, 4.3, ... 4.n
 * @endcode
 */
#define LvCap_Scn_4tap_2HalfLineDiverge_NI            (1<<(Scn_4tap_2HalfLineDiverge_NI-32))

/** 2-half-line-diverging, 4 taps, 2 lines, Interlaced.
 * @code
 *   1.n, ..., 1.3, 1.2, 1.1, 2.1, 2.2, 2.3, ... 2.n
 *   3.n, ..., 3.3, 3.2, 3.1, 4.1, 4.2, 4.3, ... 4.n
 * @endcode
 */
#define LvCap_Scn_4tap_2HalfLineDiverge_I             (1<<(Scn_4tap_2HalfLineDiverge_I-32))

/** Quarter-line diverging, 4 taps, 1 line, Not Interlaced.
 * @code
 *   2.n, ..., 2.2, 2.1, 1.n, ..., 1.2, 1.1, 3.1, 3.2, ..., 3.n, 4.1, 4.2, ..., 4.n
 * @endcode
 */
#define LvCap_Scn_4tap_QuarterLineDiverge_NI          (1<<(Scn_4tap_QuarterLineDiverge_NI-32))

/** Quarter-line diverging, 4 taps, 1 line, Interlaced.
 * @code
 *   2.n, ..., 2.2, 2.1, 1.n, ..., 1.2, 1.1, 3.1, 3.2, ..., 3.n, 4.1, 4.2, ..., 4.n
 * @endcode
 */
#define LvCap_Scn_4tap_QuarterLineDiverge_I           (1<<(Scn_4tap_QuarterLineDiverge_I-32))
//@}

// LvGC_EncoderType
#define LvCap_EncType_None          0
#define LvCap_EncType_Basic         1
#define LvCap_EncType_Enhanced      2



#define LvCap_Model_Undefined                    0x00000000
#define LvCap_Model_PicSightGigE                 0x00100000
    #define LvCap_Model_PicSightGigE_Standard    (LvCap_Model_PicSightGigE | 0)
    #define LvCap_Model_PicSightGigE_RTF         (LvCap_Model_PicSightGigE | 1)
    #define LvCap_Model_PicSightGigE_Smart       (LvCap_Model_PicSightGigE | 2)

#define LvCap_Model_PicSightUSB                  0x00200000
    #define LvCap_Model_PicSightUSB_Standard     (LvCap_Model_PicSightUSB  | 0)



/** Enumeration of grabber capabilities.
 * @ingroup GrabberCapabilities
 * These enumarations could be filled in the function LvGrabberNode::GetGrabberCapability() and
 * it provides several information of your grabber use.
 */
enum _LvGrabCap {
    // Grabber related
    LvGC_Grabber_First=0,

    /** Use this enum for retrieve info if the grabber object represents
     * Leutron Vision device.
     */
    LvGC_IsLeutron=LvGC_Grabber_First,
    LvGC_NrSubGrabber,    /**< Provides number of available subgrabbers of the grabber object. */
    /*? Returns a binary mask of the supported video types on the board.
     * The return value is a combination of the values, representing the video types
     * that can be handled by the grabber. These values could be found in group @ref GrGC_InputType
     */
    LvGC_InputType,
    /** Returns the properties of the on-board input optocouplers.
     * Possible returned types are listed in @ref LvCap_Opto
     */
    LvGC_OptoIn,
    /** Returns the properties of the on-board input optocouplers.
     * Possible returned types are listed in @ref LvCap_Opto
     */
    LvGC_OptoOut,
    LvGC_Fpga,
    /** Returns the OR-ed combination of LUT types supported on the given grabber. 
     * These types are listed in @ref LvCap_Lut
     */
    LvGC_Lut, 
    /** Returns the IRQ definition set to be used to get notifications from LVSDS 
     * about IRQs on the current grabber; the return values is defined in @ref LvGC_IrqSet
     */
    LvGC_IrqSet,

    /** Retrieve OR-ed combination of flags representing the Sequencer DRAL types
     *  supported by the grabber.
     * There is several flags which could be retrieve after getting capabilities with this enum.
     * For its definitions see @ref LvGC_SeqDralSupport
     */
    LvGC_SeqDralSupport,
    LvGC_MiscFlag,  /**< Returns OR-ed combination of miscellaneous flags which cannot be inserted in any other group. For available flags see @ref LvGC_Flag */
    LvGC_FrameBufferBase,
    LvGC_FrameBufferChanSize,
    LvGC_PageTableBaseOffset,
    LvGC_OwnSubGrbMemory,
    LvGC_DefaultBufferSize,
    LvGC_GeneralComPort, /*! PicProdigy */
    /** Returns number of the serial ports which are installed into the Camera Link interface.
     * Practically it mean that return value will be the same as the number of CL connectors
     */
    LvGC_DedicatedComPort,
    LvGC_BufferChunk,
    LvGC_Grabber_Last,
    LvGC_DriverType,
    LvGC_Query,
    LvGC_ReserveStatus,
    LvGC_Scan_0, /**< Returns OR-ed combination of tap formats. See @ref LvGC_Scan_0 for possible return flags. */
    LvGC_Scan_1,
    LvGC_EncoderType,
    LvGC_DeviceModel,
    // SubGrabber related
    LvGC_SubGrabber_First=1000,
    LvGC_NrTargets=LvGC_SubGrabber_First, /**< Returns number of targets available on the subgrabber */
    LvGC_Targets, /**< Returns OR-ed combination of @ref Targets "Targets" available on the subgrabber */
    LvGC_PageTableSize,        // Per channel
    LvGC_PageTableOffset,      // Per channel
    LvGC_ImageInfoPtr,         // Per channel
    LvGC_ImageInfoSize,
	LvGC_FrameBufferChanBase,
	LvGC_FrameBufferChannelSize,
    /** Helps to determine which notification type should be used for a given subgrabber.
     * It returns interrupt of end-of-frame notification for the grabber. Because there exist several grabbers
     * there exist several different end-of-frame interrupts and programmer has to handle them along which grabber is used.
     * To make his life easy and his code more readable the programmer could ask the grabber for accurate interrupt of
     * end-of-frame notification using this definition.
     * See \b Section \b 3.3.2, \b 揊inding \b proper \b end-of-frame \b notification \b type

⌨️ 快捷键说明

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