📄 adapterprops.h
字号:
0, // LONG biXPelsPerMeter;
0, // LONG biYPelsPerMeter;
0, // DWORD biClrUsed;
0, // DWORD biClrImportant;
0,0,0 // DWORD dwBitMasks
}
};
#undef DX
#undef DY
#undef DBITCOUNT
#define DX 640
#define DY 480
#define DBITCOUNT 16
// To support mode4, 640x480, RGB 5:6:5
CS_DATARANGE_VIDEO DCAM_StreamMode_3 =
{
// CSDATARANGE
{
sizeof (CS_DATARANGE_VIDEO),
0, // Flags
614400, // 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_PREVIEW, // 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;
160, 120, // 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
333000, // MinFrameInterval (10,000,000 / 30.00FPS), 100nS units
1000000, // MaxFrameInterval (10,000,000 / 10.00FPS), 100nS units
3072000, // MinBitsPerSecond ( 10.00 FPS);
147456000 // MaxBitsPerSecond (30.00 FPS);
},
// CS_VIDEOINFOHEADER (default format)
{
0,0,0,0, // RECT rcSource;
0,0,0,0, // RECT rcTarget;
147456000, // DWORD dwBitRate; 614400 * 30FPS * 8 bit/Byte;
0L, // DWORD dwBitErrorRate;
333333, // REFERENCE_TIME AvgTimePerFrame (30 FPS);
{
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;
614400, // 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
// CameraControl
ENUM_ZOOM,
ENUM_TILT,
ENUM_PAN,
ENUM_ROLL,
ENUM_IRIS,
ENUM_EXPOSURE,
ENUM_FOCUS,
} ENUM_DEV_PROP;
// ------------------------------------------------------------------------
static CSPROPERTY_STEPPING_LONG ZoomRangeAndStep [] =
{
{
1, // SteppingDelta (range / steps)
0, // Reserved
1,
2
}
};
const static LONG ZoomDefault = 1 ;
static CSPROPERTY_MEMBERSLIST ZoomMembersList[] =
{
{
{
CSPROPERTY_MEMBER_RANGES,
sizeof (CSPROPERTY_STEPPING_LONG),
SIZEOF_ARRAY (ZoomRangeAndStep),
0
},
(PVOID) ZoomRangeAndStep,
},
{
{
CSPROPERTY_MEMBER_VALUES,
sizeof (ZoomDefault),
1,
CSPROPERTY_MEMBER_FLAG_DEFAULT
},
(PVOID) &ZoomDefault,
}
};
static CSPROPERTY_VALUES ZoomValues =
{
{
STATICGUIDOF (CSPROPTYPESETID_General),
VT_I4,
0
},
SIZEOF_ARRAY (ZoomMembersList),
ZoomMembersList
};
// Tilt is used to control whether rotation is turned on or off
static CSPROPERTY_STEPPING_LONG TiltRangeAndStep [] =
{
{
90, // SteppingDelta (range / steps)
0, // Reserved
0,
90
}
};
const static LONG TiltDefault = 0;
static CSPROPERTY_MEMBERSLIST TiltMembersList[] =
{
{
{
CSPROPERTY_MEMBER_RANGES,
sizeof (CSPROPERTY_STEPPING_LONG),
SIZEOF_ARRAY (TiltRangeAndStep),
0
},
(PVOID) TiltRangeAndStep,
},
{
{
CSPROPERTY_MEMBER_VALUES,
sizeof (TiltDefault),
1,
CSPROPERTY_MEMBER_FLAG_DEFAULT
},
(PVOID) &TiltDefault,
}
};
static CSPROPERTY_VALUES TiltValues =
{
{
STATICGUIDOF (CSPROPTYPESETID_General),
VT_I4,
0
},
SIZEOF_ARRAY (TiltMembersList),
TiltMembersList
};
// ------------------------------------------------------------------------
DEFINE_CSPROPERTY_TABLE(CameraControlProperties)
{
DEFINE_CSPROPERTY_ITEM
(
CSPROPERTY_CAMERACONTROL_ZOOM,
TRUE, // GetSupported or Handler
sizeof(CSPROPERTY_CAMERACONTROL_S), // MinProperty
sizeof(CSPROPERTY_CAMERACONTROL_S), // MinData
TRUE, // SetSupported or Handler
&ZoomValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
),
DEFINE_CSPROPERTY_ITEM
(
CSPROPERTY_CAMERACONTROL_TILT,
TRUE, // GetSupported or Handler
sizeof(CSPROPERTY_CAMERACONTROL_S), // MinProperty
sizeof(CSPROPERTY_CAMERACONTROL_S), // MinData
TRUE, // SetSupported or Handler
&TiltValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
),
};
// ------------------------------------------------------------------------
// Array of all of the property sets supported by the adapter
// ------------------------------------------------------------------------
DEFINE_CSPROPERTY_SET_TABLE(AdapterPropertyTable)
{
DEFINE_CSPROPERTY_SET
(
&PROPSETID_VIDCAP_CAMERACONTROL,
SIZEOF_ARRAY(CameraControlProperties),
CameraControlProperties,
0,
NULL
)
};
#define NUMBER_OF_ADAPTER_PROPERTY_SETS (SIZEOF_ARRAY (AdapterPropertyTable))
#ifdef EXTERN_PROP_VALUES
extern ULONG DefaultVideoControlCaps[] ;
#else
// ----------------------------------------------------------------------------
// Default Video Control Caps
// ----------------------------------------------------------------------------
ULONG DefaultVideoControlCaps[] = {
CS_VideoControlFlag_FlipHorizontal | CS_VideoControlFlag_FlipVertical /*PREVIEW*/,
CS_VideoControlFlag_ExternalTriggerEnable /*CAPTURE*/,
CS_VideoControlFlag_ExternalTriggerEnable | CS_VideoControlFlag_Trigger /*STILL*/
};
#endif // EXTERN_PROP_VALUES
const StandardSizeOfBasicValues = sizeof(CSPROPERTY_DESCRIPTION) + sizeof(CSPROPERTY_MEMBERSHEADER)*2 + sizeof(CSPROPERTY_STEPPING_LONG) + sizeof(ULONG) ;
#endif //__ADAPTERPROPS_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -