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

📄 lvcamdef.h

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

#include <lvdef.h>
#include <cls_def.h>

#include <lvpackon.h>

#define Max_CamDescStrLength 31

#ifndef HANDLE_INVALID
#define HANDLE_INVALID 0xffff
#endif

/*? @defgroup CameraSignal CameraSignal - Camera signal definitions */
//@{
/*? Analog video line. */
#define CSig_AVideo         0x00
/*? Digital video line. */
#define CSig_DVideo         0x01
/*? Analog video + synchronization on the same line. */
#define CSig_VideoSync      0x02
/*? Composite synchronization line. */
#define CSig_CSync          0x03
/*? Horizontal synchronization line. */
#define CSig_HSync          0x04
/*? Vertical synchronization line. */
#define CSig_VSync          0x05
/*? Pixel clock line. */
#define CSig_PxlClock       0x06
/*? Auxiliary line. */
#define CSig_Auxiliary      0x07
//@}

#define CSig_Last           0x08
#define CSig_DataValid      CSig_Auxiliary



/*? @defgroup CameraSignalIO CameraSignalIO - Camera signals definitions for i/o */
//?@{
/*? The line is in input to the camera. */
#define CSigIO_Input        0x00
/*? The line is in output from the camera. */
#define CSigIO_Output       0x01
//?@}


/*? @defgroup CameraSignalPolarity CameraSignalPolarity - Camera signals definitions for line polarity */
//?@{
/*? Line is active low. */
#define CSigPol_Pos        0x00
/*? Line is active high. */
#define CSigPol_Neg        0x01
//?@}


#define CSigLn_Single       0x00
#define CSigLn_Differential 0x01

/*? @defgroup TimingType TimingType - Supported analog timing types */
//?@{
/*? CCIR timing type. */
#define TimT_CCIR             0x8000
/*? RS170 timing type. */
#define TimT_RS170            0x8001
#define TimT_Last             0x8002
//?@}



/*? @defgroup VideoTypeId VideoTypeId - Supported video types */
//?@{
/*? Monochrome. */
#define VT_Mono            0x00
/*? RGB. */
#define VT_RGB             0x01
/*? Composite YC .*/
#define VT_YC_Comp         0x02
/*? Separate YC. */
#define VT_YC_Sep          0x03
#define VT_Last            0x04
//?@}




/*? @defgroup AnalogColorCoding Supported analog color coding.*/
//?@{
/*? Do not care */
#define ACC_ByPass      0x00
/*? PAL color coding */
#define ACC_PAL         0x01
/*? NTSC color coding */
#define ACC_NTSC        0x02
/*? Bayer array color encoding. */
#define ACC_BayerArray  0x03
/*? SECAM coding */
#define ACC_SECAM       0x04
/*? PAL M coding */
#define ACC_PAL_M       0x05
#define ACC_Last        0x06
//?@}



enum _Dvs {
    Dvs_ToBeDefined,                  //  0
    Dvs_BW_6,                         //  1
    Dvs_BW_8,                         //  2
    Dvs_BW_10,                        //  3
    Dvs_BW_8_8,                       //  4
    Dvs_BW_2x8=Dvs_BW_8_8,            //  4
    Dvs_RGB_555,                      //  5
    Dvs_RGB_565,                      //  6
    Dvs_RGB_888,                      //  7
    Dvs_YCC_422,                      //  8
    Dvs_YCS_444,                      //  9
    Dvs_BW_12,                        // 10
    Dvs_BW_14,                        // 11
    Dvs_BW_16,                        // 12
    Dvs_BW_10_10,                     // 13
    Dvs_BW_2x10=Dvs_BW_10_10,         // 13
    Dvs_BW_12_12,                     // 14
    Dvs_BW_2x12=Dvs_BW_12_12,         // 14
    Dvs_BW_14_14,                     // 15
    Dvs_BW_2x14=Dvs_BW_14_14,         // 15
    Dvs_BW_16_16,                     // 16
    Dvs_BW_2x16=Dvs_BW_16_16,         // 16
    Dvs_BW_4x8,                       // 17
    Dvs_BW_4x10,                      // 18
    Dvs_BW_4x12,                      // 19
    Dvs_BW_4x14,                      // 20
    Dvs_BW_4x16,                      // 21
    Dvs_RGB_10,                       // 22
    Dvs_RGB_12,                       // 23
    Dvs_RGB_14,                       // 24
    Dvs_RGB_16,                       // 25
    Dvs_Last                          // 26
};


/** ScanModeId - Definition of the recognized scanning modes
 * @ingroup DaisyEnums
 */
enum _ScanMode {
    /** Camera is interlaced. */
    Scn_Interlaced,                       //  0
    /** Camera is non-interlaced. */
    Scn_NotInterlaced,                    //  1
                                          //
    /** Camera supplies two fields at the same time through different video lines. */
    Scn_ParallelField_NI,                 //  2
    /** Camera supplies two fields at the same time through different video lines. */
    Scn_ParallelField_I,                  //  3
    /** 1-line, 2 taps, 1 line, Not Interlaced
     * @code
     *   1.1, 2.1, 1.2, 2.2, 1.3, 2.3, 1.4, 2.4, ... 1.n, 2.n
     * @endcode
     */
    Scn_ParallelPixel_NI,                 //  4
    /** 1-line, 2 taps, 1 line, Interlaced
     * @code
     *   1.1, 2.1, 1.2, 2.2, 1.3, 2.3, 1.4, 2.4, ... 1.n, 2.n
     * @endcode
     */
    Scn_ParallelPixel_I,                  //  5
    /** Half-line, 2 taps, 1 line, Not Interlaced
     * @code
     *   1.1, 1.2, 1.3, ... 1.n, 2.1, 2.2, 2.3, ... 2.n
     * @endcode
     */
    Scn_2ForwardPixel_NI,                 //  6
    /** 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
     */
    Scn_2ForwardPixel_I,                  //  7
    /** 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
     */
    Scn_2ConvergingPixel_NI,              //  8
    /** 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
     */
    Scn_2ConvergingPixel_I,               //  9
                                          //
    /** 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
     */
    Scn_4tap_1Line_NI,                    // 10
    /** 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
     */ 
    Scn_4tap_1Line_I,                     // 11
    /** 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
     */
    Scn_4tap_HalfLine_NI,                 // 12
    /** 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
     */
    Scn_4tap_HalfLine_I,                  // 13
    /** 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
     */
    Scn_4tap_HalfLineReverse_NI,          // 14
    /** 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
     */
    Scn_4tap_HalfLineReverse_I,           // 15
    /** 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
     */
    Scn_4tap_2Line_NI,                    // 16
    /** 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
     */
    Scn_4tap_2Line_I,                     // 17
    /** 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
     */
    Scn_4tap_2HalfLine_NI,                // 18
    /** 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
     */
    Scn_4tap_2HalfLine_I,                 // 19
    /** 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
     */
    Scn_4tap_2HalfLineReverse_NI,         // 20
    /** 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
     */
    Scn_4tap_2HalfLineReverse_I,          // 21
    /** 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
     */
    Scn_4tap_4Line_NI,                    // 22
    /** 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
     */
    Scn_4tap_4Line_I,                     // 23
    /** 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
     */
    Scn_4tap_QuarterLine_NI,              // 24
    /** 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
     */
    Scn_4tap_QuarterLine_I,               // 25
    /** 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
     */
    Scn_4tap_QuarterLineReverse_NI,       // 26
    /** 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
     */
    Scn_4tap_QuarterLineReverse_I,        // 27
                                          //
    /** 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
     */
    Scn_2DivergingPixel_NI,               // 28
    /** 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
     */
    Scn_2DivergingPixel_I,                // 29
    /** 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
     */
    Scn_4tap_HalfLineDiverge_NI,          // 30
    /** 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
     */
    Scn_4tap_HalfLineDiverge_I,           // 31
    /** 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
     */
    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
     */
    Scn_4tap_2HalfLineDiverge_I,          // 33
    /** Quarter-line diverging, 4 taps, 1 line, Not Interlaced.
     * @code

⌨️ 快捷键说明

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