📄 capprop.h
字号:
VT_I4,
0
},
SIZEOF_ARRAY (ZoomMembersList),
ZoomMembersList
};
// ------------------------------------------------------------------------
static KSPROPERTY_STEPPING_LONG FocusRangeAndStep [] =
{
{
10000 / 256, // SteppingDelta (range / steps)
0, // Reserved
0, // Minimum
10000 // Maximum
}
};
static const ULONG FocusDefault = 5000;
static KSPROPERTY_MEMBERSLIST FocusMembersList [] =
{
{
{
KSPROPERTY_MEMBER_RANGES,
sizeof (FocusRangeAndStep),
SIZEOF_ARRAY (FocusRangeAndStep),
0
},
(PVOID) FocusRangeAndStep
},
{
{
KSPROPERTY_MEMBER_VALUES,
sizeof (FocusDefault),
1,
KSPROPERTY_MEMBER_FLAG_DEFAULT
},
(PVOID) &FocusDefault,
}
};
static KSPROPERTY_VALUES FocusValues =
{
{
STATICGUIDOF (KSPROPTYPESETID_General),
VT_I4,
0
},
SIZEOF_ARRAY (FocusMembersList),
FocusMembersList
};
// ------------------------------------------------------------------------
DEFINE_KSPROPERTY_TABLE(CameraControlProperties)
{
DEFINE_KSPROPERTY_ITEM
(
KSPROPERTY_CAMERACONTROL_ZOOM,
TRUE, // GetSupported or Handler
sizeof(KSPROPERTY_CAMERACONTROL_S), // MinProperty
sizeof(KSPROPERTY_CAMERACONTROL_S), // MinData
TRUE, // SetSupported or Handler
&ZoomValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
),
DEFINE_KSPROPERTY_ITEM
(
KSPROPERTY_CAMERACONTROL_FOCUS,
TRUE, // GetSupported or Handler
sizeof(KSPROPERTY_CAMERACONTROL_S), // MinProperty
sizeof(KSPROPERTY_CAMERACONTROL_S), // MinData
TRUE, // SetSupported or Handler
&FocusValues, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
sizeof(ULONG) // SerializedSize
)
};
// ------------------------------------------------------------------------
// Property set for VideoControl
// ------------------------------------------------------------------------
DEFINE_KSPROPERTY_TABLE(VideoControlProperties)
{
DEFINE_KSPROPERTY_ITEM
(
KSPROPERTY_VIDEOCONTROL_CAPS,
TRUE, // GetSupported or Handler
sizeof(KSPROPERTY_VIDEOCONTROL_CAPS_S), // MinProperty
sizeof(KSPROPERTY_VIDEOCONTROL_CAPS_S), // MinData
FALSE, // SetSupported or Handler
NULL, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
0 // SerializedSize
),
DEFINE_KSPROPERTY_ITEM
(
KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE,
TRUE, // GetSupported or Handler
sizeof(KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S), // MinProperty
sizeof(KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S), // MinData
FALSE, // SetSupported or Handler
NULL, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
0 // SerializedSize
),
DEFINE_KSPROPERTY_ITEM
(
KSPROPERTY_VIDEOCONTROL_FRAME_RATES,
TRUE, // GetSupported or Handler
sizeof(KSPROPERTY), // MinProperty
sizeof(KSMULTIPLE_ITEM), // MinData
FALSE, // SetSupported or Handler
NULL, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
0 // SerializedSize
),
DEFINE_KSPROPERTY_ITEM
(
KSPROPERTY_VIDEOCONTROL_MODE,
TRUE, // GetSupported or Handler
sizeof(KSPROPERTY_VIDEOCONTROL_MODE_S), // MinProperty
sizeof(KSPROPERTY_VIDEOCONTROL_MODE_S), // MinData
TRUE, // SetSupported or Handler
NULL, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
0 // SerializedSize
)
};
// ------------------------------------------------------------------------
// Property set for VideoCompression
// ------------------------------------------------------------------------
DEFINE_KSPROPERTY_TABLE(VideoStreamCompressionProperties)
{
DEFINE_KSPROPERTY_ITEM
(
KSPROPERTY_VIDEOCOMPRESSION_GETINFO,
TRUE, // GetSupported or Handler
sizeof(KSPROPERTY_VIDEOCOMPRESSION_GETINFO_S),// MinProperty
sizeof(KSPROPERTY_VIDEOCOMPRESSION_GETINFO_S),// MinData
FALSE, // SetSupported or Handler
NULL, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
0 // SerializedSize
),
DEFINE_KSPROPERTY_ITEM
(
KSPROPERTY_VIDEOCOMPRESSION_KEYFRAME_RATE,
TRUE, // GetSupported or Handler
sizeof(KSPROPERTY_VIDEOCOMPRESSION_S), // MinProperty
sizeof(KSPROPERTY_VIDEOCOMPRESSION_S), // MinData
TRUE, // SetSupported or Handler
NULL, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
0 // SerializedSize
),
DEFINE_KSPROPERTY_ITEM
(
KSPROPERTY_VIDEOCOMPRESSION_PFRAMES_PER_KEYFRAME,
TRUE, // GetSupported or Handler
sizeof(KSPROPERTY_VIDEOCOMPRESSION_S), // MinProperty
sizeof(KSPROPERTY_VIDEOCOMPRESSION_S), // MinData
TRUE, // SetSupported or Handler
NULL, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
0 // SerializedSize
),
DEFINE_KSPROPERTY_ITEM
(
KSPROPERTY_VIDEOCOMPRESSION_QUALITY,
TRUE, // GetSupported or Handler
sizeof(KSPROPERTY_VIDEOCOMPRESSION_S), // MinProperty
sizeof(KSPROPERTY_VIDEOCOMPRESSION_S), // MinData
TRUE, // SetSupported or Handler
NULL, // Values
0, // RelationsCount
NULL, // Relations
NULL, // SupportHandler
0 // SerializedSize
)
};
// ------------------------------------------------------------------------
// Array of all of the property sets supported by the adapter
// ------------------------------------------------------------------------
DEFINE_KSPROPERTY_SET_TABLE(AdapterPropertyTable)
{
DEFINE_KSPROPERTY_SET
(
&PROPSETID_VIDCAP_VIDEOPROCAMP,
SIZEOF_ARRAY(VideoProcAmpProperties),
VideoProcAmpProperties,
0,
NULL
),
DEFINE_KSPROPERTY_SET
(
&PROPSETID_VIDCAP_CAMERACONTROL,
SIZEOF_ARRAY(CameraControlProperties),
CameraControlProperties,
0,
NULL
),
DEFINE_KSPROPERTY_SET
(
&PROPSETID_VIDCAP_VIDEOCONTROL,
SIZEOF_ARRAY(VideoControlProperties),
VideoControlProperties,
0,
NULL
),
DEFINE_KSPROPERTY_SET
(
&PROPSETID_VIDCAP_VIDEOCOMPRESSION, // Set
SIZEOF_ARRAY(VideoStreamCompressionProperties), // PropertiesCount
VideoStreamCompressionProperties, // PropertyItem
0, // FastIoCount
NULL // FastIoTable
)
};
#define NUMBER_OF_ADAPTER_PROPERTY_SETS (SIZEOF_ARRAY (AdapterPropertyTable))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -