Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1692 lines
45 KiB

  1. /*
  2. Copyright (c) 1997 1998 PHILIPS I&C
  3. Module Name: mprpdef.c.c
  4. Abstract: property set definition
  5. Author: Michael verberne
  6. Revision History:
  7. Date Reason
  8. Sept.22, 98 Optimized for NT5
  9. Nov. 30, 98 VID and PID added as custom properties
  10. * This file defines the following property sets:
  11. *
  12. * PROPSETID_VIDCAP_VIDEOPROCAMP
  13. * PROPSETID_VIDCAP_CAMERACONTROL
  14. * PROPSETID_PHILIPS_CUSTOM_PROP
  15. *
  16. */
  17. #include "mwarn.h"
  18. #include "wdm.h"
  19. #include <strmini.h>
  20. #include <ks.h>
  21. #include <ksmedia.h>
  22. #include "mprpobj.h"
  23. #include "mprpobjx.h"
  24. #include "mprpdef.h"
  25. /*--------------------------------------------------------------------------
  26. * PROPSETID_VIDCAP_VIDEOPROCAMP
  27. *
  28. * Supported:
  29. *
  30. * Brightness,
  31. * Contrast,
  32. * Gamma
  33. * Color Enable
  34. * BackLightCompensation,
  35. *
  36. *--------------------------------------------------------------------------*/
  37. /*
  38. * Brightness
  39. */
  40. KSPROPERTY_STEPPING_LONG Brightness_RangeAndStep [] =
  41. {
  42. {
  43. BRIGHTNESS_DELTA, // SteppingDelta (range / steps)
  44. 0, // Reserved
  45. BRIGHTNESS_MIN, // Minimum in (IRE * 100) units
  46. BRIGHTNESS_MAX // Maximum in (IRE * 100) units
  47. }
  48. };
  49. LONG Brightness_Default = 15;
  50. KSPROPERTY_MEMBERSLIST Brightness_MembersList [] =
  51. {
  52. {
  53. {
  54. KSPROPERTY_MEMBER_RANGES,
  55. sizeof (Brightness_RangeAndStep),
  56. SIZEOF_ARRAY (Brightness_RangeAndStep),
  57. 0
  58. },
  59. (PVOID) Brightness_RangeAndStep
  60. },
  61. {
  62. {
  63. KSPROPERTY_MEMBER_VALUES,
  64. sizeof (Brightness_Default),
  65. sizeof (Brightness_Default),
  66. KSPROPERTY_MEMBER_FLAG_DEFAULT
  67. },
  68. (PVOID) &Brightness_Default,
  69. }
  70. };
  71. KSPROPERTY_VALUES Brightness_Values =
  72. {
  73. {
  74. STATICGUIDOF (KSPROPTYPESETID_General),
  75. VT_I4,
  76. 0
  77. },
  78. SIZEOF_ARRAY (Brightness_MembersList),
  79. Brightness_MembersList
  80. };
  81. /*
  82. * Contrast
  83. */
  84. KSPROPERTY_STEPPING_LONG Contrast_RangeAndStep [] =
  85. {
  86. {
  87. CONTRAST_DELTA, // SteppingDelta
  88. 0, // Reserved
  89. CONTRAST_MIN, // Minimum
  90. CONTRAST_MAX // Maximum
  91. }
  92. };
  93. LONG Contrast_Default = 15;
  94. KSPROPERTY_MEMBERSLIST Contrast_MembersList [] =
  95. {
  96. {
  97. {
  98. KSPROPERTY_MEMBER_RANGES,
  99. sizeof (Contrast_RangeAndStep),
  100. SIZEOF_ARRAY (Contrast_RangeAndStep),
  101. 0
  102. },
  103. (PVOID) Contrast_RangeAndStep
  104. },
  105. {
  106. {
  107. KSPROPERTY_MEMBER_VALUES,
  108. sizeof (Contrast_Default),
  109. sizeof (Contrast_Default),
  110. KSPROPERTY_MEMBER_FLAG_DEFAULT
  111. },
  112. (PVOID) &Contrast_Default,
  113. }
  114. };
  115. KSPROPERTY_VALUES Contrast_Values =
  116. {
  117. {
  118. STATICGUIDOF (KSPROPTYPESETID_General),
  119. VT_I4,
  120. 0
  121. },
  122. SIZEOF_ARRAY (Contrast_MembersList),
  123. Contrast_MembersList
  124. };
  125. /*
  126. * Gamma
  127. */
  128. KSPROPERTY_STEPPING_LONG Gamma_RangeAndStep [] =
  129. {
  130. {
  131. GAMMA_DELTA, // SteppingDelta
  132. 0, // Reserved
  133. GAMMA_MIN, // Minimum
  134. GAMMA_MAX // Maximum
  135. }
  136. };
  137. LONG Gamma_Default = 15;
  138. KSPROPERTY_MEMBERSLIST Gamma_MembersList [] =
  139. {
  140. {
  141. {
  142. KSPROPERTY_MEMBER_RANGES,
  143. sizeof (Gamma_RangeAndStep),
  144. SIZEOF_ARRAY (Gamma_RangeAndStep),
  145. 0
  146. },
  147. (PVOID) Gamma_RangeAndStep
  148. },
  149. {
  150. {
  151. KSPROPERTY_MEMBER_VALUES,
  152. sizeof (Gamma_Default),
  153. sizeof (Gamma_Default),
  154. KSPROPERTY_MEMBER_FLAG_DEFAULT
  155. },
  156. (PVOID) &Gamma_Default,
  157. }
  158. };
  159. KSPROPERTY_VALUES Gamma_Values =
  160. {
  161. {
  162. STATICGUIDOF (KSPROPTYPESETID_General),
  163. VT_I4,
  164. 0
  165. },
  166. SIZEOF_ARRAY (Gamma_MembersList),
  167. Gamma_MembersList
  168. };
  169. /*
  170. * ColorEnable
  171. */
  172. KSPROPERTY_STEPPING_LONG ColorEnable_RangeAndStep [] =
  173. {
  174. {
  175. COLORENABLE_DELTA, // SteppingDelta
  176. 0, // Reserved
  177. COLORENABLE_MIN, // Minimum
  178. COLORENABLE_MAX // Maximum
  179. }
  180. };
  181. LONG ColorEnable_Default = 1;
  182. KSPROPERTY_MEMBERSLIST ColorEnable_MembersList [] =
  183. {
  184. {
  185. {
  186. KSPROPERTY_MEMBER_RANGES,
  187. sizeof (ColorEnable_RangeAndStep),
  188. SIZEOF_ARRAY (ColorEnable_RangeAndStep),
  189. 0
  190. },
  191. (PVOID) ColorEnable_RangeAndStep
  192. },
  193. {
  194. {
  195. KSPROPERTY_MEMBER_VALUES,
  196. sizeof (ColorEnable_Default),
  197. sizeof (ColorEnable_Default),
  198. KSPROPERTY_MEMBER_FLAG_DEFAULT
  199. },
  200. (PVOID) &ColorEnable_Default,
  201. }
  202. };
  203. KSPROPERTY_VALUES ColorEnable_Values =
  204. {
  205. {
  206. STATICGUIDOF (KSPROPTYPESETID_General),
  207. VT_I4,
  208. 0
  209. },
  210. SIZEOF_ARRAY (ColorEnable_MembersList),
  211. ColorEnable_MembersList
  212. };
  213. /*
  214. * BackLight Compensation
  215. */
  216. KSPROPERTY_STEPPING_LONG BackLight_Compensation_RangeAndStep [] =
  217. {
  218. {
  219. BACKLIGHT_COMPENSATION_DELTA, // SteppingDelta
  220. 0, // Reserved
  221. BACKLIGHT_COMPENSATION_MIN, // Minimum
  222. BACKLIGHT_COMPENSATION_MAX // Maximum
  223. }
  224. };
  225. LONG BackLight_Compensation_Default = 1;
  226. KSPROPERTY_MEMBERSLIST BackLight_Compensation_MembersList [] =
  227. {
  228. {
  229. {
  230. KSPROPERTY_MEMBER_RANGES,
  231. sizeof (BackLight_Compensation_RangeAndStep),
  232. SIZEOF_ARRAY (BackLight_Compensation_RangeAndStep),
  233. 0
  234. },
  235. (PVOID) BackLight_Compensation_RangeAndStep
  236. },
  237. {
  238. {
  239. KSPROPERTY_MEMBER_VALUES,
  240. sizeof (BackLight_Compensation_Default),
  241. sizeof (BackLight_Compensation_Default),
  242. KSPROPERTY_MEMBER_FLAG_DEFAULT
  243. },
  244. (PVOID) &BackLight_Compensation_Default,
  245. }
  246. };
  247. KSPROPERTY_VALUES BackLight_Compensation_Values =
  248. {
  249. {
  250. STATICGUIDOF (KSPROPTYPESETID_General),
  251. VT_I4,
  252. 0
  253. },
  254. SIZEOF_ARRAY (BackLight_Compensation_MembersList),
  255. BackLight_Compensation_MembersList
  256. };
  257. /*
  258. * Proc Amp propertyset
  259. */
  260. DEFINE_KSPROPERTY_TABLE(VideoProcAmpProperties)
  261. {
  262. DEFINE_KSPROPERTY_ITEM
  263. (
  264. KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS,
  265. TRUE, // GetSupported or Handler
  266. sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinProperty
  267. sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinData
  268. TRUE, // SetSupported or Handler
  269. &Brightness_Values, // Values
  270. 0, // RelationsCount
  271. NULL, // Relations
  272. NULL, // SupportHandler
  273. sizeof(ULONG) // SerializedSize
  274. ),
  275. DEFINE_KSPROPERTY_ITEM
  276. (
  277. KSPROPERTY_VIDEOPROCAMP_CONTRAST,
  278. TRUE, // GetSupported or Handler
  279. sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinProperty
  280. sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinData
  281. TRUE, // SetSupported or Handler
  282. &Contrast_Values, // Values
  283. 0, // RelationsCount
  284. NULL, // Relations
  285. NULL, // SupportHandler
  286. sizeof(ULONG) // SerializedSize
  287. ),
  288. DEFINE_KSPROPERTY_ITEM
  289. (
  290. KSPROPERTY_VIDEOPROCAMP_GAMMA,
  291. TRUE, // GetSupported or Handler
  292. sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinProperty
  293. sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinData
  294. TRUE, // SetSupported or Handler
  295. &Gamma_Values, // Values
  296. 0, // RelationsCount
  297. NULL, // Relations
  298. NULL, // SupportHandler
  299. sizeof(ULONG) // SerializedSize
  300. ),
  301. DEFINE_KSPROPERTY_ITEM
  302. (
  303. KSPROPERTY_VIDEOPROCAMP_COLORENABLE,
  304. TRUE, // GetSupported or Handler
  305. sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinProperty
  306. sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinData
  307. TRUE, // SetSupported or Handler
  308. &ColorEnable_Values, // Values
  309. 0, // RelationsCount
  310. NULL, // Relations
  311. NULL, // SupportHandler
  312. sizeof(ULONG) // SerializedSize
  313. ),
  314. DEFINE_KSPROPERTY_ITEM
  315. (
  316. KSPROPERTY_VIDEOPROCAMP_BACKLIGHT_COMPENSATION,
  317. TRUE, // GetSupported or Handler
  318. sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinProperty
  319. sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinData
  320. TRUE, // SetSupported or Handler
  321. &BackLight_Compensation_Values, // Values
  322. 0, // RelationsCount
  323. NULL, // Relations
  324. NULL, // SupportHandler
  325. sizeof(ULONG) // SerializedSize
  326. )
  327. };
  328. /*--------------------------------------------------------------------------
  329. * PROPSETID_PHILIPS_CUSTOM_PROP
  330. *
  331. * Supported:
  332. *
  333. * WhiteBalance Mode,
  334. * WhiteBalance Speed,
  335. * WhiteBalance Delay,
  336. * WhiteBalance Red Gain,
  337. * WhiteBalance Blue Gain,
  338. * AutoExposure ControlSpeed
  339. * AutoExposure Flickerless
  340. * AutoExposure Shutter Mode
  341. * AutoExposure Shutter Speed
  342. * AutoExposure Shutter Status
  343. * AutoExposure AGC Mode
  344. * AutoExposure AGC Speed
  345. * DriverVersion
  346. * Framerate,
  347. * Video Format
  348. * SensorType
  349. * VideoCompression,
  350. * Defaults
  351. * Release Number
  352. * VendorId
  353. * ProductId
  354. *
  355. *--------------------------------------------------------------------------*/
  356. /*
  357. * White balance Mode
  358. */
  359. LONG WB_Mode_Default = KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_MODE_AUTO;
  360. KSPROPERTY_MEMBERSLIST WB_Mode_MembersList [] =
  361. {
  362. {
  363. {
  364. KSPROPERTY_MEMBER_VALUES,
  365. sizeof (WB_Mode_Default),
  366. sizeof (WB_Mode_Default),
  367. KSPROPERTY_MEMBER_FLAG_DEFAULT
  368. },
  369. (PVOID) &WB_Mode_Default,
  370. }
  371. };
  372. KSPROPERTY_VALUES WB_Mode_Values =
  373. {
  374. {
  375. STATICGUIDOF (KSPROPTYPESETID_General),
  376. VT_I4,
  377. 0
  378. },
  379. SIZEOF_ARRAY (WB_Mode_MembersList),
  380. WB_Mode_MembersList
  381. };
  382. /*
  383. * White balance Speed
  384. */
  385. KSPROPERTY_STEPPING_LONG WB_Speed_RangeAndStep [] =
  386. {
  387. {
  388. WB_SPEED_DELTA, // SteppingDelta
  389. 0, // Reserved
  390. WB_SPEED_MIN, // Minimum
  391. WB_SPEED_MAX // Maximum
  392. }
  393. };
  394. LONG WB_Speed_Default = 15;
  395. KSPROPERTY_MEMBERSLIST WB_Speed_MembersList [] =
  396. {
  397. {
  398. {
  399. KSPROPERTY_MEMBER_RANGES,
  400. sizeof (WB_Speed_RangeAndStep),
  401. SIZEOF_ARRAY (WB_Speed_RangeAndStep),
  402. 0
  403. },
  404. (PVOID) WB_Speed_RangeAndStep
  405. },
  406. {
  407. {
  408. KSPROPERTY_MEMBER_VALUES,
  409. sizeof (WB_Speed_Default),
  410. sizeof (WB_Speed_Default),
  411. KSPROPERTY_MEMBER_FLAG_DEFAULT
  412. },
  413. (PVOID) &WB_Speed_Default,
  414. }
  415. };
  416. KSPROPERTY_VALUES WB_Speed_Values =
  417. {
  418. {
  419. STATICGUIDOF (KSPROPTYPESETID_General),
  420. VT_I4,
  421. 0
  422. },
  423. SIZEOF_ARRAY (WB_Speed_MembersList),
  424. WB_Speed_MembersList
  425. };
  426. /*
  427. * White balance Delay
  428. */
  429. KSPROPERTY_STEPPING_LONG WB_Delay_RangeAndStep [] =
  430. {
  431. {
  432. WB_DELAY_DELTA, // SteppingDelta
  433. 0, // Reserved
  434. WB_DELAY_MIN, // Minimum
  435. WB_DELAY_MAX // Maximum
  436. }
  437. };
  438. LONG WB_Delay_Default = 32;
  439. KSPROPERTY_MEMBERSLIST WB_Delay_MembersList [] =
  440. {
  441. {
  442. {
  443. KSPROPERTY_MEMBER_RANGES,
  444. sizeof (WB_Delay_RangeAndStep),
  445. SIZEOF_ARRAY (WB_Delay_RangeAndStep),
  446. 0
  447. },
  448. (PVOID) WB_Delay_RangeAndStep
  449. },
  450. {
  451. {
  452. KSPROPERTY_MEMBER_VALUES,
  453. sizeof (WB_Delay_Default),
  454. sizeof (WB_Delay_Default),
  455. KSPROPERTY_MEMBER_FLAG_DEFAULT
  456. },
  457. (PVOID) &WB_Delay_Default,
  458. }
  459. };
  460. KSPROPERTY_VALUES WB_Delay_Values =
  461. {
  462. {
  463. STATICGUIDOF (KSPROPTYPESETID_General),
  464. VT_I4,
  465. 0
  466. },
  467. SIZEOF_ARRAY (WB_Delay_MembersList),
  468. WB_Delay_MembersList
  469. };
  470. /*
  471. * White balance Red Gain
  472. */
  473. KSPROPERTY_STEPPING_LONG WB_Red_Gain_RangeAndStep [] =
  474. {
  475. {
  476. WB_RED_GAIN_DELTA, // SteppingDelta
  477. 0, // Reserved
  478. WB_RED_GAIN_MIN, // Minimum
  479. WB_RED_GAIN_MAX // Maximum
  480. }
  481. };
  482. LONG WB_Red_Gain_Default = 127;
  483. KSPROPERTY_MEMBERSLIST WB_Red_Gain_MembersList [] =
  484. {
  485. {
  486. {
  487. KSPROPERTY_MEMBER_RANGES,
  488. sizeof (WB_Red_Gain_RangeAndStep),
  489. SIZEOF_ARRAY (WB_Red_Gain_RangeAndStep),
  490. 0
  491. },
  492. (PVOID) WB_Red_Gain_RangeAndStep
  493. },
  494. {
  495. {
  496. KSPROPERTY_MEMBER_VALUES,
  497. sizeof (WB_Red_Gain_Default),
  498. sizeof (WB_Red_Gain_Default),
  499. KSPROPERTY_MEMBER_FLAG_DEFAULT
  500. },
  501. (PVOID) &WB_Red_Gain_Default,
  502. }
  503. };
  504. KSPROPERTY_VALUES WB_Red_Gain_Values =
  505. {
  506. {
  507. STATICGUIDOF (KSPROPTYPESETID_General),
  508. VT_I4,
  509. 0
  510. },
  511. SIZEOF_ARRAY (WB_Red_Gain_MembersList),
  512. WB_Red_Gain_MembersList
  513. };
  514. /*
  515. * White balance Blue Gain
  516. */
  517. KSPROPERTY_STEPPING_LONG WB_Blue_Gain_RangeAndStep [] =
  518. {
  519. {
  520. WB_BLUE_GAIN_DELTA, // SteppingDelta
  521. 0, // Reserved
  522. WB_BLUE_GAIN_MIN, // Minimum
  523. WB_BLUE_GAIN_MAX // Maximum
  524. }
  525. };
  526. LONG WB_Blue_Gain_Default = 127;
  527. KSPROPERTY_MEMBERSLIST WB_Blue_Gain_MembersList [] =
  528. {
  529. {
  530. {
  531. KSPROPERTY_MEMBER_RANGES,
  532. sizeof (WB_Blue_Gain_RangeAndStep),
  533. SIZEOF_ARRAY (WB_Blue_Gain_RangeAndStep),
  534. 0
  535. },
  536. (PVOID) WB_Blue_Gain_RangeAndStep
  537. },
  538. {
  539. {
  540. KSPROPERTY_MEMBER_VALUES,
  541. sizeof (WB_Blue_Gain_Default),
  542. sizeof (WB_Blue_Gain_Default),
  543. KSPROPERTY_MEMBER_FLAG_DEFAULT
  544. },
  545. (PVOID) &WB_Blue_Gain_Default,
  546. }
  547. };
  548. KSPROPERTY_VALUES WB_Blue_Gain_Values =
  549. {
  550. {
  551. STATICGUIDOF (KSPROPTYPESETID_General),
  552. VT_I4,
  553. 0
  554. },
  555. SIZEOF_ARRAY (WB_Blue_Gain_MembersList),
  556. WB_Blue_Gain_MembersList
  557. };
  558. /*
  559. * Auto Exposure Control Speed
  560. */
  561. KSPROPERTY_STEPPING_LONG AE_Control_Speed_RangeAndStep [] =
  562. {
  563. {
  564. AE_CONTROL_SPEED_DELTA, // SteppingDelta
  565. 0, // Reserved
  566. AE_CONTROL_SPEED_MIN, // Minimum
  567. AE_CONTROL_SPEED_MAX // Maximum
  568. }
  569. };
  570. LONG AE_Control_Speed_Default = 127;
  571. KSPROPERTY_MEMBERSLIST AE_Control_Speed_MembersList [] =
  572. {
  573. {
  574. {
  575. KSPROPERTY_MEMBER_RANGES,
  576. sizeof (AE_Control_Speed_RangeAndStep),
  577. SIZEOF_ARRAY (AE_Control_Speed_RangeAndStep),
  578. 0
  579. },
  580. (PVOID) AE_Control_Speed_RangeAndStep
  581. },
  582. {
  583. {
  584. KSPROPERTY_MEMBER_VALUES,
  585. sizeof (AE_Control_Speed_Default),
  586. sizeof (AE_Control_Speed_Default),
  587. KSPROPERTY_MEMBER_FLAG_DEFAULT
  588. },
  589. (PVOID) &AE_Control_Speed_Default,
  590. }
  591. };
  592. KSPROPERTY_VALUES AE_Control_Speed_Values =
  593. {
  594. {
  595. STATICGUIDOF (KSPROPTYPESETID_General),
  596. VT_I4,
  597. 0
  598. },
  599. SIZEOF_ARRAY (AE_Control_Speed_MembersList),
  600. AE_Control_Speed_MembersList
  601. };
  602. /*
  603. * Auto Exposure Flickerless
  604. */
  605. LONG AE_Flickerless_Default = KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_FLICKERLESS_ON;
  606. KSPROPERTY_MEMBERSLIST AE_Flickerless_MembersList [] =
  607. {
  608. {
  609. {
  610. KSPROPERTY_MEMBER_VALUES,
  611. sizeof (AE_Flickerless_Default),
  612. sizeof (AE_Flickerless_Default),
  613. KSPROPERTY_MEMBER_FLAG_DEFAULT
  614. },
  615. (PVOID) &AE_Flickerless_Default,
  616. }
  617. };
  618. KSPROPERTY_VALUES AE_Flickerless_Values =
  619. {
  620. {
  621. STATICGUIDOF (KSPROPTYPESETID_General),
  622. VT_I4,
  623. 0
  624. },
  625. SIZEOF_ARRAY (AE_Flickerless_MembersList),
  626. AE_Flickerless_MembersList
  627. };
  628. /*
  629. * Auto Exposure Shutter Mode
  630. */
  631. LONG AE_Shutter_Mode_Default = KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_MODE_AUTO;
  632. KSPROPERTY_MEMBERSLIST AE_Shutter_Mode_MembersList [] =
  633. {
  634. {
  635. {
  636. KSPROPERTY_MEMBER_VALUES,
  637. sizeof (AE_Shutter_Mode_Default),
  638. sizeof (AE_Shutter_Mode_Default),
  639. KSPROPERTY_MEMBER_FLAG_DEFAULT
  640. },
  641. (PVOID) &AE_Shutter_Mode_Default,
  642. }
  643. };
  644. KSPROPERTY_VALUES AE_Shutter_Mode_Values =
  645. {
  646. {
  647. STATICGUIDOF (KSPROPTYPESETID_General),
  648. VT_I4,
  649. 0
  650. },
  651. SIZEOF_ARRAY (AE_Shutter_Mode_MembersList),
  652. AE_Shutter_Mode_MembersList
  653. };
  654. /*
  655. * Auto Exposure Shutter Speed
  656. */
  657. KSPROPERTY_STEPPING_LONG AE_Shutter_Speed_RangeAndStep [] =
  658. {
  659. {
  660. AE_SHUTTER_SPEED_DELTA, // SteppingDelta
  661. 0, // Reserved
  662. AE_SHUTTER_SPEED_MIN, // Minimum
  663. AE_SHUTTER_SPEED_MAX // Maximum
  664. }
  665. };
  666. LONG AE_Shutter_Speed_Default = KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_SPEED_250;
  667. KSPROPERTY_MEMBERSLIST AE_Shutter_Speed_MembersList [] =
  668. {
  669. {
  670. {
  671. KSPROPERTY_MEMBER_RANGES,
  672. sizeof (AE_Shutter_Speed_RangeAndStep),
  673. SIZEOF_ARRAY (AE_Shutter_Speed_RangeAndStep),
  674. 0
  675. },
  676. (PVOID) AE_Shutter_Speed_RangeAndStep
  677. },
  678. {
  679. {
  680. KSPROPERTY_MEMBER_VALUES,
  681. sizeof (AE_Shutter_Speed_Default),
  682. sizeof (AE_Shutter_Speed_Default),
  683. KSPROPERTY_MEMBER_FLAG_DEFAULT
  684. },
  685. (PVOID) &AE_Shutter_Speed_Default,
  686. }
  687. };
  688. KSPROPERTY_VALUES AE_Shutter_Speed_Values =
  689. {
  690. {
  691. STATICGUIDOF (KSPROPTYPESETID_General),
  692. VT_I4,
  693. 0
  694. },
  695. SIZEOF_ARRAY (AE_Shutter_Speed_MembersList),
  696. AE_Shutter_Speed_MembersList
  697. };
  698. /*
  699. * Auto Exposure Shutter Status
  700. */
  701. KSPROPERTY_VALUES AE_Shutter_Status_Values =
  702. {
  703. {
  704. STATICGUIDOF (KSPROPTYPESETID_General),
  705. VT_I4,
  706. 0
  707. },
  708. 0,
  709. NULL
  710. };
  711. /*
  712. * Auto exposure AGC Mode
  713. */
  714. LONG AE_AGC_Mode_Default = KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_AGC_MODE_AUTO;
  715. KSPROPERTY_MEMBERSLIST AE_AGC_Mode_MembersList [] =
  716. {
  717. {
  718. {
  719. KSPROPERTY_MEMBER_VALUES,
  720. sizeof (AE_AGC_Mode_Default),
  721. sizeof (AE_AGC_Mode_Default),
  722. KSPROPERTY_MEMBER_FLAG_DEFAULT
  723. },
  724. (PVOID) &AE_AGC_Mode_Default,
  725. }
  726. };
  727. KSPROPERTY_VALUES AE_AGC_Mode_Values =
  728. {
  729. {
  730. STATICGUIDOF (KSPROPTYPESETID_General),
  731. VT_I4,
  732. 0
  733. },
  734. SIZEOF_ARRAY (AE_AGC_Mode_MembersList),
  735. AE_AGC_Mode_MembersList
  736. };
  737. /*
  738. * Auto exposure AGC speed
  739. */
  740. KSPROPERTY_STEPPING_LONG AE_AGC_RangeAndStep [] =
  741. {
  742. {
  743. AE_AGC_DELTA, // SteppingDelta
  744. 0, // Reserved
  745. AE_AGC_MIN, // Minimum
  746. AE_AGC_MAX // Maximum
  747. }
  748. };
  749. LONG AE_AGC_Default = 10;
  750. KSPROPERTY_MEMBERSLIST AE_AGC_MembersList [] =
  751. {
  752. {
  753. {
  754. KSPROPERTY_MEMBER_RANGES,
  755. sizeof (AE_AGC_RangeAndStep),
  756. SIZEOF_ARRAY (AE_AGC_RangeAndStep),
  757. 0
  758. },
  759. (PVOID) AE_AGC_RangeAndStep
  760. },
  761. {
  762. {
  763. KSPROPERTY_MEMBER_VALUES,
  764. sizeof (AE_AGC_Default),
  765. sizeof (AE_AGC_Default),
  766. KSPROPERTY_MEMBER_FLAG_DEFAULT
  767. },
  768. (PVOID) &AE_AGC_Default,
  769. }
  770. };
  771. KSPROPERTY_VALUES AE_AGC_Values =
  772. {
  773. {
  774. STATICGUIDOF (KSPROPTYPESETID_General),
  775. VT_I4,
  776. 0
  777. },
  778. SIZEOF_ARRAY (AE_AGC_MembersList),
  779. AE_AGC_MembersList
  780. };
  781. /*
  782. * Driver Version
  783. */
  784. KSPROPERTY_VALUES DriverVersion_Values =
  785. {
  786. {
  787. STATICGUIDOF (KSPROPTYPESETID_General),
  788. VT_I4,
  789. 0
  790. },
  791. 0,
  792. NULL
  793. };
  794. /*
  795. * Framerate
  796. */
  797. LONG Framerate_Default = KSPROPERTY_PHILIPS_CUSTOM_PROP_FRAMERATE_75;
  798. KSPROPERTY_MEMBERSLIST Framerate_MembersList [] =
  799. {
  800. {
  801. {
  802. KSPROPERTY_MEMBER_VALUES,
  803. sizeof (Framerate_Default),
  804. sizeof (Framerate_Default),
  805. KSPROPERTY_MEMBER_FLAG_DEFAULT
  806. },
  807. (PVOID) &Framerate_Default,
  808. }
  809. };
  810. KSPROPERTY_VALUES Framerate_Values =
  811. {
  812. {
  813. STATICGUIDOF (KSPROPTYPESETID_General),
  814. VT_I4,
  815. 0
  816. },
  817. SIZEOF_ARRAY (Framerate_MembersList),
  818. Framerate_MembersList
  819. };
  820. /*
  821. * Framerates Supported
  822. */
  823. KSPROPERTY_VALUES Framerates_Supported_Values =
  824. {
  825. {
  826. STATICGUIDOF (KSPROPTYPESETID_General),
  827. VT_I4,
  828. 0
  829. },
  830. 0,
  831. NULL
  832. };
  833. /*
  834. * Videoformat
  835. */
  836. LONG VideoFormat_Default = KSPROPERTY_PHILIPS_CUSTOM_PROP_VIDEOFORMAT_QCIF;
  837. KSPROPERTY_MEMBERSLIST VideoFormat_MembersList [] =
  838. {
  839. {
  840. {
  841. KSPROPERTY_MEMBER_VALUES,
  842. sizeof (VideoFormat_Default),
  843. sizeof (VideoFormat_Default),
  844. KSPROPERTY_MEMBER_FLAG_DEFAULT
  845. },
  846. (PVOID) &VideoFormat_Default,
  847. }
  848. };
  849. KSPROPERTY_VALUES VideoFormat_Values =
  850. {
  851. {
  852. STATICGUIDOF (KSPROPTYPESETID_General),
  853. VT_I4,
  854. 0
  855. },
  856. SIZEOF_ARRAY (VideoFormat_MembersList),
  857. VideoFormat_MembersList
  858. };
  859. /*
  860. * Sensor Type
  861. */
  862. KSPROPERTY_VALUES SensorType_Values =
  863. {
  864. {
  865. STATICGUIDOF (KSPROPTYPESETID_General),
  866. VT_I4,
  867. 0
  868. },
  869. 0,
  870. NULL
  871. };
  872. /*
  873. * VideoCompression
  874. */
  875. LONG VideoCompression_Default = KSPROPERTY_PHILIPS_CUSTOM_PROP_VIDEOCOMPRESSION_UNCOMPRESSED;
  876. KSPROPERTY_MEMBERSLIST VideoCompression_MembersList [] =
  877. {
  878. {
  879. {
  880. KSPROPERTY_MEMBER_VALUES,
  881. sizeof (VideoCompression_Default),
  882. sizeof (VideoCompression_Default),
  883. KSPROPERTY_MEMBER_FLAG_DEFAULT
  884. },
  885. (PVOID) &VideoCompression_Default,
  886. }
  887. };
  888. KSPROPERTY_VALUES VideoCompression_Values =
  889. {
  890. {
  891. STATICGUIDOF (KSPROPTYPESETID_General),
  892. VT_I4,
  893. 0
  894. },
  895. SIZEOF_ARRAY (VideoCompression_MembersList),
  896. VideoCompression_MembersList
  897. };
  898. /*
  899. * Defaults
  900. */
  901. KSPROPERTY_VALUES Default_Values =
  902. {
  903. {
  904. STATICGUIDOF (KSPROPTYPESETID_General),
  905. VT_I4,
  906. 0
  907. },
  908. 0,
  909. NULL
  910. };
  911. /*
  912. * Release Number
  913. */
  914. KSPROPERTY_VALUES Release_Number_Values =
  915. {
  916. {
  917. STATICGUIDOF (KSPROPTYPESETID_General),
  918. VT_I4,
  919. 0
  920. },
  921. 0,
  922. NULL
  923. };
  924. /*
  925. * VendorId
  926. */
  927. KSPROPERTY_VALUES Vendor_Id_Values =
  928. {
  929. {
  930. STATICGUIDOF (KSPROPTYPESETID_General),
  931. VT_I4,
  932. 0
  933. },
  934. 0,
  935. NULL
  936. };
  937. /*
  938. * ProductId
  939. */
  940. KSPROPERTY_VALUES Product_Id_Values =
  941. {
  942. {
  943. STATICGUIDOF (KSPROPTYPESETID_General),
  944. VT_I4,
  945. 0
  946. },
  947. 0,
  948. NULL
  949. };
  950. /*--------------------------------------------------------------------------
  951. * PROPSETID_PHILIPS_FACTORY_PROP
  952. *
  953. * Supported:
  954. *
  955. * Register
  956. * Factory Mode
  957. * Register Address
  958. * Register Data
  959. *--------------------------------------------------------------------------*/
  960. /*
  961. * Register Address
  962. */
  963. KSPROPERTY_VALUES RegisterAddress_Values =
  964. {
  965. {
  966. STATICGUIDOF (KSPROPTYPESETID_General),
  967. VT_I4,
  968. 0
  969. },
  970. 0,
  971. NULL
  972. };
  973. /*
  974. * Register Data
  975. */
  976. KSPROPERTY_VALUES RegisterData_Values =
  977. {
  978. {
  979. STATICGUIDOF (KSPROPTYPESETID_General),
  980. VT_I4,
  981. 0
  982. },
  983. 0,
  984. NULL
  985. };
  986. /*
  987. * Factory Mode
  988. */
  989. KSPROPERTY_VALUES Factory_Mode_Values =
  990. {
  991. {
  992. STATICGUIDOF (KSPROPTYPESETID_General),
  993. VT_I4,
  994. 0
  995. },
  996. 0,
  997. NULL
  998. };
  999. /*--------------------------------------------------------------------------
  1000. * PROPSETID_PHILIPS_CUSTOM_PROP
  1001. *
  1002. * Supported:
  1003. *
  1004. * WhiteBalance Mode get set default
  1005. * WhiteBalance Speed, get set range default
  1006. * WhiteBalance Delay, get set range default
  1007. * WhiteBalance Red Gain, get set range default
  1008. * WhiteBalance Blue Gain, get set range default
  1009. * AutoExposure ControlSpeed get set range default
  1010. * AutoExposure Flickerless get set ranges default
  1011. * AutoExposure Shutter Mode get set default
  1012. * AutoExposure Shutter Speed get set range default
  1013. * AutoExposure Shutter Status get
  1014. * AutoExposure AGC Mode get set default
  1015. * AutoExposure AGC Speed get set range default
  1016. * DriverVersion get
  1017. * Framerate, get set default
  1018. * Framerates Supported get
  1019. * Video Format get default
  1020. * SensorType get
  1021. * VideoCompression, get default
  1022. * Defaults set
  1023. * Release Number get
  1024. * VendorId get
  1025. * ProductId get
  1026. *
  1027. *--------------------------------------------------------------------------*/
  1028. DEFINE_KSPROPERTY_TABLE(CustomProperties)
  1029. {
  1030. DEFINE_KSPROPERTY_ITEM
  1031. (
  1032. KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_MODE, // PropertyId
  1033. TRUE, // GetSupported or Handler
  1034. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1035. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1036. TRUE, // SetSupported or Handler
  1037. &WB_Mode_Values, // Values
  1038. 0, // RelationsCount
  1039. NULL, // Relations
  1040. NULL, // SupportHandler
  1041. sizeof(ULONG) // SerializedSize
  1042. ),
  1043. DEFINE_KSPROPERTY_ITEM
  1044. (
  1045. KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_SPEED, // PropertyId
  1046. TRUE, // GetSupported or Handler
  1047. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1048. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1049. TRUE, // SetSupported or Handler
  1050. &WB_Speed_Values, // Values
  1051. 0, // RelationsCount
  1052. NULL, // Relations
  1053. NULL, // SupportHandler
  1054. sizeof(ULONG) // SerializedSize
  1055. ),
  1056. DEFINE_KSPROPERTY_ITEM
  1057. (
  1058. KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_DELAY, // PropertyId
  1059. TRUE, // GetSupported or Handler
  1060. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1061. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1062. TRUE, // SetSupported or Handler
  1063. &WB_Delay_Values, // Values
  1064. 0, // RelationsCount
  1065. NULL, // Relations
  1066. NULL, // SupportHandler
  1067. sizeof(ULONG) // SerializedSize
  1068. ),
  1069. DEFINE_KSPROPERTY_ITEM
  1070. (
  1071. KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_RED_GAIN, // PropertyId
  1072. TRUE, // GetSupported or Handler
  1073. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1074. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1075. TRUE, // SetSupported or Handler
  1076. &WB_Red_Gain_Values, // Values
  1077. 0, // RelationsCount
  1078. NULL, // Relations
  1079. NULL, // SupportHandler
  1080. sizeof(ULONG) // SerializedSize
  1081. ),
  1082. DEFINE_KSPROPERTY_ITEM
  1083. (
  1084. KSPROPERTY_PHILIPS_CUSTOM_PROP_WB_BLUE_GAIN, // PropertyId
  1085. TRUE, // GetSupported or Handler
  1086. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1087. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1088. TRUE, // SetSupported or Handler
  1089. &WB_Blue_Gain_Values, // Values
  1090. 0, // RelationsCount
  1091. NULL, // Relations
  1092. NULL, // SupportHandler
  1093. sizeof(ULONG) // SerializedSize
  1094. ),
  1095. DEFINE_KSPROPERTY_ITEM
  1096. (
  1097. KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_CONTROL_SPEED, // PropertyId
  1098. TRUE, // GetSupported or Handler
  1099. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1100. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1101. TRUE, // SetSupported or Handler
  1102. &AE_Control_Speed_Values, // Values
  1103. 0, // RelationsCount
  1104. NULL, // Relations
  1105. NULL, // SupportHandler
  1106. sizeof(ULONG) // SerializedSize
  1107. ),
  1108. DEFINE_KSPROPERTY_ITEM
  1109. (
  1110. KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_FLICKERLESS, // PropertyId
  1111. TRUE, // GetSupported or Handler
  1112. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1113. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1114. TRUE, // SetSupported or Handler
  1115. &AE_Flickerless_Values, // Values
  1116. 0, // RelationsCount
  1117. NULL, // Relations
  1118. NULL, // SupportHandler
  1119. sizeof(ULONG) // SerializedSize
  1120. ),
  1121. DEFINE_KSPROPERTY_ITEM
  1122. (
  1123. KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_MODE, // PropertyId
  1124. TRUE, // GetSupported or Handler
  1125. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1126. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1127. TRUE, // SetSupported or Handler
  1128. &AE_Shutter_Mode_Values, // Values
  1129. 0, // RelationsCount
  1130. NULL, // Relations
  1131. NULL, // SupportHandler
  1132. sizeof(ULONG) // SerializedSize
  1133. ),
  1134. DEFINE_KSPROPERTY_ITEM
  1135. (
  1136. KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_SPEED, // PropertyId
  1137. TRUE, // GetSupported or Handler
  1138. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1139. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1140. TRUE, // SetSupported or Handler
  1141. &AE_Shutter_Speed_Values, // Values
  1142. 0, // RelationsCount
  1143. NULL, // Relations
  1144. NULL, // SupportHandler
  1145. sizeof(ULONG) // SerializedSize
  1146. ),
  1147. DEFINE_KSPROPERTY_ITEM
  1148. (
  1149. KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_SHUTTER_STATUS, // PropertyId
  1150. TRUE, // GetSupported or Handler
  1151. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1152. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1153. TRUE, // SetSupported or Handler
  1154. &AE_Shutter_Status_Values, // Values
  1155. 0, // RelationsCount
  1156. NULL, // Relations
  1157. NULL, // SupportHandler
  1158. sizeof(ULONG) // SerializedSize
  1159. ),
  1160. DEFINE_KSPROPERTY_ITEM
  1161. (
  1162. KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_AGC_MODE, // PropertyId
  1163. TRUE, // GetSupported or Handler
  1164. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1165. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1166. TRUE, // SetSupported or Handler
  1167. &AE_AGC_Mode_Values, // Values
  1168. 0, // RelationsCount
  1169. NULL, // Relations
  1170. NULL, // SupportHandler
  1171. sizeof(ULONG) // SerializedSize
  1172. ),
  1173. DEFINE_KSPROPERTY_ITEM
  1174. (
  1175. KSPROPERTY_PHILIPS_CUSTOM_PROP_AE_AGC, // PropertyId
  1176. TRUE, // GetSupported or Handler
  1177. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1178. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1179. TRUE, // SetSupported or Handler
  1180. &AE_AGC_Values, // Values
  1181. 0, // RelationsCount
  1182. NULL, // Relations
  1183. NULL, // SupportHandler
  1184. sizeof(ULONG) // SerializedSize
  1185. ),
  1186. DEFINE_KSPROPERTY_ITEM
  1187. (
  1188. KSPROPERTY_PHILIPS_CUSTOM_PROP_DRIVERVERSION, // PropertyId
  1189. TRUE, // GetSupported or Handler
  1190. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1191. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1192. FALSE, // SetSupported or Handler
  1193. &DriverVersion_Values, // Values
  1194. 0, // RelationsCount
  1195. NULL, // Relations
  1196. NULL, // SupportHandler
  1197. sizeof(ULONG) // SerializedSize
  1198. ),
  1199. DEFINE_KSPROPERTY_ITEM
  1200. (
  1201. KSPROPERTY_PHILIPS_CUSTOM_PROP_FRAMERATE, // PropertyId
  1202. TRUE, // GetSupported or Handler
  1203. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1204. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1205. TRUE, // SetSupported or Handler
  1206. &Framerate_Values, // Values
  1207. 0, // RelationsCount
  1208. NULL, // Relations
  1209. NULL, // SupportHandler
  1210. sizeof(ULONG) // SerializedSize
  1211. ),
  1212. DEFINE_KSPROPERTY_ITEM
  1213. (
  1214. KSPROPERTY_PHILIPS_CUSTOM_PROP_FRAMERATES_SUPPORTED,// PropertyId
  1215. TRUE, // GetSupported or Handler
  1216. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1217. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1218. TRUE, // SetSupported or Handler
  1219. &Framerates_Supported_Values, // Values
  1220. 0, // RelationsCount
  1221. NULL, // Relations
  1222. NULL, // SupportHandler
  1223. sizeof(ULONG) // SerializedSize
  1224. ),
  1225. DEFINE_KSPROPERTY_ITEM
  1226. (
  1227. KSPROPERTY_PHILIPS_CUSTOM_PROP_VIDEOFORMAT, // PropertyId
  1228. TRUE, // GetSupported or Handler
  1229. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1230. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1231. FALSE, // !! TBD // SetSupported or Handler
  1232. &VideoFormat_Values, // Values
  1233. 0, // RelationsCount
  1234. NULL, // Relations
  1235. NULL, // SupportHandler
  1236. sizeof(ULONG) // SerializedSize
  1237. ),
  1238. DEFINE_KSPROPERTY_ITEM
  1239. (
  1240. KSPROPERTY_PHILIPS_CUSTOM_PROP_SENSORTYPE, // PropertyId
  1241. TRUE, // GetSupported or Handler
  1242. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1243. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1244. FALSE, // !! TBD // SetSupported or Handler
  1245. &SensorType_Values, // Values
  1246. 0, // RelationsCount
  1247. NULL, // Relations
  1248. NULL, // SupportHandler
  1249. sizeof(ULONG) // SerializedSize
  1250. ),
  1251. DEFINE_KSPROPERTY_ITEM
  1252. (
  1253. KSPROPERTY_PHILIPS_CUSTOM_PROP_VIDEOCOMPRESSION, // PropertyId
  1254. TRUE, // GetSupported or Handler
  1255. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1256. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1257. FALSE, // !! TBD // SetSupported or Handler
  1258. &VideoCompression_Values, // Values
  1259. 0, // RelationsCount
  1260. NULL, // Relations
  1261. NULL, // SupportHandler
  1262. sizeof(ULONG) // SerializedSize
  1263. ),
  1264. DEFINE_KSPROPERTY_ITEM
  1265. (
  1266. KSPROPERTY_PHILIPS_CUSTOM_PROP_DEFAULTS, // PropertyId
  1267. FALSE, // GetSupported or Handler
  1268. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1269. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1270. TRUE, // SetSupported or Handler
  1271. &Default_Values, // Values
  1272. 0, // RelationsCount
  1273. NULL, // Relations
  1274. NULL, // SupportHandler
  1275. sizeof(ULONG) // SerializedSize
  1276. ),
  1277. DEFINE_KSPROPERTY_ITEM
  1278. (
  1279. KSPROPERTY_PHILIPS_CUSTOM_PROP_RELEASE_NUMBER, // PropertyId
  1280. TRUE, // GetSupported or Handler
  1281. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1282. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1283. TRUE, // SetSupported or Handler
  1284. &Release_Number_Values, // Values
  1285. 0, // RelationsCount
  1286. NULL, // Relations
  1287. NULL, // SupportHandler
  1288. sizeof(ULONG) // SerializedSize
  1289. ),
  1290. DEFINE_KSPROPERTY_ITEM
  1291. (
  1292. KSPROPERTY_PHILIPS_CUSTOM_PROP_VENDOR_ID, // PropertyId
  1293. TRUE, // GetSupported or Handler
  1294. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1295. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1296. TRUE, // SetSupported or Handler
  1297. &Vendor_Id_Values, // Values
  1298. 0, // RelationsCount
  1299. NULL, // Relations
  1300. NULL, // SupportHandler
  1301. sizeof(ULONG) // SerializedSize
  1302. ),
  1303. DEFINE_KSPROPERTY_ITEM
  1304. (
  1305. KSPROPERTY_PHILIPS_CUSTOM_PROP_PRODUCT_ID, // PropertyId
  1306. TRUE, // GetSupported or Handler
  1307. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinProperty
  1308. sizeof(KSPROPERTY_PHILIPS_CUSTOM_PROP_S), // MinData
  1309. TRUE, // SetSupported or Handler
  1310. &Product_Id_Values, // Values
  1311. 0, // RelationsCount
  1312. NULL, // Relations
  1313. NULL, // SupportHandler
  1314. sizeof(ULONG) // SerializedSize
  1315. ),
  1316. };
  1317. /*--------------------------------------------------------------------------
  1318. * PROPSETID_PHILIPS_FACTORY_PROP
  1319. *
  1320. * Supported:
  1321. *
  1322. * Register set get
  1323. * Factory_Mode set
  1324. *
  1325. *--------------------------------------------------------------------------*/
  1326. DEFINE_KSPROPERTY_TABLE(FactoryProperties)
  1327. {
  1328. DEFINE_KSPROPERTY_ITEM
  1329. (
  1330. KSPROPERTY_PHILIPS_FACTORY_PROP_REGISTER_ADDRESS, // PropertyId
  1331. FALSE, // GetSupported or Handler
  1332. sizeof(KSPROPERTY_PHILIPS_FACTORY_PROP_S), // MinProperty
  1333. sizeof(KSPROPERTY_PHILIPS_FACTORY_PROP_S), // MinData
  1334. TRUE, // SetSupported or Handler
  1335. &RegisterAddress_Values, // Values
  1336. 0, // RelationsCount
  1337. NULL, // Relations
  1338. NULL, // SupportHandler
  1339. sizeof(ULONG) // SerializedSize
  1340. ),
  1341. DEFINE_KSPROPERTY_ITEM
  1342. (
  1343. KSPROPERTY_PHILIPS_FACTORY_PROP_REGISTER_DATA, // PropertyId
  1344. TRUE, // GetSupported or Handler
  1345. sizeof(KSPROPERTY_PHILIPS_FACTORY_PROP_S), // MinProperty
  1346. sizeof(KSPROPERTY_PHILIPS_FACTORY_PROP_S), // MinData
  1347. TRUE, // SetSupported or Handler
  1348. &RegisterData_Values, // Values
  1349. 0, // RelationsCount
  1350. NULL, // Relations
  1351. NULL, // SupportHandler
  1352. sizeof(ULONG) // SerializedSize
  1353. ),
  1354. DEFINE_KSPROPERTY_ITEM
  1355. (
  1356. KSPROPERTY_PHILIPS_FACTORY_PROP_FACTORY_MODE, // PropertyId
  1357. FALSE, // GetSupported or Handler
  1358. sizeof(KSPROPERTY_PHILIPS_FACTORY_PROP_S), // MinProperty
  1359. sizeof(KSPROPERTY_PHILIPS_FACTORY_PROP_S), // MinData
  1360. TRUE, // SetSupported or Handler
  1361. &Factory_Mode_Values, // Values
  1362. 0, // RelationsCount
  1363. NULL, // Relations
  1364. NULL, // SupportHandler
  1365. sizeof(ULONG) // SerializedSize
  1366. ),
  1367. };
  1368. /*--------------------------------------------------------------------------
  1369. | VideoControlProperties Table
  1370. |
  1371. | Supported:
  1372. |
  1373. | Videocontrol Capabilities
  1374. | Videocontrol Mode set
  1375. |
  1376. --------------------------------------------------------------------------*/
  1377. DEFINE_KSPROPERTY_TABLE(FrameRateProperties)
  1378. {
  1379. DEFINE_KSPROPERTY_ITEM
  1380. (
  1381. KSPROPERTY_VIDEOCONTROL_CAPS,
  1382. TRUE, // GetSupported or Handler
  1383. sizeof(KSPROPERTY_VIDEOCONTROL_CAPS_S), // MinProperty
  1384. sizeof(KSPROPERTY_VIDEOCONTROL_CAPS_S), // MinData
  1385. FALSE, // SetSupported or Handler
  1386. NULL, // Values
  1387. 0, // RelationsCount
  1388. NULL, // Relations
  1389. NULL, // SupportHandler
  1390. 0 // SerializedSize
  1391. ),
  1392. DEFINE_KSPROPERTY_ITEM
  1393. (
  1394. KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE,
  1395. TRUE, // GetSupported or Handler
  1396. sizeof(KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S), // MinProperty
  1397. sizeof(KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S), // MinData
  1398. FALSE, // SetSupported or Handler
  1399. NULL, // Values
  1400. 0, // RelationsCount
  1401. NULL, // Relations
  1402. NULL, // SupportHandler
  1403. 0 // SerializedSize
  1404. ),
  1405. DEFINE_KSPROPERTY_ITEM
  1406. (
  1407. KSPROPERTY_VIDEOCONTROL_FRAME_RATES,
  1408. TRUE, // GetSupported or Handler
  1409. sizeof(KSPROPERTY_VIDEOCONTROL_FRAME_RATES_S), // MinProperty
  1410. 0 , // MinData
  1411. FALSE, // SetSupported or Handler
  1412. NULL, // Values
  1413. 0, // RelationsCount
  1414. NULL, // Relations
  1415. NULL, // SupportHandler
  1416. 0 // SerializedSize
  1417. ),
  1418. DEFINE_KSPROPERTY_ITEM
  1419. (
  1420. KSPROPERTY_VIDEOCONTROL_MODE,
  1421. TRUE, // GetSupported or Handler
  1422. sizeof(KSPROPERTY_VIDEOCONTROL_MODE_S), // MinProperty
  1423. sizeof(KSPROPERTY_VIDEOCONTROL_MODE_S), // MinData
  1424. TRUE, // SetSupported or Handler
  1425. NULL, // Values
  1426. 0, // RelationsCount
  1427. NULL, // Relations
  1428. NULL, // SupportHandler
  1429. 0 // SerializedSize
  1430. ),
  1431. };
  1432. /*--------------------------------------------------------------------------
  1433. * Definition of property set table
  1434. *--------------------------------------------------------------------------*/
  1435. DEFINE_KSPROPERTY_SET_TABLE(AdapterPropertyTable)
  1436. {
  1437. DEFINE_KSPROPERTY_SET
  1438. (
  1439. &PROPSETID_VIDCAP_VIDEOPROCAMP, // Set
  1440. SIZEOF_ARRAY(VideoProcAmpProperties), // PropertiesCount
  1441. VideoProcAmpProperties, // PropertyItem
  1442. 0, // FastIoCount
  1443. NULL // FastIoTable
  1444. ),
  1445. DEFINE_KSPROPERTY_SET
  1446. (
  1447. &PROPSETID_PHILIPS_CUSTOM_PROP, // Set
  1448. SIZEOF_ARRAY(CustomProperties), // PropertiesCount
  1449. CustomProperties, // PropertyItem
  1450. 0, // FastIoCount
  1451. NULL // FastIoTable
  1452. ),
  1453. DEFINE_KSPROPERTY_SET
  1454. (
  1455. &PROPSETID_PHILIPS_FACTORY_PROP, // Set
  1456. SIZEOF_ARRAY(FactoryProperties), // PropertiesCount
  1457. FactoryProperties, // PropertyItem
  1458. 0, // FastIoCount
  1459. NULL // FastIoTable
  1460. ),
  1461. DEFINE_KSPROPERTY_SET
  1462. (
  1463. &PROPSETID_VIDCAP_VIDEOCONTROL, // Set
  1464. SIZEOF_ARRAY(FrameRateProperties), // PropertiesCount
  1465. FrameRateProperties, // PropertyItem
  1466. 0, // FastIoCount
  1467. NULL // FastIoTable
  1468. )
  1469. };
  1470. const NUMBER_OF_ADAPTER_PROPERTY_SETS = (SIZEOF_ARRAY (AdapterPropertyTable));
  1471. /*--------------------------------------------------------------------------
  1472. | VideoControlProperties Table
  1473. |
  1474. | Supported:
  1475. |
  1476. | Videocontrol Capabilities
  1477. | Videocontrol Mode set
  1478. |
  1479. --------------------------------------------------------------------------*/
  1480. DEFINE_KSPROPERTY_TABLE(VideoControlProperties)
  1481. {
  1482. DEFINE_KSPROPERTY_ITEM
  1483. (
  1484. KSPROPERTY_VIDEOCONTROL_CAPS, // PropertyId
  1485. FALSE, // GetSupported or Handler
  1486. sizeof(KSPROPERTY_VIDEOCONTROL_CAPS_S), // MinProperty
  1487. sizeof(KSPROPERTY_VIDEOCONTROL_CAPS_S), // MinData
  1488. FALSE, // SetSupported or Handler
  1489. NULL, // Values
  1490. 0, // RelationsCount
  1491. NULL, // Relations
  1492. NULL, // SupportHandler
  1493. 0 // SerializedSize
  1494. ),
  1495. DEFINE_KSPROPERTY_ITEM
  1496. (
  1497. KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE,
  1498. TRUE, // GetSupported or Handler
  1499. sizeof(KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S), // MinProperty
  1500. sizeof(KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S), // MinData
  1501. TRUE, // SetSupported or Handler
  1502. NULL, // Values
  1503. 0, // RelationsCount
  1504. NULL, // Relations
  1505. NULL, // SupportHandler
  1506. 0 // SerializedSize
  1507. ),
  1508. DEFINE_KSPROPERTY_ITEM
  1509. (
  1510. KSPROPERTY_VIDEOCONTROL_FRAME_RATES,
  1511. TRUE, // GetSupported or Handler
  1512. sizeof(KSPROPERTY_VIDEOCONTROL_FRAME_RATES_S), // MinProperty
  1513. 0 , // MinData
  1514. FALSE, // SetSupported or Handler
  1515. NULL, // Values
  1516. 0, // RelationsCount
  1517. NULL, // Relations
  1518. NULL, // SupportHandler
  1519. 0 // SerializedSize
  1520. ),
  1521. DEFINE_KSPROPERTY_ITEM
  1522. (
  1523. KSPROPERTY_VIDEOCONTROL_MODE, // PropertyId
  1524. FALSE, // GetSupported or Handler
  1525. sizeof(KSPROPERTY_VIDEOCONTROL_MODE_S), // MinProperty
  1526. sizeof(KSPROPERTY_VIDEOCONTROL_MODE_S), // MinData
  1527. TRUE, // SetSupported or Handler
  1528. NULL, // Values
  1529. 0, // RelationsCount
  1530. NULL, // Relations
  1531. NULL, // SupportHandler
  1532. 0 // SerializedSize
  1533. )
  1534. };