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.

248 lines
4.6 KiB

  1. /* *************************************************************************
  2. ** INTEL Corporation Proprietary Information
  3. **
  4. ** This listing is supplied under the terms of a license
  5. ** agreement with INTEL Corporation and may not be copied
  6. ** nor disclosed except in accordance with the terms of
  7. ** that agreement.
  8. **
  9. ** Copyright (c) 1996 Intel Corporation.
  10. ** All Rights Reserved.
  11. **
  12. ** *************************************************************************
  13. */
  14. /* *************************************************************************
  15. **
  16. ** This file contains the definitions for the H26X Active Movie interfaces
  17. **
  18. ** *************************************************************************
  19. */
  20. [
  21. uuid(21555140-9C2B-11cf-90FA-00AA00A729EA),
  22. object
  23. ]
  24. interface IH26XVideoEffects:IUnknown
  25. {
  26. import "unknwn.idl";
  27. cpp_quote("// STRUCTURES")
  28. typedef enum
  29. {
  30. H26X_VE_UNDEFINED,
  31. H26X_VE_BRIGHTNESS,
  32. H26X_VE_CONTRAST,
  33. H26X_VE_SATURATION,
  34. H26X_VE_TINT,
  35. H26X_VE_MIRROR,
  36. H26X_VE_ASPECT_CORRECT
  37. } H26X_VIDEO_EFFECT;
  38. typedef struct
  39. {
  40. int iBrightness;
  41. int iSaturation;
  42. int iContrast;
  43. int iMirror;
  44. int iAspectCorrect;
  45. } VIDEO_EFFECT_VALUES, * PTR_VIDEO_EFFECT_VALUES;
  46. cpp_quote("// METHODS")
  47. HRESULT getFactoryDefault
  48. (
  49. [in] H26X_VIDEO_EFFECT veVideoEffect,
  50. [out] int *pinDefault
  51. );
  52. HRESULT getFactoryLimits
  53. (
  54. [in] H26X_VIDEO_EFFECT veVideoEffect,
  55. [out] int *pinLower,
  56. [out] int *pinUpper
  57. );
  58. HRESULT getCurrent
  59. (
  60. [in] H26X_VIDEO_EFFECT veVideoEffect,
  61. [out] int *pinValue
  62. );
  63. HRESULT setCurrent
  64. (
  65. [in] H26X_VIDEO_EFFECT veVideoEffect,
  66. [in] int inValue
  67. );
  68. HRESULT resetCurrent
  69. (
  70. [in] H26X_VIDEO_EFFECT veVideoEffect
  71. );
  72. }
  73. #ifndef H261
  74. // This interface is only used with H263.
  75. [
  76. uuid(65698D40-282D-11d0-8800-444553540000),
  77. object
  78. ]
  79. interface IH26XEncodeOptions:IUnknown
  80. {
  81. cpp_quote("// STRUCTURES")
  82. typedef struct
  83. {
  84. int bExtendedMV;
  85. int bPBFrames;
  86. int bAdvPrediction;
  87. } ENCODE_OPTIONS_VALUES, * PTR_ENCODE_OPTIONS_VALUES;
  88. cpp_quote("// METHODS")
  89. HRESULT get_EncodeOptions
  90. (
  91. [out] PTR_ENCODE_OPTIONS_VALUES pOptionValues
  92. );
  93. HRESULT get_EncodeOptionsDefault
  94. (
  95. [out] PTR_ENCODE_OPTIONS_VALUES pOptionValues
  96. );
  97. HRESULT set_EncodeOptions
  98. (
  99. [in] PTR_ENCODE_OPTIONS_VALUES pOptionValues
  100. );
  101. }
  102. #endif
  103. [
  104. uuid(3CB194A0-10AA-11d0-8800-444553540000),
  105. object
  106. ]
  107. interface IH26XSnapshot:IUnknown
  108. {
  109. cpp_quote("#ifndef _WINGDI_")
  110. cpp_quote("// STRUCTURES")
  111. typedef struct
  112. {
  113. DWORD biSize;
  114. LONG biWidth;
  115. LONG biHeight;
  116. WORD biPlanes;
  117. WORD biBitCount;
  118. DWORD biCompression;
  119. DWORD biSizeImage;
  120. LONG biXPelsPerMeter;
  121. LONG biYPelsPerMeter;
  122. DWORD biClrUsed;
  123. DWORD biClrImportant;
  124. } *LPBITMAPINFOHEADER;
  125. cpp_quote("#endif")
  126. cpp_quote("// METHODS")
  127. HRESULT getBitmapInfoHeader
  128. (
  129. [out] LPBITMAPINFOHEADER lpBmi
  130. );
  131. HRESULT getSnapshot
  132. (
  133. [in] LPBITMAPINFOHEADER lpBmi,
  134. [out] unsigned char *pvBuffer,
  135. [in] DWORD dwTimeout
  136. );
  137. }
  138. [
  139. uuid(F9B78AA1-EA12-11cf-9FEC-00AA00A59F69),
  140. object
  141. ]
  142. interface IH26XEncoderControl:IUnknown
  143. {
  144. cpp_quote("// STRUCTURES")
  145. typedef struct {
  146. DWORD dwTargetFrameSize;
  147. BOOL bFrameSizeBRC;
  148. BOOL bSendKey;
  149. DWORD dwQuality;
  150. DWORD dwFrameRate;
  151. DWORD dwDataRate;
  152. DWORD dwScale;
  153. DWORD dwWidth;
  154. DWORD dwKeyFrameInterval;
  155. DWORD dwKeyFramePeriod;
  156. } ENC_CMP_DATA, * PTR_ENC_CMP_DATA;
  157. cpp_quote("// METHODS")
  158. HRESULT get_EncodeCompression
  159. (
  160. [out] PTR_ENC_CMP_DATA pData
  161. );
  162. HRESULT get_EncodeCompressionDefault
  163. (
  164. [out] PTR_ENC_CMP_DATA pData
  165. );
  166. HRESULT set_EncodeCompression
  167. (
  168. [in] PTR_ENC_CMP_DATA pData
  169. );
  170. }
  171. [
  172. uuid(1FC3F2C0-2BFD-11d0-8800-444553540000),
  173. object
  174. ]
  175. interface IH26XRTPControl:IUnknown
  176. {
  177. cpp_quote("// STRUCTURES")
  178. typedef struct {
  179. BOOL bRTPHeader;
  180. DWORD dwPacketSize;
  181. DWORD dwPacketLoss;
  182. } ENC_RTP_DATA, * PTR_ENC_RTP_DATA;
  183. cpp_quote("// METHODS")
  184. HRESULT get_RTPCompression
  185. (
  186. [out] PTR_ENC_RTP_DATA pData
  187. );
  188. HRESULT get_RTPCompressionDefault
  189. (
  190. [out] PTR_ENC_RTP_DATA pData
  191. );
  192. HRESULT set_RTPCompression
  193. (
  194. [in] PTR_ENC_RTP_DATA pData
  195. );
  196. }