//==========================================================================; // // WDM Video Decoder adapter properties definitions // // $Date: 02 Oct 1998 22:59:36 $ // $Revision: 1.1 $ // $Author: KLEBANOV $ // // $Copyright: (c) 1997 - 1998 ATI Technologies Inc. All Rights Reserved. $ // //==========================================================================; #ifdef _DEC_PROP_H_ #pragma message("DecProp.h INCLUDED MORE THAN ONCE") #else #define _DEC_PROP_H_ #endif // ------------------------------------------------------------------------ // Property set for the Video Crossbar // ------------------------------------------------------------------------ DEFINE_KSPROPERTY_TABLE(XBarProperties) { DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_CROSSBAR_CAPS, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_CROSSBAR_CAPS_S), // MinProperty sizeof(KSPROPERTY_CROSSBAR_CAPS_S), // MinData FALSE, // SetSupported or Handler NULL, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler 0 // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_CROSSBAR_CAN_ROUTE, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_CROSSBAR_ROUTE_S), // MinProperty sizeof(KSPROPERTY_CROSSBAR_ROUTE_S), // MinData FALSE, // SetSupported or Handler NULL, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler 0 // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_CROSSBAR_ROUTE, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_CROSSBAR_ROUTE_S), // MinProperty sizeof(KSPROPERTY_CROSSBAR_ROUTE_S), // MinData TRUE, // SetSupported or Handler NULL, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler 0 // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_CROSSBAR_PININFO, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_CROSSBAR_PININFO_S), // MinProperty sizeof(KSPROPERTY_CROSSBAR_PININFO_S), // MinData FALSE, // SetSupported or Handler NULL, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler 0 // SerializedSize ) }; // ------------------------------------------------------------------------ // Property set for VideoProcAmp // ------------------------------------------------------------------------ // defaults static const LONG BrightnessDefault = 128; static const LONG ContrastDefault = 128; static const LONG HueDefault = 128; static const LONG SaturationDefault = 128; // // First define all of the ranges and stepping values // // ------------------------------------------------------------------------ static KSPROPERTY_STEPPING_LONG BrightnessRangeAndStep [] = { { // Eventually need to convert these to IRE * 100 unites 256/1, // SteppingDelta (range / steps) 0, // Reserved 0, // Minimum 255 // Maximum } }; static KSPROPERTY_MEMBERSLIST BrightnessMembersList [] = { { { KSPROPERTY_MEMBER_STEPPEDRANGES, sizeof (BrightnessRangeAndStep), SIZEOF_ARRAY (BrightnessRangeAndStep), 0 }, (PVOID) BrightnessRangeAndStep }, { { KSPROPERTY_MEMBER_VALUES, sizeof (BrightnessDefault), 1, KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &BrightnessDefault } }; static KSPROPERTY_VALUES BrightnessValues = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (BrightnessMembersList), BrightnessMembersList }; // ------------------------------------------------------------------------ static KSPROPERTY_STEPPING_LONG ContrastRangeAndStep [] = { { 256/1, // SteppingDelta (range / steps) 0, // Reserved 0, // Minimum in (gain * 100) units 255 // Maximum in (gain * 100) units } }; static KSPROPERTY_MEMBERSLIST ContrastMembersList [] = { { { KSPROPERTY_MEMBER_STEPPEDRANGES, sizeof (ContrastRangeAndStep), SIZEOF_ARRAY (ContrastRangeAndStep), 0 }, (PVOID) ContrastRangeAndStep }, { { KSPROPERTY_MEMBER_VALUES, sizeof (ContrastDefault), 1, KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &ContrastDefault } }; static KSPROPERTY_VALUES ContrastValues = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (ContrastMembersList), ContrastMembersList }; KSPROPERTY_STEPPING_LONG HueRangeAndStep [] = { { 256/1, // SteppingDelta 0, // Reserved 0, // Minimum 255 // Maximum } }; KSPROPERTY_MEMBERSLIST HueMembersList [] = { { { KSPROPERTY_MEMBER_STEPPEDRANGES, sizeof (HueRangeAndStep), SIZEOF_ARRAY (HueRangeAndStep), 0 }, (PVOID) HueRangeAndStep }, { { KSPROPERTY_MEMBER_VALUES, sizeof (HueDefault), 1, KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &HueDefault } }; KSPROPERTY_VALUES HueValues = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (HueMembersList), HueMembersList }; KSPROPERTY_STEPPING_LONG SaturationRangeAndStep [] = { { 256/1, // SteppingDelta 0, // Reserved 0, // Minimum 255 // Maximum } }; KSPROPERTY_MEMBERSLIST SaturationMembersList [] = { { { KSPROPERTY_MEMBER_STEPPEDRANGES, sizeof (SaturationRangeAndStep), SIZEOF_ARRAY (SaturationRangeAndStep), 0 }, (PVOID) SaturationRangeAndStep }, { { KSPROPERTY_MEMBER_VALUES, sizeof (SaturationDefault), 1, KSPROPERTY_MEMBER_FLAG_DEFAULT }, (PVOID) &SaturationDefault } }; KSPROPERTY_VALUES SaturationValues = { { STATICGUIDOF (KSPROPTYPESETID_General), VT_I4, 0 }, SIZEOF_ARRAY (SaturationMembersList), SaturationMembersList }; // ------------------------------------------------------------------------ DEFINE_KSPROPERTY_TABLE(VideoProcAmpProperties) { DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_VIDEOPROCAMP_CONTRAST, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinProperty sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinData TRUE, // SetSupported or Handler &ContrastValues, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinProperty sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinData TRUE, // SetSupported or Handler &BrightnessValues, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_VIDEOPROCAMP_HUE, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinProperty sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinData TRUE, // SetSupported or Handler &HueValues, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_VIDEOPROCAMP_SATURATION, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinProperty sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinData TRUE, // SetSupported or Handler &SaturationValues, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler sizeof(ULONG) // SerializedSize ) }; // ------------------------------------------------------------------------ // Property set for AnalogVideoDecoder // ------------------------------------------------------------------------ DEFINE_KSPROPERTY_TABLE(AnalogVideoDecoder) { DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_VIDEODECODER_CAPS, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_VIDEODECODER_CAPS_S), // MinProperty sizeof(KSPROPERTY_VIDEODECODER_CAPS_S), // MinData FALSE, // SetSupported or Handler NULL, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler 0 // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_VIDEODECODER_STANDARD, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_VIDEODECODER_S), // MinProperty sizeof(KSPROPERTY_VIDEODECODER_S), // MinData TRUE, // SetSupported or Handler NULL, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler 0 // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_VIDEODECODER_STATUS, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_VIDEODECODER_STATUS_S),// MinProperty sizeof(KSPROPERTY_VIDEODECODER_STATUS_S),// MinData FALSE, // SetSupported or Handler NULL, // Values 0, // RelationsCount NULL, // Relations NULL, // SupportHandler 0 // SerializedSize ), DEFINE_KSPROPERTY_ITEM ( KSPROPERTY_VIDEODECODER_OUTPUT_ENABLE, TRUE, // GetSupported or Handler sizeof(KSPROPERTY_VIDEODECODER_S), // MinProperty sizeof(KSPROPERTY_VIDEODECODER_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(AdapterProperties) { DEFINE_KSPROPERTY_SET ( &PROPSETID_VIDCAP_VIDEOPROCAMP, SIZEOF_ARRAY(VideoProcAmpProperties), VideoProcAmpProperties, 0, NULL ), DEFINE_KSPROPERTY_SET ( &PROPSETID_VIDCAP_CROSSBAR, // Set SIZEOF_ARRAY(XBarProperties), // PropertiesCount XBarProperties, // PropertyItem 0, // FastIoCount NULL // FastIoTable ), DEFINE_KSPROPERTY_SET ( &PROPSETID_VIDCAP_VIDEODECODER, SIZEOF_ARRAY(AnalogVideoDecoder), AnalogVideoDecoder, 0, NULL ) }; ULONG NumAdapterProperties() { return SIZEOF_ARRAY(AdapterProperties); }