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

📄 adapterprops.h

📁 三星2440原版bsp
💻 H
📖 第 1 页 / 共 5 页
字号:
	0, 0, 0
	/*
        0xF800,                             // DWORD dwBitMasks[CS_iMASK_COLORS];
        0x07E0, 
        0x001F
	*/
    }
}; 


//for PQVGA
#undef FRAMERATE
#undef DX            
#undef DY            
#undef DBITCOUNT 

#define DX          240
#define DY          320
#define DBITCOUNT    16
#define FRAMERATE    15

CS_DATARANGE_VIDEO DCAM_StreamMode_9 = 
{
    // CSDATARANGE
    {   
        sizeof (CS_DATARANGE_VIDEO),     // Flags
        0,
        SAMPLESIZE,                      // SampleSize
        0,                               // Reserved
        STATIC_CSDATAFORMAT_TYPE_VIDEO,  
        0x32315659, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71,	///YV12
        STATIC_CSDATAFORMAT_SPECIFIER_VIDEOINFO
    },

    TRUE,                   // BOOL,  bFixedSizeSamples (all samples same size?)
    TRUE,                   // BOOL,  bTemporalCompression (all I frames?)
    CS_VIDEOSTREAM_CAPTURE, // StreamDescriptionFlags  (CS_VIDEO_DESC_*)
    0,                      // MemoryAllocationFlags   (CS_VIDEO_ALLOC_*)

    // _CS_VIDEO_STREAM_CONFIG_CAPS  
    {
        STATIC_CSDATAFORMAT_SPECIFIER_VIDEOINFO, 
        CS_AnalogVideo_None, // AnalogVideoStandard
        DX,DY,    // InputSize, (the inherent size of the incoming signal
                  //             with every digitized pixel unique)
        DX,DY,    // MinCroppingSize, smallest rcSrc cropping rect allowed
        DX,DY,    // MaxCroppingSize, largest  rcSrc cropping rect allowed
        1,        // CropGranularityX, granularity of cropping size
        1,        // CropGranularityY
        1,        // CropAlignX, alignment of cropping rect 
        1,        // CropAlignY;
        DX, DY,   // MinOutputSize, smallest bitmap stream can produce
        DX, DY,   // MaxOutputSize, largest  bitmap stream can produce
        DX,       // OutputGranularityX, granularity of output bitmap size
        DY,       // OutputGranularityY;
        0,        // StretchTapsX  (0 no stretch, 1 pix dup, 2 interp...)
        0,        // StretchTapsY
        0,        // ShrinkTapsX 
        0,        // ShrinkTapsY 
        // Allow 1% difference
        FRAMEINTERVAL_15FPS,    // MinFrameInterval (10,000,000 / 15.00FPS), 100nS units
        FRAMEINTERVAL_3_75FPS,  // MaxFrameInterval (10,000,000 /  3.75FPS), 100nS units
        BITRATE / 4,            // (DX * DY * DBITCOUNT) * DFPS_MIN,    // MinBitsPerSecond (3.75 FPS);
        BITRATE,                // (DX * DY * DBITCOUNT) * DFPS_MAX     // MaxBitsPerSecond (15.0 FPS);
    }, 
        
    // CS_VIDEOINFOHEADER (default format)
    {
        0,0,0,0,                            // RECT  rcSource; 
        0,0,0,0,                            // RECT  rcTarget; 
        BITRATE,                            // DWORD dwBitRate; 153600 * 15FPS * 8 bit/Byte
        0L,                                 // DWORD dwBitErrorRate;   
        REFTIME_15FPS,                      // REFERENCE_TIME  AvgTimePerFrame (15 FPS); 
        sizeof (CS_BITMAPINFOHEADER),       // DWORD biSize;
        DX,                                 // LONG  biWidth;
        DY,                                 // LONG  biHeight;
        1,                        // WORD  biPlanes;
        DBITCOUNT,                // WORD  biBitCount;
        CS_BI_BITFIELDS | BI_SRCPREROTATE, // biCompression;
        SAMPLESIZE,               // DWORD biSizeImage;
        0,                        // LONG  biXPelsPerMeter;
        0,                        // LONG  biYPelsPerMeter;
        0,                        // DWORD biClrUsed;
        0,                        // DWORD biClrImportant;
        0xF800,                   // DWORD dwBitMasks[CS_iMASK_COLORS];
        0x07E0, 
        0x001F
    }
}; 


//for QVGA
#undef FRAMERATE
#undef DX            
#undef DY            
#undef DBITCOUNT 
   

#define DX          320
#define DY          240
#define DBITCOUNT    16
#define FRAMERATE    15

// To support mode4, 320x240, RGB
CS_DATARANGE_VIDEO DCAM_StreamMode_10 = 
{
    // CSDATARANGE
    {   
        sizeof (CS_DATARANGE_VIDEO),
        0,                  // Flags
        SAMPLESIZE, // SampleSize
        0,                  // Reserved
        STATIC_CSDATAFORMAT_TYPE_VIDEO,
        0x32315659, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71,	///YV12
        STATIC_CSDATAFORMAT_SPECIFIER_VIDEOINFO
    },

    TRUE,                   // BOOL, bFixedSizeSamples (all samples same size?)
    TRUE,                   // BOOL, bTemporalCompression (all I frames?)
    CS_VIDEOSTREAM_CAPTURE, // StreamDescriptionFlags  (CS_VIDEO_DESC_*)
    0,                      // MemoryAllocationFlags   (CS_VIDEO_ALLOC_*)

    // _CS_VIDEO_STREAM_CONFIG_CAPS  
    {
        STATIC_CSDATAFORMAT_SPECIFIER_VIDEOINFO, 
        CS_AnalogVideo_None, // AnalogVideoStandard
        DX,DY,     // InputSize, (the inherent size of the incoming signal
                   //             with every digitized pixel unique)
        DX,DY,     // MinCroppingSize, smallest rcSrc cropping rect allowed
        DX,DY,     // MaxCroppingSize, largest  rcSrc cropping rect allowed
        1,         // CropGranularityX, granularity of cropping size
        1,         // CropGranularityY
        1,         // CropAlignX, alignment of cropping rect 
        1,         // CropAlignY;
        DX, DY,    // MinOutputSize, smallest bitmap stream can produce
        DX, DY,    // MaxOutputSize, largest  bitmap stream can produce
        DX,        // OutputGranularityX, granularity of output bitmap size
        DY,        // OutputGranularityY;
        0,         // StretchTapsX  (0 no stretch, 1 pix dup, 2 interp...)
        0,         // StretchTapsY
        0,         // ShrinkTapsX 
        0,         // ShrinkTapsY 
        FRAMEINTERVAL_15FPS,     // MinFrameInterval (10,000,000 / 15.00FPS), 100nS units
        FRAMEINTERVAL_7_5FPS,    // MaxFrameInterval (10,000,000 /  7.50FPS), 100nS units
        BITRATE / 2,             // MinBitsPerSecond ( 7.50 FPS);
        BITRATE                  // MaxBitsPerSecond (15.00 FPS);
    }, 
        
    // CS_VIDEOINFOHEADER (default format)
    {
        0,0,0,0,                            // RECT  rcSource; 
        0,0,0,0,                            // RECT  rcTarget; 
        BITRATE,                            // DWORD dwBitRate;
        0L,                                 // DWORD dwBitErrorRate;   
        REFTIME_15FPS,                      // REFERENCE_TIME  AvgTimePerFrame. For (15 FPS) use 666666.
        {
            sizeof (CS_BITMAPINFOHEADER),       // DWORD biSize;
            DX,                                 // LONG  biWidth;
            DY,                                 // LONG  biHeight; -biHeight indicate TopDown for RGB
            1,                                  // WORD  biPlanes;
            DBITCOUNT,                          // WORD  biBitCount;
            CS_BI_BITFIELDS | BI_SRCPREROTATE,  // DWORD biCompression;
            SAMPLESIZE,                         // DWORD biSizeImage;
            0,                                  // LONG  biXPelsPerMeter;
            0,                                  // LONG  biYPelsPerMeter;
            0,                                  // DWORD biClrUsed;
            0                                   // DWORD biClrImportant;
        },
        {
            0xF800,                             // DWORD dwBitMasks[CS_iMASK_COLORS];
            0x07E0, 
            0x001F
        }    
    }
};

#undef FRAMERATE
#undef DX            
#undef DY            
#undef DBITCOUNT 
   

//For Preview RGB656
#define DX          240
#define DY          180
#define DBITCOUNT    16
#define FRAMERATE    15

// To support mode4, 640x480, RGB
CS_DATARANGE_VIDEO DCAM_StreamMode_11 = 
{
    // CSDATARANGE
    {   
        sizeof (CS_DATARANGE_VIDEO),
        0,                  // Flags
        SAMPLESIZE,         // SampleSize
        0,                  // Reserved
        STATIC_CSDATAFORMAT_TYPE_VIDEO,
        0xE436EB7B, 0x524F, 0x11CE, 0x9F, 0x53, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70, 
        STATIC_CSDATAFORMAT_SPECIFIER_VIDEOINFO
    },

    TRUE,                   // BOOL, bFixedSizeSamples (all samples same size?)
    TRUE,                   // BOOL, bTemporalCompression (all I frames?)
    CS_VIDEOSTREAM_CAPTURE, // StreamDescriptionFlags  (CS_VIDEO_DESC_*)
    0,                      // MemoryAllocationFlags   (CS_VIDEO_ALLOC_*)

    // _CS_VIDEO_STREAM_CONFIG_CAPS  
    {
        STATIC_CSDATAFORMAT_SPECIFIER_VIDEOINFO, 
        CS_AnalogVideo_None, // AnalogVideoStandard
        DX,DY,     // InputSize, (the inherent size of the incoming signal
                   //             with every digitized pixel unique)
        DX,DY,     // MinCroppingSize, smallest rcSrc cropping rect allowed
        DX,DY,     // MaxCroppingSize, largest  rcSrc cropping rect allowed
        1,         // CropGranularityX, granularity of cropping size
        1,         // CropGranularityY
        1,         // CropAlignX, alignment of cropping rect 
        1,         // CropAlignY;
        DX, DY,    // MinOutputSize, smallest bitmap stream can produce
        DX, DY,    // MaxOutputSize, largest  bitmap stream can produce
        DX,        // OutputGranularityX, granularity of output bitmap size
        DY,        // OutputGranularityY;
        0,         // StretchTapsX  (0 no stretch, 1 pix dup, 2 interp...)
        0,         // StretchTapsY
        0,         // ShrinkTapsX 
        0,         // ShrinkTapsY 
        FRAMEINTERVAL_15FPS,     // MinFrameInterval (10,000,000 / 15.00FPS), 100nS units
        FRAMEINTERVAL_7_5FPS,    // MaxFrameInterval (10,000,000 /  7.50FPS), 100nS units
        BITRATE / 2,             // MinBitsPerSecond ( 7.50 FPS);
        BITRATE                  // MaxBitsPerSecond (15.00 FPS);
    }, 
        
    // CS_VIDEOINFOHEADER (default format)
    {
        0,0,0,0,                            // RECT  rcSource; 
        0,0,0,0,                            // RECT  rcTarget; 
        BITRATE,                            // DWORD dwBitRate;
        0L,                                 // DWORD dwBitErrorRate;   
        REFTIME_15FPS,                      // REFERENCE_TIME  AvgTimePerFrame. For (15 FPS) use 666666.
        {
            sizeof (CS_BITMAPINFOHEADER),       // DWORD biSize;
            DX,                                // LONG  biWidth;
            -DY,                             	// LONG  biHeight; -biHeight indicate TopDown for RGB
            1,                                  	// WORD  biPlanes;
            DBITCOUNT,                  	// WORD  biBitCount;
            CS_BI_BITFIELDS,  		// DWORD biCompression;
            SAMPLESIZE,              	// DWORD biSizeImage;
            0,                                  // LONG  biXPelsPerMeter;
            0,                                  // LONG  biYPelsPerMeter;
            0,                                  // DWORD biClrUsed;
            0                                   // DWORD biClrImportant;
        },
        {
            0xF800,                             // DWORD dwBitMasks[CS_iMASK_COLORS];
            0x07E0, 
            0x001F
        }    
    }
};
#endif // EXTERN_PROP_VALUES


// DEFINES for PROPSETID_VIDCAP_VIDEOPROCAMP

typedef enum {
    // VideoProcAmp
    ENUM_BRIGHTNESS = 0,
    ENUM_CONTRAST,
    ENUM_HUE,
    ENUM_SATURATION,
    ENUM_SHARPNESS,
    ENUM_GAMMA,
    ENUM_COLORENABLE,
    ENUM_WHITEBALANCE,
    ENUM_BACKLIGHT_COMPENSATION,
    ENUM_GAIN,

    // CameraControl
    ENUM_PAN,
    ENUM_TILT,
    ENUM_ROLL,
    ENUM_ZOOM,
    ENUM_IRIS,
    ENUM_EXPOSURE,
    ENUM_FOCUS,
    ENUM_FLASH

} ENUM_DEV_PROP;

// ------------------------------------------------------------------------
static CSPROPERTY_STEPPING_LONG BrightnessRangeAndStep [] = 
{
    {
        1,                  // SteppingDelta (range / steps)
        0,                  // Reserved
        -10000,             // Minimum in (IRE * 100) units
        10000               // Maximum in (IRE * 100) units
    }
};

const static LONG BrightnessDefault = 750;

static CSPROPERTY_MEMBERSLIST BrightnessMembersList [] = 
{
    {
        /*CSPROPERTY_MEMBERSHEADER*/
        {    
            CSPROPERTY_MEMBER_RANGES,                /*MembersFlags*/
            sizeof (CSPROPERTY_STEPPING_LONG),       /*MembersSize*/
            SIZEOF_ARRAY (BrightnessRangeAndStep),   /*MembersCount*/
            0                                        /*flags 0 or CSPROPERTY_MEMBER_FLAG_DEFAULT*/
        },
        /*Members*/
        (PVOID) BrightnessRangeAndStep,
     },
     {
        {
            CSPROPERTY_MEMBER_VALUES,
            sizeof (BrightnessDefault),
            1,
            CSPROPERTY_MEMBER_FLAG_DEFAULT
        },
        (PVOID) &BrightnessDefault,
    }    
};

static CSPROPERTY_VALUES BrightnessValues =
{
    {
        STATICGUIDOF (CSPROPTYPESETID_General),
        VT_I4,
        0
    },
    SIZEOF_ARRAY (BrightnessMembersList),
    BrightnessMembersList
};

// ------------------------------------------------------------------------
// The contrast value is expressed as a gain factor multiplied by 100. 
static CSPROPERTY_STEPPING_LONG ContrastRangeAndStep [] = 
{
    {
        1,                  // SteppingDelta (range / steps)
        0,                  // Reserved
        0,                  // Minimum as a gain factor multiplied by 100
        10000               // Maximum as a gain factor multiplied by 100
    }
};

const static LONG ContrastDefault = 100;

static CSPROPERTY_MEMBERSLIST ContrastMembersList [] = 
{
    {
        /*CSPROPERTY_MEMBERSHEADER*/
        {    
            CSPROPERTY_MEMBER_RANGES,                /*MembersFlags*/
            sizeof (CSPROPERTY_STEPPING_LONG),       /*MembersSize*/

⌨️ 快捷键说明

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