Source code of Windows XP (NT5)
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.

995 lines
36 KiB

  1. //==========================================================================;
  2. //
  3. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  4. // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  5. // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  6. // PURPOSE.
  7. //
  8. // Copyright (c) 1992 - 1996 Microsoft Corporation. All Rights Reserved.
  9. //
  10. //==========================================================================;
  11. #ifndef TOSHIBA
  12. // ------------------------------------------------------------------------
  13. // Property set for the Video Crossbar
  14. // ------------------------------------------------------------------------
  15. DEFINE_KSPROPERTY_TABLE(XBarProperties)
  16. {
  17. DEFINE_KSPROPERTY_ITEM
  18. (
  19. KSPROPERTY_CROSSBAR_CAPS,
  20. TRUE, // GetSupported or Handler
  21. sizeof(KSPROPERTY_CROSSBAR_CAPS_S), // MinProperty
  22. sizeof(KSPROPERTY_CROSSBAR_CAPS_S), // MinData
  23. FALSE, // SetSupported or Handler
  24. NULL, // Values
  25. 0, // RelationsCount
  26. NULL, // Relations
  27. NULL, // SupportHandler
  28. 0 // SerializedSize
  29. ),
  30. DEFINE_KSPROPERTY_ITEM
  31. (
  32. KSPROPERTY_CROSSBAR_CAN_ROUTE,
  33. TRUE, // GetSupported or Handler
  34. sizeof(KSPROPERTY_CROSSBAR_ROUTE_S), // MinProperty
  35. sizeof(KSPROPERTY_CROSSBAR_ROUTE_S), // MinData
  36. FALSE, // SetSupported or Handler
  37. NULL, // Values
  38. 0, // RelationsCount
  39. NULL, // Relations
  40. NULL, // SupportHandler
  41. 0 // SerializedSize
  42. ),
  43. DEFINE_KSPROPERTY_ITEM
  44. (
  45. KSPROPERTY_CROSSBAR_ROUTE,
  46. TRUE, // GetSupported or Handler
  47. sizeof(KSPROPERTY_CROSSBAR_ROUTE_S), // MinProperty
  48. sizeof(KSPROPERTY_CROSSBAR_ROUTE_S), // MinData
  49. TRUE, // SetSupported or Handler
  50. NULL, // Values
  51. 0, // RelationsCount
  52. NULL, // Relations
  53. NULL, // SupportHandler
  54. 0 // SerializedSize
  55. ),
  56. DEFINE_KSPROPERTY_ITEM
  57. (
  58. KSPROPERTY_CROSSBAR_PININFO,
  59. TRUE, // GetSupported or Handler
  60. sizeof(KSPROPERTY_CROSSBAR_PININFO_S), // MinProperty
  61. sizeof(KSPROPERTY_CROSSBAR_PININFO_S), // MinData
  62. FALSE, // SetSupported or Handler
  63. NULL, // Values
  64. 0, // RelationsCount
  65. NULL, // Relations
  66. NULL, // SupportHandler
  67. 0 // SerializedSize
  68. ),
  69. };
  70. // ------------------------------------------------------------------------
  71. // Property set for the TVTuner
  72. // ------------------------------------------------------------------------
  73. DEFINE_KSPROPERTY_TABLE(TVTunerProperties)
  74. {
  75. DEFINE_KSPROPERTY_ITEM
  76. (
  77. KSPROPERTY_TUNER_CAPS,
  78. TRUE, // GetSupported or Handler
  79. sizeof(KSPROPERTY_TUNER_CAPS_S), // MinProperty
  80. sizeof(KSPROPERTY_TUNER_CAPS_S), // MinData
  81. FALSE, // SetSupported or Handler
  82. NULL, // Values
  83. 0, // RelationsCount
  84. NULL, // Relations
  85. NULL, // SupportHandler
  86. 0 // SerializedSize
  87. ),
  88. DEFINE_KSPROPERTY_ITEM
  89. (
  90. KSPROPERTY_TUNER_MODE,
  91. TRUE, // GetSupported or Handler
  92. sizeof(KSPROPERTY_TUNER_MODE_S), // MinProperty
  93. sizeof(KSPROPERTY_TUNER_MODE_S), // MinData
  94. TRUE, // SetSupported or Handler
  95. NULL, // Values
  96. 0, // RelationsCount
  97. NULL, // Relations
  98. NULL, // SupportHandler
  99. 0 // SerializedSize
  100. ),
  101. DEFINE_KSPROPERTY_ITEM
  102. (
  103. KSPROPERTY_TUNER_MODE_CAPS,
  104. TRUE, // GetSupported or Handler
  105. sizeof(KSPROPERTY_TUNER_MODE_CAPS_S), // MinProperty
  106. sizeof(KSPROPERTY_TUNER_MODE_CAPS_S), // MinData
  107. FALSE, // SetSupported or Handler
  108. NULL, // Values
  109. 0, // RelationsCount
  110. NULL, // Relations
  111. NULL, // SupportHandler
  112. 0 // SerializedSize
  113. ),
  114. DEFINE_KSPROPERTY_ITEM
  115. (
  116. KSPROPERTY_TUNER_STANDARD,
  117. TRUE, // GetSupported or Handler
  118. sizeof(KSPROPERTY_TUNER_STANDARD_S), // MinProperty
  119. sizeof(KSPROPERTY_TUNER_STANDARD_S), // MinData
  120. FALSE, // SetSupported or Handler
  121. NULL, // Values
  122. 0, // RelationsCount
  123. NULL, // Relations
  124. NULL, // SupportHandler
  125. 0 // SerializedSize
  126. ),
  127. DEFINE_KSPROPERTY_ITEM
  128. (
  129. KSPROPERTY_TUNER_FREQUENCY,
  130. FALSE, // GetSupported or Handler
  131. sizeof(KSPROPERTY_TUNER_FREQUENCY_S), // MinProperty
  132. sizeof(KSPROPERTY_TUNER_FREQUENCY_S), // MinData
  133. TRUE, // SetSupported or Handler
  134. NULL, // Values
  135. 0, // RelationsCount
  136. NULL, // Relations
  137. NULL, // SupportHandler
  138. 0 // SerializedSize
  139. ),
  140. DEFINE_KSPROPERTY_ITEM
  141. (
  142. KSPROPERTY_TUNER_INPUT,
  143. TRUE, // GetSupported or Handler
  144. sizeof(KSPROPERTY_TUNER_INPUT_S), // MinProperty
  145. sizeof(KSPROPERTY_TUNER_INPUT_S), // MinData
  146. TRUE, // SetSupported or Handler
  147. NULL, // Values
  148. 0, // RelationsCount
  149. NULL, // Relations
  150. NULL, // SupportHandler
  151. 0 // SerializedSize
  152. ),
  153. DEFINE_KSPROPERTY_ITEM
  154. (
  155. KSPROPERTY_TUNER_STATUS,
  156. TRUE, // GetSupported or Handler
  157. sizeof(KSPROPERTY_TUNER_STATUS_S), // MinProperty
  158. sizeof(KSPROPERTY_TUNER_STATUS_S), // MinData
  159. FALSE, // SetSupported or Handler
  160. NULL, // Values
  161. 0, // RelationsCount
  162. NULL, // Relations
  163. NULL, // SupportHandler
  164. 0 // SerializedSize
  165. )
  166. };
  167. // ------------------------------------------------------------------------
  168. // Property set for the TVAudio
  169. // ------------------------------------------------------------------------
  170. DEFINE_KSPROPERTY_TABLE(TVAudioProperties)
  171. {
  172. DEFINE_KSPROPERTY_ITEM
  173. (
  174. KSPROPERTY_TVAUDIO_CAPS,
  175. TRUE, // GetSupported or Handler
  176. sizeof(KSPROPERTY_TVAUDIO_CAPS_S), // MinProperty
  177. sizeof(KSPROPERTY_TVAUDIO_CAPS_S), // MinData
  178. FALSE, // SetSupported or Handler
  179. NULL, // Values
  180. 0, // RelationsCount
  181. NULL, // Relations
  182. NULL, // SupportHandler
  183. 0 // SerializedSize
  184. ),
  185. DEFINE_KSPROPERTY_ITEM
  186. (
  187. KSPROPERTY_TVAUDIO_MODE,
  188. TRUE, // GetSupported or Handler
  189. sizeof(KSPROPERTY_TVAUDIO_S), // MinProperty
  190. sizeof(KSPROPERTY_TVAUDIO_S), // MinData
  191. TRUE, // SetSupported or Handler
  192. NULL, // Values
  193. 0, // RelationsCount
  194. NULL, // Relations
  195. NULL, // SupportHandler
  196. 0 // SerializedSize
  197. ),
  198. DEFINE_KSPROPERTY_ITEM
  199. (
  200. KSPROPERTY_TVAUDIO_CURRENTLY_AVAILABLE_MODES,
  201. TRUE, // GetSupported or Handler
  202. sizeof(KSPROPERTY_TVAUDIO_S), // MinProperty
  203. sizeof(KSPROPERTY_TVAUDIO_S), // MinData
  204. FALSE, // SetSupported or Handler
  205. NULL, // Values
  206. 0, // RelationsCount
  207. NULL, // Relations
  208. NULL, // SupportHandler
  209. 0 // SerializedSize
  210. ),
  211. };
  212. #endif//TOSHIBA
  213. // ------------------------------------------------------------------------
  214. // Property set for VideoProcAmp
  215. // ------------------------------------------------------------------------
  216. //
  217. // First define all of the ranges and stepping values
  218. //
  219. // ------------------------------------------------------------------------
  220. #ifdef TOSHIBA
  221. static KSPROPERTY_STEPPING_LONG BrightnessRangeAndStep [] =
  222. {
  223. {
  224. 256 / 1, // SteppingDelta (range / steps)
  225. 0, // Reserved
  226. 0, // Minimum in (IRE * 100) units
  227. 255 // Maximum in (IRE * 100) units
  228. }
  229. };
  230. static const ULONG BrightnessDefault = 128;
  231. #else //TOSHIBA
  232. static KSPROPERTY_STEPPING_LONG BrightnessRangeAndStep [] =
  233. {
  234. {
  235. 10000 / 10, // SteppingDelta (range / steps)
  236. 0, // Reserved
  237. 0, // Minimum in (IRE * 100) units
  238. 10000 // Maximum in (IRE * 100) units
  239. }
  240. };
  241. static const ULONG BrightnessDefault = 5000;
  242. #endif//TOSHIBA
  243. static KSPROPERTY_MEMBERSLIST BrightnessMembersList [] =
  244. {
  245. {
  246. {
  247. KSPROPERTY_MEMBER_RANGES,
  248. sizeof (BrightnessRangeAndStep),
  249. SIZEOF_ARRAY (BrightnessRangeAndStep),
  250. 0
  251. },
  252. (PVOID) BrightnessRangeAndStep,
  253. },
  254. {
  255. {
  256. KSPROPERTY_MEMBER_VALUES,
  257. sizeof (BrightnessDefault),
  258. sizeof (BrightnessDefault),
  259. KSPROPERTY_MEMBER_FLAG_DEFAULT
  260. },
  261. (PVOID) &BrightnessDefault,
  262. }
  263. };
  264. static KSPROPERTY_VALUES BrightnessValues =
  265. {
  266. {
  267. STATICGUIDOF (KSPROPTYPESETID_General),
  268. VT_I4,
  269. 0
  270. },
  271. SIZEOF_ARRAY (BrightnessMembersList),
  272. BrightnessMembersList
  273. };
  274. // ------------------------------------------------------------------------
  275. #ifdef TOSHIBA
  276. static KSPROPERTY_STEPPING_LONG ContrastRangeAndStep [] =
  277. {
  278. {
  279. 256 / 1, // SteppingDelta (range / steps)
  280. 0, // Reserved
  281. 0, // Minimum in (gain * 100) units
  282. 255 // Maximum in (gain * 100) units
  283. }
  284. };
  285. static const ULONG ContrastDefault = 128;
  286. #else //TOSHIBA
  287. static KSPROPERTY_STEPPING_LONG ContrastRangeAndStep [] =
  288. {
  289. {
  290. 10000 / 256, // SteppingDelta (range / steps)
  291. 0, // Reserved
  292. 0, // Minimum in (gain * 100) units
  293. 10000 // Maximum in (gain * 100) units
  294. }
  295. };
  296. static const ULONG ContrastDefault = 5000;
  297. #endif//TOSHIBA
  298. static KSPROPERTY_MEMBERSLIST ContrastMembersList [] =
  299. {
  300. {
  301. {
  302. KSPROPERTY_MEMBER_RANGES,
  303. sizeof (ContrastRangeAndStep),
  304. SIZEOF_ARRAY (ContrastRangeAndStep),
  305. 0
  306. },
  307. (PVOID) ContrastRangeAndStep
  308. },
  309. {
  310. {
  311. KSPROPERTY_MEMBER_VALUES,
  312. sizeof (ContrastDefault),
  313. sizeof (ContrastDefault),
  314. KSPROPERTY_MEMBER_FLAG_DEFAULT
  315. },
  316. (PVOID) &ContrastDefault,
  317. }
  318. };
  319. static KSPROPERTY_VALUES ContrastValues =
  320. {
  321. {
  322. STATICGUIDOF (KSPROPTYPESETID_General),
  323. VT_I4,
  324. 0
  325. },
  326. SIZEOF_ARRAY (ContrastMembersList),
  327. ContrastMembersList
  328. };
  329. #ifdef TOSHIBA
  330. // ------------------------------------------------------------------------
  331. static KSPROPERTY_STEPPING_LONG HueRangeAndStep [] =
  332. {
  333. {
  334. 256 / 1, // SteppingDelta (range / steps)
  335. 0, // Reserved
  336. 0, // Minimum in (IRE * 100) units
  337. 255 // Maximum in (IRE * 100) units
  338. }
  339. };
  340. static const ULONG HueDefault = 128;
  341. static KSPROPERTY_MEMBERSLIST HueMembersList [] =
  342. {
  343. {
  344. {
  345. KSPROPERTY_MEMBER_RANGES,
  346. sizeof (HueRangeAndStep),
  347. SIZEOF_ARRAY (HueRangeAndStep),
  348. 0
  349. },
  350. (PVOID) HueRangeAndStep,
  351. },
  352. {
  353. {
  354. KSPROPERTY_MEMBER_VALUES,
  355. sizeof (HueDefault),
  356. sizeof (HueDefault),
  357. KSPROPERTY_MEMBER_FLAG_DEFAULT
  358. },
  359. (PVOID) &HueDefault,
  360. }
  361. };
  362. static KSPROPERTY_VALUES HueValues =
  363. {
  364. {
  365. STATICGUIDOF (KSPROPTYPESETID_General),
  366. VT_I4,
  367. 0
  368. },
  369. SIZEOF_ARRAY (HueMembersList),
  370. HueMembersList
  371. };
  372. // ------------------------------------------------------------------------
  373. static KSPROPERTY_STEPPING_LONG SaturationRangeAndStep [] =
  374. {
  375. {
  376. 256 / 1, // SteppingDelta (range / steps)
  377. 0, // Reserved
  378. 0, // Minimum in (gain * 100) units
  379. 255 // Maximum in (gain * 100) units
  380. }
  381. };
  382. static const ULONG SaturationDefault = 128;
  383. static KSPROPERTY_MEMBERSLIST SaturationMembersList [] =
  384. {
  385. {
  386. {
  387. KSPROPERTY_MEMBER_RANGES,
  388. sizeof (SaturationRangeAndStep),
  389. SIZEOF_ARRAY (SaturationRangeAndStep),
  390. 0
  391. },
  392. (PVOID) SaturationRangeAndStep
  393. },
  394. {
  395. {
  396. KSPROPERTY_MEMBER_VALUES,
  397. sizeof (SaturationDefault),
  398. sizeof (SaturationDefault),
  399. KSPROPERTY_MEMBER_FLAG_DEFAULT
  400. },
  401. (PVOID) &SaturationDefault,
  402. }
  403. };
  404. static KSPROPERTY_VALUES SaturationValues =
  405. {
  406. {
  407. STATICGUIDOF (KSPROPTYPESETID_General),
  408. VT_I4,
  409. 0
  410. },
  411. SIZEOF_ARRAY (SaturationMembersList),
  412. SaturationMembersList
  413. };
  414. #endif//TOSHIBA
  415. // ------------------------------------------------------------------------
  416. static KSPROPERTY_STEPPING_LONG ColorEnableRangeAndStep [] =
  417. {
  418. {
  419. 1, // SteppingDelta (this is a BOOL)
  420. 0, // Reserved
  421. 0, // Minimum
  422. 1 // Maximum
  423. }
  424. };
  425. #ifdef TOSHIBA
  426. static const ULONG ColorEnableDefault = 0;
  427. #else //TOSHIBA
  428. static const ULONG ColorEnableDefault = 1;
  429. #endif//TOSHIBA
  430. static KSPROPERTY_MEMBERSLIST ColorEnableMembersList [] =
  431. {
  432. {
  433. {
  434. KSPROPERTY_MEMBER_RANGES,
  435. sizeof (ColorEnableRangeAndStep),
  436. SIZEOF_ARRAY (ColorEnableRangeAndStep),
  437. 0
  438. },
  439. (PVOID) ColorEnableRangeAndStep
  440. },
  441. {
  442. {
  443. KSPROPERTY_MEMBER_VALUES,
  444. sizeof (ColorEnableDefault),
  445. sizeof (ColorEnableDefault),
  446. KSPROPERTY_MEMBER_FLAG_DEFAULT
  447. },
  448. (PVOID) &ColorEnableDefault,
  449. }
  450. };
  451. static KSPROPERTY_VALUES ColorEnableValues =
  452. {
  453. {
  454. STATICGUIDOF (KSPROPTYPESETID_General),
  455. VT_I4,
  456. 0
  457. },
  458. SIZEOF_ARRAY (ColorEnableMembersList),
  459. ColorEnableMembersList
  460. };
  461. // ------------------------------------------------------------------------
  462. DEFINE_KSPROPERTY_TABLE(VideoProcAmpProperties)
  463. {
  464. DEFINE_KSPROPERTY_ITEM
  465. (
  466. KSPROPERTY_VIDEOPROCAMP_CONTRAST,
  467. TRUE, // GetSupported or Handler
  468. sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinProperty
  469. sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinData
  470. TRUE, // SetSupported or Handler
  471. &ContrastValues, // Values
  472. 0, // RelationsCount
  473. NULL, // Relations
  474. NULL, // SupportHandler
  475. sizeof(ULONG) // SerializedSize
  476. ),
  477. DEFINE_KSPROPERTY_ITEM
  478. (
  479. KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS,
  480. TRUE, // GetSupported or Handler
  481. sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinProperty
  482. sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinData
  483. TRUE, // SetSupported or Handler
  484. &BrightnessValues, // Values
  485. 0, // RelationsCount
  486. NULL, // Relations
  487. NULL, // SupportHandler
  488. sizeof(ULONG) // SerializedSize
  489. ),
  490. #ifdef TOSHIBA
  491. DEFINE_KSPROPERTY_ITEM
  492. (
  493. KSPROPERTY_VIDEOPROCAMP_HUE,
  494. TRUE, // GetSupported or Handler
  495. sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinProperty
  496. sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinData
  497. TRUE, // SetSupported or Handler
  498. &HueValues, // Values
  499. 0, // RelationsCount
  500. NULL, // Relations
  501. NULL, // SupportHandler
  502. sizeof(ULONG) // SerializedSize
  503. ),
  504. DEFINE_KSPROPERTY_ITEM
  505. (
  506. KSPROPERTY_VIDEOPROCAMP_SATURATION,
  507. TRUE, // GetSupported or Handler
  508. sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinProperty
  509. sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinData
  510. TRUE, // SetSupported or Handler
  511. &SaturationValues, // Values
  512. 0, // RelationsCount
  513. NULL, // Relations
  514. NULL, // SupportHandler
  515. sizeof(ULONG) // SerializedSize
  516. ),
  517. #endif//TOSHIBA
  518. DEFINE_KSPROPERTY_ITEM
  519. (
  520. KSPROPERTY_VIDEOPROCAMP_COLORENABLE,
  521. TRUE, // GetSupported or Handler
  522. sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinProperty
  523. sizeof(KSPROPERTY_VIDEOPROCAMP_S), // MinData
  524. TRUE, // SetSupported or Handler
  525. &ColorEnableValues, // Values
  526. 0, // RelationsCount
  527. NULL, // Relations
  528. NULL, // SupportHandler
  529. sizeof(ULONG) // SerializedSize
  530. ),
  531. };
  532. #ifndef TOSHIBA
  533. // ------------------------------------------------------------------------
  534. // Property set for CameraControl
  535. // ------------------------------------------------------------------------
  536. //
  537. // First define all of the ranges and stepping values
  538. //
  539. // ------------------------------------------------------------------------
  540. static KSPROPERTY_STEPPING_LONG ZoomRangeAndStep [] =
  541. {
  542. {
  543. 10000 / 10, // SteppingDelta (range / steps)
  544. 0, // Reserved
  545. 0, // Minimum
  546. 10000 // Maximum
  547. }
  548. };
  549. static const ULONG ZoomDefault = 5000;
  550. static KSPROPERTY_MEMBERSLIST ZoomMembersList [] =
  551. {
  552. {
  553. {
  554. KSPROPERTY_MEMBER_RANGES,
  555. sizeof (ZoomRangeAndStep),
  556. SIZEOF_ARRAY (ZoomRangeAndStep),
  557. 0
  558. },
  559. (PVOID) ZoomRangeAndStep,
  560. },
  561. {
  562. {
  563. KSPROPERTY_MEMBER_VALUES,
  564. sizeof (ZoomDefault),
  565. sizeof (ZoomDefault),
  566. KSPROPERTY_MEMBER_FLAG_DEFAULT
  567. },
  568. (PVOID) &ZoomDefault,
  569. }
  570. };
  571. static KSPROPERTY_VALUES ZoomValues =
  572. {
  573. {
  574. STATICGUIDOF (KSPROPTYPESETID_General),
  575. VT_I4,
  576. 0
  577. },
  578. SIZEOF_ARRAY (ZoomMembersList),
  579. ZoomMembersList
  580. };
  581. // ------------------------------------------------------------------------
  582. static KSPROPERTY_STEPPING_LONG FocusRangeAndStep [] =
  583. {
  584. {
  585. 10000 / 256, // SteppingDelta (range / steps)
  586. 0, // Reserved
  587. 0, // Minimum
  588. 10000 // Maximum
  589. }
  590. };
  591. static const ULONG FocusDefault = 5000;
  592. static KSPROPERTY_MEMBERSLIST FocusMembersList [] =
  593. {
  594. {
  595. {
  596. KSPROPERTY_MEMBER_RANGES,
  597. sizeof (FocusRangeAndStep),
  598. SIZEOF_ARRAY (FocusRangeAndStep),
  599. 0
  600. },
  601. (PVOID) FocusRangeAndStep
  602. },
  603. {
  604. {
  605. KSPROPERTY_MEMBER_VALUES,
  606. sizeof (FocusDefault),
  607. sizeof (FocusDefault),
  608. KSPROPERTY_MEMBER_FLAG_DEFAULT
  609. },
  610. (PVOID) &FocusDefault,
  611. }
  612. };
  613. static KSPROPERTY_VALUES FocusValues =
  614. {
  615. {
  616. STATICGUIDOF (KSPROPTYPESETID_General),
  617. VT_I4,
  618. 0
  619. },
  620. SIZEOF_ARRAY (FocusMembersList),
  621. FocusMembersList
  622. };
  623. // ------------------------------------------------------------------------
  624. DEFINE_KSPROPERTY_TABLE(CameraControlProperties)
  625. {
  626. DEFINE_KSPROPERTY_ITEM
  627. (
  628. KSPROPERTY_CAMERACONTROL_ZOOM,
  629. TRUE, // GetSupported or Handler
  630. sizeof(KSPROPERTY_CAMERACONTROL_S), // MinProperty
  631. sizeof(KSPROPERTY_CAMERACONTROL_S), // MinData
  632. TRUE, // SetSupported or Handler
  633. &ZoomValues, // Values
  634. 0, // RelationsCount
  635. NULL, // Relations
  636. NULL, // SupportHandler
  637. sizeof(ULONG) // SerializedSize
  638. ),
  639. DEFINE_KSPROPERTY_ITEM
  640. (
  641. KSPROPERTY_CAMERACONTROL_FOCUS,
  642. TRUE, // GetSupported or Handler
  643. sizeof(KSPROPERTY_CAMERACONTROL_S), // MinProperty
  644. sizeof(KSPROPERTY_CAMERACONTROL_S), // MinData
  645. TRUE, // SetSupported or Handler
  646. &FocusValues, // Values
  647. 0, // RelationsCount
  648. NULL, // Relations
  649. NULL, // SupportHandler
  650. sizeof(ULONG) // SerializedSize
  651. ),
  652. };
  653. // ------------------------------------------------------------------------
  654. // Property set for AnalogVideoDecoder
  655. // ------------------------------------------------------------------------
  656. DEFINE_KSPROPERTY_TABLE(AnalogVideoDecoder)
  657. {
  658. DEFINE_KSPROPERTY_ITEM
  659. (
  660. KSPROPERTY_VIDEODECODER_CAPS,
  661. TRUE, // GetSupported or Handler
  662. sizeof(KSPROPERTY_VIDEODECODER_CAPS_S), // MinProperty
  663. sizeof(KSPROPERTY_VIDEODECODER_CAPS_S), // MinData
  664. FALSE, // SetSupported or Handler
  665. NULL, // Values
  666. 0, // RelationsCount
  667. NULL, // Relations
  668. NULL, // SupportHandler
  669. 0 // SerializedSize
  670. ),
  671. DEFINE_KSPROPERTY_ITEM
  672. (
  673. KSPROPERTY_VIDEODECODER_STANDARD,
  674. TRUE, // GetSupported or Handler
  675. sizeof(KSPROPERTY_VIDEODECODER_S), // MinProperty
  676. sizeof(KSPROPERTY_VIDEODECODER_S), // MinData
  677. TRUE, // SetSupported or Handler
  678. NULL, // Values
  679. 0, // RelationsCount
  680. NULL, // Relations
  681. NULL, // SupportHandler
  682. 0 // SerializedSize
  683. ),
  684. DEFINE_KSPROPERTY_ITEM
  685. (
  686. KSPROPERTY_VIDEODECODER_STATUS,
  687. TRUE, // GetSupported or Handler
  688. sizeof(KSPROPERTY_VIDEODECODER_STATUS_S),// MinProperty
  689. sizeof(KSPROPERTY_VIDEODECODER_STATUS_S),// MinData
  690. FALSE, // SetSupported or Handler
  691. NULL, // Values
  692. 0, // RelationsCount
  693. NULL, // Relations
  694. NULL, // SupportHandler
  695. 0 // SerializedSize
  696. ),
  697. DEFINE_KSPROPERTY_ITEM
  698. (
  699. KSPROPERTY_VIDEODECODER_OUTPUT_ENABLE,
  700. TRUE, // GetSupported or Handler
  701. sizeof(KSPROPERTY_VIDEODECODER_S), // MinProperty
  702. sizeof(KSPROPERTY_VIDEODECODER_S), // MinData
  703. TRUE, // SetSupported or Handler
  704. NULL, // Values
  705. 0, // RelationsCount
  706. NULL, // Relations
  707. NULL, // SupportHandler
  708. 0 // SerializedSize
  709. ),
  710. DEFINE_KSPROPERTY_ITEM
  711. (
  712. KSPROPERTY_VIDEODECODER_VCR_TIMING,
  713. TRUE, // GetSupported or Handler
  714. sizeof(KSPROPERTY_VIDEODECODER_S), // MinProperty
  715. sizeof(KSPROPERTY_VIDEODECODER_S), // MinData
  716. TRUE, // SetSupported or Handler
  717. NULL, // Values
  718. 0, // RelationsCount
  719. NULL, // Relations
  720. NULL, // SupportHandler
  721. 0 // SerializedSize
  722. ),
  723. };
  724. #endif//TOSHIBA
  725. #ifndef TOSHIBA // '98-12-10 Deleted, for Bug-Report 253534
  726. // ------------------------------------------------------------------------
  727. // Property set for VideoControl
  728. // ------------------------------------------------------------------------
  729. DEFINE_KSPROPERTY_TABLE(VideoControlProperties)
  730. {
  731. DEFINE_KSPROPERTY_ITEM
  732. (
  733. KSPROPERTY_VIDEOCONTROL_CAPS,
  734. TRUE, // GetSupported or Handler
  735. sizeof(KSPROPERTY_VIDEOCONTROL_CAPS_S), // MinProperty
  736. sizeof(KSPROPERTY_VIDEOCONTROL_CAPS_S), // MinData
  737. FALSE, // SetSupported or Handler
  738. NULL, // Values
  739. 0, // RelationsCount
  740. NULL, // Relations
  741. NULL, // SupportHandler
  742. 0 // SerializedSize
  743. ),
  744. DEFINE_KSPROPERTY_ITEM
  745. (
  746. KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE,
  747. TRUE, // GetSupported or Handler
  748. sizeof(KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S), // MinProperty
  749. sizeof(KSPROPERTY_VIDEOCONTROL_ACTUAL_FRAME_RATE_S), // MinData
  750. FALSE, // SetSupported or Handler
  751. NULL, // Values
  752. 0, // RelationsCount
  753. NULL, // Relations
  754. NULL, // SupportHandler
  755. 0 // SerializedSize
  756. ),
  757. DEFINE_KSPROPERTY_ITEM
  758. (
  759. KSPROPERTY_VIDEOCONTROL_FRAME_RATES,
  760. TRUE, // GetSupported or Handler
  761. sizeof(KSPROPERTY), // MinProperty
  762. sizeof(KSMULTIPLE_ITEM), // MinData
  763. FALSE, // SetSupported or Handler
  764. NULL, // Values
  765. 0, // RelationsCount
  766. NULL, // Relations
  767. NULL, // SupportHandler
  768. 0 // SerializedSize
  769. ),
  770. DEFINE_KSPROPERTY_ITEM
  771. (
  772. KSPROPERTY_VIDEOCONTROL_MODE,
  773. TRUE, // GetSupported or Handler
  774. sizeof(KSPROPERTY_VIDEOCONTROL_MODE_S), // MinProperty
  775. sizeof(KSPROPERTY_VIDEOCONTROL_MODE_S), // MinData
  776. TRUE, // SetSupported or Handler
  777. NULL, // Values
  778. 0, // RelationsCount
  779. NULL, // Relations
  780. NULL, // SupportHandler
  781. 0 // SerializedSize
  782. ),
  783. };
  784. // ------------------------------------------------------------------------
  785. // Property set for VideoCompression
  786. // ------------------------------------------------------------------------
  787. DEFINE_KSPROPERTY_TABLE(VideoStreamCompressionProperties)
  788. {
  789. DEFINE_KSPROPERTY_ITEM
  790. (
  791. KSPROPERTY_VIDEOCOMPRESSION_GETINFO,
  792. TRUE, // GetSupported or Handler
  793. sizeof(KSPROPERTY_VIDEOCOMPRESSION_GETINFO_S),// MinProperty
  794. sizeof(KSPROPERTY_VIDEOCOMPRESSION_GETINFO_S),// MinData
  795. FALSE, // SetSupported or Handler
  796. NULL, // Values
  797. 0, // RelationsCount
  798. NULL, // Relations
  799. NULL, // SupportHandler
  800. 0 // SerializedSize
  801. ),
  802. DEFINE_KSPROPERTY_ITEM
  803. (
  804. KSPROPERTY_VIDEOCOMPRESSION_KEYFRAME_RATE,
  805. TRUE, // GetSupported or Handler
  806. sizeof(KSPROPERTY_VIDEOCOMPRESSION_S), // MinProperty
  807. sizeof(KSPROPERTY_VIDEOCOMPRESSION_S), // MinData
  808. TRUE, // SetSupported or Handler
  809. NULL, // Values
  810. 0, // RelationsCount
  811. NULL, // Relations
  812. NULL, // SupportHandler
  813. 0 // SerializedSize
  814. ),
  815. DEFINE_KSPROPERTY_ITEM
  816. (
  817. KSPROPERTY_VIDEOCOMPRESSION_PFRAMES_PER_KEYFRAME,
  818. TRUE, // GetSupported or Handler
  819. sizeof(KSPROPERTY_VIDEOCOMPRESSION_S), // MinProperty
  820. sizeof(KSPROPERTY_VIDEOCOMPRESSION_S), // MinData
  821. TRUE, // SetSupported or Handler
  822. NULL, // Values
  823. 0, // RelationsCount
  824. NULL, // Relations
  825. NULL, // SupportHandler
  826. 0 // SerializedSize
  827. ),
  828. DEFINE_KSPROPERTY_ITEM
  829. (
  830. KSPROPERTY_VIDEOCOMPRESSION_QUALITY,
  831. TRUE, // GetSupported or Handler
  832. sizeof(KSPROPERTY_VIDEOCOMPRESSION_S), // MinProperty
  833. sizeof(KSPROPERTY_VIDEOCOMPRESSION_S), // MinData
  834. TRUE, // SetSupported or Handler
  835. NULL, // Values
  836. 0, // RelationsCount
  837. NULL, // Relations
  838. NULL, // SupportHandler
  839. 0 // SerializedSize
  840. ),
  841. };
  842. #endif//TOSHIBA
  843. // ------------------------------------------------------------------------
  844. // Array of all of the property sets supported by the adapter
  845. // ------------------------------------------------------------------------
  846. DEFINE_KSPROPERTY_SET_TABLE(AdapterPropertyTable)
  847. {
  848. #ifdef TOSHIBA
  849. DEFINE_KSPROPERTY_SET
  850. (
  851. &PROPSETID_VIDCAP_VIDEOPROCAMP,
  852. SIZEOF_ARRAY(VideoProcAmpProperties),
  853. VideoProcAmpProperties,
  854. 0,
  855. NULL,
  856. ),
  857. #else //TOSHIBA // '98-12-10 Moved, for Bug-Report 253534
  858. DEFINE_KSPROPERTY_SET
  859. (
  860. &PROPSETID_VIDCAP_VIDEOCONTROL,
  861. SIZEOF_ARRAY(VideoControlProperties),
  862. VideoControlProperties,
  863. 0,
  864. NULL,
  865. ),
  866. DEFINE_KSPROPERTY_SET
  867. (
  868. &PROPSETID_VIDCAP_VIDEOCOMPRESSION, // Set
  869. SIZEOF_ARRAY(VideoStreamCompressionProperties), // PropertiesCount
  870. VideoStreamCompressionProperties, // PropertyItem
  871. 0, // FastIoCount
  872. NULL // FastIoTable
  873. ),
  874. //#else //TOSHIBA '98-12-10 Moved, for Bug-Report 253534
  875. DEFINE_KSPROPERTY_SET
  876. (
  877. &PROPSETID_VIDCAP_CROSSBAR, // Set
  878. SIZEOF_ARRAY(XBarProperties), // PropertiesCount
  879. XBarProperties, // PropertyItem
  880. 0, // FastIoCount
  881. NULL // FastIoTable
  882. ),
  883. DEFINE_KSPROPERTY_SET
  884. (
  885. &PROPSETID_TUNER,
  886. SIZEOF_ARRAY(TVTunerProperties),
  887. TVTunerProperties,
  888. 0,
  889. NULL,
  890. ),
  891. DEFINE_KSPROPERTY_SET
  892. (
  893. &PROPSETID_VIDCAP_TVAUDIO,
  894. SIZEOF_ARRAY(TVAudioProperties),
  895. TVAudioProperties,
  896. 0,
  897. NULL,
  898. ),
  899. DEFINE_KSPROPERTY_SET
  900. (
  901. &PROPSETID_VIDCAP_VIDEOPROCAMP,
  902. SIZEOF_ARRAY(VideoProcAmpProperties),
  903. VideoProcAmpProperties,
  904. 0,
  905. NULL,
  906. ),
  907. DEFINE_KSPROPERTY_SET
  908. (
  909. &PROPSETID_VIDCAP_CAMERACONTROL,
  910. SIZEOF_ARRAY(CameraControlProperties),
  911. CameraControlProperties,
  912. 0,
  913. NULL,
  914. ),
  915. DEFINE_KSPROPERTY_SET
  916. (
  917. &PROPSETID_VIDCAP_VIDEOCONTROL,
  918. SIZEOF_ARRAY(VideoControlProperties),
  919. VideoControlProperties,
  920. 0,
  921. NULL,
  922. ),
  923. DEFINE_KSPROPERTY_SET
  924. (
  925. &PROPSETID_VIDCAP_VIDEODECODER,
  926. SIZEOF_ARRAY(AnalogVideoDecoder),
  927. AnalogVideoDecoder,
  928. 0,
  929. NULL,
  930. ),
  931. DEFINE_KSPROPERTY_SET
  932. (
  933. &PROPSETID_VIDCAP_VIDEOCOMPRESSION, // Set
  934. SIZEOF_ARRAY(VideoStreamCompressionProperties), // PropertiesCount
  935. VideoStreamCompressionProperties, // PropertyItem
  936. 0, // FastIoCount
  937. NULL // FastIoTable
  938. ),
  939. #endif//TOSHIBA
  940. };
  941. #define NUMBER_OF_ADAPTER_PROPERTY_SETS (SIZEOF_ARRAY (AdapterPropertyTable))
  942.