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.

552 lines
24 KiB

  1. //==========================================================================;
  2. //
  3. // WDM Video Decoder stream properties definitions
  4. //
  5. // $Date: 17 Aug 1998 14:59:50 $
  6. // $Revision: 1.0 $
  7. // $Author: Tashjian $
  8. //
  9. // $Copyright: (c) 1997 - 1998 ATI Technologies Inc. All Rights Reserved. $
  10. //
  11. //==========================================================================;
  12. #ifdef _STRM_PROP_H_
  13. #pragma message("StrmProp.h INCLUDED MORE THAN ONCE")
  14. #else
  15. #define _STRM_PROP_H_
  16. #endif
  17. // ------------------------------------------------------------------------
  18. // Property set for Video and VBI capture streams
  19. // ------------------------------------------------------------------------
  20. DEFINE_KSPROPERTY_TABLE(VideoStreamConnectionProperties)
  21. {
  22. DEFINE_KSPROPERTY_ITEM
  23. (
  24. KSPROPERTY_CONNECTION_ALLOCATORFRAMING,
  25. TRUE, // GetSupported or Handler
  26. sizeof(KSPROPERTY), // MinProperty
  27. sizeof(KSALLOCATOR_FRAMING), // MinData
  28. FALSE, // SetSupported or Handler
  29. NULL, // Values
  30. 0, // RelationsCount
  31. NULL, // Relations
  32. NULL, // SupportHandler
  33. sizeof(ULONG) // SerializedSize
  34. ),
  35. };
  36. DEFINE_KSPROPERTY_TABLE(VideoStreamDroppedFramesProperties)
  37. {
  38. DEFINE_KSPROPERTY_ITEM
  39. (
  40. KSPROPERTY_DROPPEDFRAMES_CURRENT,
  41. TRUE, // GetSupported or Handler
  42. sizeof(KSPROPERTY_DROPPEDFRAMES_CURRENT_S),// MinProperty
  43. sizeof(KSPROPERTY_DROPPEDFRAMES_CURRENT_S),// MinData
  44. FALSE, // SetSupported or Handler
  45. NULL, // Values
  46. 0, // RelationsCount
  47. NULL, // Relations
  48. NULL, // SupportHandler
  49. 0 // SerializedSize
  50. ),
  51. };
  52. // ------------------------------------------------------------------------
  53. // Array of the property sets supported by Video and VBI capture streams
  54. // ------------------------------------------------------------------------
  55. DEFINE_KSPROPERTY_SET_TABLE(VideoStreamProperties)
  56. {
  57. DEFINE_KSPROPERTY_SET
  58. (
  59. &KSPROPSETID_Connection, // Set
  60. SIZEOF_ARRAY(VideoStreamConnectionProperties), // PropertiesCount
  61. VideoStreamConnectionProperties, // PropertyItem
  62. 0, // FastIoCount
  63. NULL // FastIoTable
  64. ),
  65. DEFINE_KSPROPERTY_SET
  66. (
  67. &PROPSETID_VIDCAP_DROPPEDFRAMES, // Set
  68. SIZEOF_ARRAY(VideoStreamDroppedFramesProperties), // PropertiesCount
  69. VideoStreamDroppedFramesProperties, // PropertyItem
  70. 0, // FastIoCount
  71. NULL // FastIoTable
  72. ),
  73. };
  74. const ULONG NumVideoStreamProperties = SIZEOF_ARRAY(VideoStreamProperties);
  75. // ------------------------------------------------------------------------
  76. // Property set for the VideoPort
  77. // ------------------------------------------------------------------------
  78. DEFINE_KSPROPERTY_TABLE(VideoPortConfiguration)
  79. {
  80. DEFINE_KSPROPERTY_ITEM
  81. (
  82. KSPROPERTY_VPCONFIG_NUMCONNECTINFO,
  83. TRUE, // GetSupported or Handler
  84. sizeof(KSPROPERTY), // MinProperty
  85. sizeof(ULONG), // MinData
  86. FALSE, // SetSupported or Handler
  87. NULL, // Values
  88. 0, // RelationsCount
  89. NULL, // Relations
  90. NULL, // SupportHandler
  91. 0 // SerializedSize
  92. ),
  93. DEFINE_KSPROPERTY_ITEM
  94. (
  95. KSPROPERTY_VPCONFIG_NUMVIDEOFORMAT,
  96. TRUE, // GetSupported or Handler
  97. sizeof(KSPROPERTY), // MinProperty
  98. sizeof(ULONG), // MinData
  99. FALSE, // SetSupported or Handler
  100. NULL, // Values
  101. 0, // RelationsCount
  102. NULL, // Relations
  103. NULL, // SupportHandler
  104. 0 // SerializedSize
  105. ),
  106. DEFINE_KSPROPERTY_ITEM
  107. (
  108. KSPROPERTY_VPCONFIG_GETCONNECTINFO,
  109. TRUE, // GetSupported or Handler
  110. sizeof(KSMULTIPLE_DATA_PROP), // MinProperty
  111. sizeof(DDVIDEOPORTCONNECT), // MinData
  112. FALSE, // SetSupported or Handler
  113. NULL, // Values
  114. 0, // RelationsCount
  115. NULL, // Relations
  116. NULL, // SupportHandler
  117. 0 // SerializedSize
  118. ),
  119. DEFINE_KSPROPERTY_ITEM
  120. (
  121. KSPROPERTY_VPCONFIG_SETCONNECTINFO,
  122. FALSE, // GetSupported or Handler
  123. sizeof(KSPROPERTY), // MinProperty
  124. sizeof(ULONG), // MinData
  125. TRUE, // SetSupported or Handler
  126. NULL, // Values
  127. 0, // RelationsCount
  128. NULL, // Relations
  129. NULL, // SupportHandler
  130. 0 // SerializedSize
  131. ),
  132. DEFINE_KSPROPERTY_ITEM
  133. (
  134. KSPROPERTY_VPCONFIG_VPDATAINFO,
  135. TRUE, // GetSupported or Handler
  136. sizeof(KSPROPERTY), // MinProperty
  137. sizeof(KS_AMVPDATAINFO), // MinData
  138. FALSE, // SetSupported or Handler
  139. NULL, // Values
  140. 0, // RelationsCount
  141. NULL, // Relations
  142. NULL, // SupportHandler
  143. 0 // SerializedSize
  144. ),
  145. DEFINE_KSPROPERTY_ITEM
  146. (
  147. KSPROPERTY_VPCONFIG_MAXPIXELRATE,
  148. TRUE, // GetSupported or Handler
  149. sizeof(KSVPSIZE_PROP), // MinProperty
  150. sizeof(KSVPMAXPIXELRATE), // MinData
  151. FALSE, // SetSupported or Handler
  152. NULL, // Values
  153. 0, // RelationsCount
  154. NULL, // Relations
  155. NULL, // SupportHandler
  156. 0 // SerializedSize
  157. ),
  158. #if 0
  159. // This would be supported if we wanted to be informed of the available formats
  160. DEFINE_KSPROPERTY_ITEM
  161. (
  162. KSPROPERTY_VPCONFIG_INFORMVPINPUT,
  163. FALSE, // GetSupported or Handler
  164. sizeof(KSMULTIPLE_DATA_PROP), // MinProperty
  165. sizeof(DDPIXELFORMAT), // MinData
  166. TRUE, // SetSupported or Handler
  167. NULL, // Values
  168. 0, // RelationsCount
  169. NULL, // Relations
  170. NULL, // SupportHandler
  171. 0 // SerializedSize
  172. ),
  173. #endif
  174. DEFINE_KSPROPERTY_ITEM
  175. (
  176. KSPROPERTY_VPCONFIG_DDRAWHANDLE,
  177. (PFNKSHANDLER)FALSE,
  178. sizeof(KSPROPERTY),
  179. sizeof(ULONG_PTR), // could be 0 too
  180. (PFNKSHANDLER) TRUE,
  181. NULL,
  182. 0,
  183. NULL,
  184. NULL,
  185. 0
  186. ),
  187. DEFINE_KSPROPERTY_ITEM
  188. (
  189. KSPROPERTY_VPCONFIG_VIDEOPORTID,
  190. (PFNKSHANDLER)FALSE,
  191. sizeof(KSPROPERTY),
  192. sizeof(ULONG), // could be 0 too
  193. (PFNKSHANDLER) TRUE,
  194. NULL,
  195. 0,
  196. NULL,
  197. NULL,
  198. 0
  199. ),
  200. DEFINE_KSPROPERTY_ITEM
  201. (
  202. KSPROPERTY_VPCONFIG_DDRAWSURFACEHANDLE,
  203. (PFNKSHANDLER)FALSE,
  204. sizeof(KSPROPERTY),
  205. sizeof(ULONG_PTR), // could be 0 too
  206. (PFNKSHANDLER) TRUE,
  207. NULL,
  208. 0,
  209. NULL,
  210. NULL,
  211. 0
  212. ),
  213. DEFINE_KSPROPERTY_ITEM
  214. (
  215. KSPROPERTY_VPCONFIG_GETVIDEOFORMAT,
  216. TRUE, // GetSupported or Handler
  217. sizeof(KSMULTIPLE_DATA_PROP), // MinProperty
  218. sizeof(DDPIXELFORMAT), // MinData
  219. FALSE, // SetSupported or Handler
  220. NULL, // Values
  221. 0, // RelationsCount
  222. NULL, // Relations
  223. NULL, // SupportHandler
  224. 0 // SerializedSize
  225. ),
  226. DEFINE_KSPROPERTY_ITEM
  227. (
  228. KSPROPERTY_VPCONFIG_SETVIDEOFORMAT,
  229. FALSE, // GetSupported or Handler
  230. sizeof(KSPROPERTY), // MinProperty
  231. sizeof(ULONG), // MinData
  232. TRUE, // SetSupported or Handler
  233. NULL, // Values
  234. 0, // RelationsCount
  235. NULL, // Relations
  236. NULL, // SupportHandler
  237. 0 // SerializedSize
  238. ),
  239. DEFINE_KSPROPERTY_ITEM
  240. (
  241. KSPROPERTY_VPCONFIG_INVERTPOLARITY,
  242. FALSE, // GetSupported or Handler
  243. sizeof(KSPROPERTY), // MinProperty
  244. 0, // MinData
  245. TRUE, // SetSupported or Handler
  246. NULL, // Values
  247. 0, // RelationsCount
  248. NULL, // Relations
  249. NULL, // SupportHandler
  250. 0 // SerializedSize
  251. ),
  252. DEFINE_KSPROPERTY_ITEM
  253. (
  254. KSPROPERTY_VPCONFIG_SURFACEPARAMS,
  255. FALSE, // GetSupported or Handler
  256. sizeof(KSPROPERTY), // MinProperty
  257. sizeof(KSVPSURFACEPARAMS), // MinData
  258. TRUE, // SetSupported or Handler
  259. NULL, // Values
  260. 0, // RelationsCount
  261. NULL, // Relations
  262. NULL, // SupportHandler
  263. 0 // SerializedSize
  264. ),
  265. DEFINE_KSPROPERTY_ITEM
  266. (
  267. KSPROPERTY_VPCONFIG_DECIMATIONCAPABILITY,
  268. TRUE, // GetSupported or Handler
  269. sizeof(KSPROPERTY), // MinProperty
  270. sizeof(BOOL), // MinData
  271. FALSE, // SetSupported or Handler
  272. NULL, // Values
  273. 0, // RelationsCount
  274. NULL, // Relations
  275. NULL, // SupportHandler
  276. 0 // SerializedSize
  277. ),
  278. DEFINE_KSPROPERTY_ITEM
  279. (
  280. KSPROPERTY_VPCONFIG_SCALEFACTOR,
  281. FALSE, // GetSupported or Handler
  282. sizeof(KSPROPERTY), // MinProperty
  283. sizeof(KS_AMVPSIZE), // MinData
  284. TRUE, // SetSupported or Handler
  285. NULL, // Values
  286. 0, // RelationsCount
  287. NULL, // Relations
  288. NULL, // SupportHandler
  289. 0 // SerializedSize
  290. ),
  291. };
  292. DEFINE_KSPROPERTY_SET_TABLE(VideoPortProperties)
  293. {
  294. DEFINE_KSPROPERTY_SET
  295. (
  296. &KSPROPSETID_VPConfig, // Set
  297. SIZEOF_ARRAY(VideoPortConfiguration), // PropertiesCount
  298. VideoPortConfiguration, // PropertyItem
  299. 0, // FastIoCount
  300. NULL // FastIoTable
  301. )
  302. };
  303. const ULONG NumVideoPortProperties = SIZEOF_ARRAY(VideoPortProperties);
  304. // ------------------------------------------------------------------------
  305. // Property set for the VideoPort VBI stream
  306. // ------------------------------------------------------------------------
  307. DEFINE_KSPROPERTY_TABLE(VideoPortVBIConfiguration)
  308. {
  309. DEFINE_KSPROPERTY_ITEM
  310. (
  311. KSPROPERTY_VPCONFIG_NUMCONNECTINFO,
  312. TRUE, // GetSupported or Handler
  313. sizeof(KSPROPERTY), // MinProperty
  314. sizeof(ULONG), // MinData
  315. FALSE, // SetSupported or Handler
  316. NULL, // Values
  317. 0, // RelationsCount
  318. NULL, // Relations
  319. NULL, // SupportHandler
  320. 0 // SerializedSize
  321. ),
  322. DEFINE_KSPROPERTY_ITEM
  323. (
  324. KSPROPERTY_VPCONFIG_NUMVIDEOFORMAT,
  325. TRUE, // GetSupported or Handler
  326. sizeof(KSPROPERTY), // MinProperty
  327. sizeof(ULONG), // MinData
  328. FALSE, // SetSupported or Handler
  329. NULL, // Values
  330. 0, // RelationsCount
  331. NULL, // Relations
  332. NULL, // SupportHandler
  333. 0 // SerializedSize
  334. ),
  335. DEFINE_KSPROPERTY_ITEM
  336. (
  337. KSPROPERTY_VPCONFIG_GETCONNECTINFO,
  338. TRUE, // GetSupported or Handler
  339. sizeof(KSMULTIPLE_DATA_PROP), // MinProperty
  340. sizeof(DDVIDEOPORTCONNECT), // MinData
  341. FALSE, // SetSupported or Handler
  342. NULL, // Values
  343. 0, // RelationsCount
  344. NULL, // Relations
  345. NULL, // SupportHandler
  346. 0 // SerializedSize
  347. ),
  348. DEFINE_KSPROPERTY_ITEM
  349. (
  350. KSPROPERTY_VPCONFIG_SETCONNECTINFO,
  351. FALSE, // GetSupported or Handler
  352. sizeof(KSPROPERTY), // MinProperty
  353. sizeof(ULONG), // MinData
  354. TRUE, // SetSupported or Handler
  355. NULL, // Values
  356. 0, // RelationsCount
  357. NULL, // Relations
  358. NULL, // SupportHandler
  359. 0 // SerializedSize
  360. ),
  361. DEFINE_KSPROPERTY_ITEM
  362. (
  363. KSPROPERTY_VPCONFIG_VPDATAINFO,
  364. TRUE, // GetSupported or Handler
  365. sizeof(KSPROPERTY), // MinProperty
  366. sizeof(KS_AMVPDATAINFO), // MinData
  367. FALSE, // SetSupported or Handler
  368. NULL, // Values
  369. 0, // RelationsCount
  370. NULL, // Relations
  371. NULL, // SupportHandler
  372. 0 // SerializedSize
  373. ),
  374. DEFINE_KSPROPERTY_ITEM
  375. (
  376. KSPROPERTY_VPCONFIG_MAXPIXELRATE,
  377. TRUE, // GetSupported or Handler
  378. sizeof(KSVPSIZE_PROP), // MinProperty
  379. sizeof(KSVPMAXPIXELRATE), // MinData
  380. FALSE, // SetSupported or Handler
  381. NULL, // Values
  382. 0, // RelationsCount
  383. NULL, // Relations
  384. NULL, // SupportHandler
  385. 0 // SerializedSize
  386. ),
  387. #if 0
  388. // This would be supported if we wanted to be informed of the available formats
  389. DEFINE_KSPROPERTY_ITEM
  390. (
  391. KSPROPERTY_VPCONFIG_INFORMVPINPUT,
  392. FALSE, // GetSupported or Handler
  393. sizeof(KSMULTIPLE_DATA_PROP), // MinProperty
  394. sizeof(DDPIXELFORMAT), // MinData
  395. TRUE, // SetSupported or Handler
  396. NULL, // Values
  397. 0, // RelationsCount
  398. NULL, // Relations
  399. NULL, // SupportHandler
  400. 0 // SerializedSize
  401. ),
  402. #endif
  403. DEFINE_KSPROPERTY_ITEM
  404. (
  405. KSPROPERTY_VPCONFIG_DDRAWHANDLE,
  406. (PFNKSHANDLER)FALSE,
  407. sizeof(KSPROPERTY),
  408. sizeof(ULONG_PTR), // could be 0 too
  409. (PFNKSHANDLER) TRUE,
  410. NULL,
  411. 0,
  412. NULL,
  413. NULL,
  414. 0
  415. ),
  416. DEFINE_KSPROPERTY_ITEM
  417. (
  418. KSPROPERTY_VPCONFIG_VIDEOPORTID,
  419. (PFNKSHANDLER)FALSE,
  420. sizeof(KSPROPERTY),
  421. sizeof(ULONG), // could be 0 too
  422. (PFNKSHANDLER) TRUE,
  423. NULL,
  424. 0,
  425. NULL,
  426. NULL,
  427. 0
  428. ),
  429. DEFINE_KSPROPERTY_ITEM
  430. (
  431. KSPROPERTY_VPCONFIG_DDRAWSURFACEHANDLE,
  432. (PFNKSHANDLER)FALSE,
  433. sizeof(KSPROPERTY),
  434. sizeof(ULONG_PTR), // could be 0 too
  435. (PFNKSHANDLER) TRUE,
  436. NULL,
  437. 0,
  438. NULL,
  439. NULL,
  440. 0
  441. ),
  442. DEFINE_KSPROPERTY_ITEM
  443. (
  444. KSPROPERTY_VPCONFIG_GETVIDEOFORMAT,
  445. TRUE, // GetSupported or Handler
  446. sizeof(KSMULTIPLE_DATA_PROP), // MinProperty
  447. sizeof(DDPIXELFORMAT), // MinData
  448. FALSE, // SetSupported or Handler
  449. NULL, // Values
  450. 0, // RelationsCount
  451. NULL, // Relations
  452. NULL, // SupportHandler
  453. 0 // SerializedSize
  454. ),
  455. DEFINE_KSPROPERTY_ITEM
  456. (
  457. KSPROPERTY_VPCONFIG_SETVIDEOFORMAT,
  458. FALSE, // GetSupported or Handler
  459. sizeof(KSPROPERTY), // MinProperty
  460. sizeof(ULONG), // MinData
  461. TRUE, // SetSupported or Handler
  462. NULL, // Values
  463. 0, // RelationsCount
  464. NULL, // Relations
  465. NULL, // SupportHandler
  466. 0 // SerializedSize
  467. ),
  468. DEFINE_KSPROPERTY_ITEM
  469. (
  470. KSPROPERTY_VPCONFIG_INVERTPOLARITY,
  471. FALSE, // GetSupported or Handler
  472. sizeof(KSPROPERTY), // MinProperty
  473. 0, // MinData
  474. TRUE, // SetSupported or Handler
  475. NULL, // Values
  476. 0, // RelationsCount
  477. NULL, // Relations
  478. NULL, // SupportHandler
  479. 0 // SerializedSize
  480. ),
  481. DEFINE_KSPROPERTY_ITEM
  482. (
  483. KSPROPERTY_VPCONFIG_SURFACEPARAMS,
  484. FALSE, // GetSupported or Handler
  485. sizeof(KSPROPERTY), // MinProperty
  486. sizeof(KSVPSURFACEPARAMS), // MinData
  487. TRUE, // SetSupported or Handler
  488. NULL, // Values
  489. 0, // RelationsCount
  490. NULL, // Relations
  491. NULL, // SupportHandler
  492. 0 // SerializedSize
  493. ),
  494. DEFINE_KSPROPERTY_ITEM
  495. (
  496. KSPROPERTY_VPCONFIG_DECIMATIONCAPABILITY,
  497. TRUE, // GetSupported or Handler
  498. sizeof(KSPROPERTY), // MinProperty
  499. sizeof(BOOL), // MinData
  500. FALSE, // SetSupported or Handler
  501. NULL, // Values
  502. 0, // RelationsCount
  503. NULL, // Relations
  504. NULL, // SupportHandler
  505. 0 // SerializedSize
  506. ),
  507. DEFINE_KSPROPERTY_ITEM
  508. (
  509. KSPROPERTY_VPCONFIG_SCALEFACTOR,
  510. FALSE, // GetSupported or Handler
  511. sizeof(KSPROPERTY), // MinProperty
  512. sizeof(KS_AMVPSIZE), // MinData
  513. TRUE, // SetSupported or Handler
  514. NULL, // Values
  515. 0, // RelationsCount
  516. NULL, // Relations
  517. NULL, // SupportHandler
  518. 0 // SerializedSize
  519. ),
  520. };
  521. DEFINE_KSPROPERTY_SET_TABLE(VideoPortVBIProperties)
  522. {
  523. DEFINE_KSPROPERTY_SET
  524. (
  525. &KSPROPSETID_VPVBIConfig, // Set
  526. SIZEOF_ARRAY(VideoPortVBIConfiguration),// PropertiesCount
  527. VideoPortVBIConfiguration, // PropertyItem
  528. 0, // FastIoCount
  529. NULL // FastIoTable
  530. )
  531. };
  532. const ULONG NumVideoPortVBIProperties = SIZEOF_ARRAY(VideoPortVBIProperties);