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.

189 lines
5.8 KiB

  1. /****************************************************************************
  2. *
  3. * $Archive: S:/STURGEON/SRC/INCLUDE/VCS/vidinfo.h_v $
  4. *
  5. * INTEL Corporation Prorietary Information
  6. *
  7. * This listing is supplied under the terms of a license agreement
  8. * with INTEL Corporation and may not be copied nor disclosed except
  9. * in accordance with the terms of that agreement.
  10. *
  11. * Copyright (c) 1993-1994 Intel Corporation.
  12. *
  13. * $Author: MLAKSHMX $
  14. *
  15. * Deliverable:
  16. *
  17. * Abstract: Header file for the video MSP to share information with the App.
  18. *
  19. * Notes:
  20. *
  21. ***************************************************************************/
  22. #ifndef VIDINFO_H
  23. #define VIDINFO_H
  24. #include "h245api.h"
  25. #ifdef __cplusplus
  26. extern "C" { // Assume C declarations for C++.
  27. #endif // __cplusplus
  28. //Unique ID for this version of MSP.
  29. #define VIDEOSRCMSP "IntelIPhoneVideoH2631.0Src"
  30. #define VIDEOSNKMSP "IntelIPhoneVideoH2631.0Snk"
  31. // This function allows the MSM to make IO Control (IOCTL) type calls into
  32. // the MSP. The following controls can be exercised on the sink instance of
  33. // VIDMSP.
  34. // Change the display frame size.
  35. // lparam2 = pointer to a RECT
  36. #define VIDCMD_RESIZE_VIDEO 0x00000001
  37. /**********************
  38. Please Ignore these defunct #defines for Video Attributes!!
  39. //
  40. // Change the display frame rate.
  41. // lparam2 = frame rate in msec/frame
  42. #define VIDCMD_SET_DISPLAY_RATE 0x00000002
  43. // Specify whether quality or frame rate is more desirable for remote
  44. // video.
  45. // lparam1 = TRUE -
  46. // lparam2 = Quality (1-10000)
  47. //
  48. // or
  49. // lparam1 = FALSE
  50. // lparam2 = Frame rate in msec/frame.
  51. //
  52. #define VIDCMD_QUALITY_FRAMERATE 0x00000003
  53. //The following controls can be exercised on the source instance of VIDMSP.
  54. // Use the constant quality bit rate controller.
  55. // lparam1 = Byte rate in bytes/sec.
  56. // lparam2 = Quality.
  57. #define VIDCMD_SET_QUALITY_BRC 0x00000004
  58. // Use constant frame rate bit rate controller.
  59. // lparam1 = Byte rate in bytes/sec.
  60. // lparam2 = frame rate in msec/frame.
  61. #define VIDCMD_SET_FRAME_RATE_BRC 0x00000005
  62. // Use constant frame size bit rate controller.
  63. // lparam1 = Byte rate in bytes/sec.
  64. // lparam2 = frame rate in msec/frame.
  65. #define VIDCMD_SET_FRAME_SIZE_BRC 0x00000006
  66. // Turn PB frames on/off.
  67. // lparam1 = TRUE - PB frames on.
  68. // FALSE - PB frames off.
  69. #define VIDCMD_CNTL_PB_FRAMES 0x00000007
  70. // Set the packet-size
  71. // lparam1 = 0 for Get, 1 for Set.
  72. // lparam2 = packet size in bytes.
  73. #define VIDCMD_PACKET_SIZE 0x00000008
  74. ******************************************/
  75. // this command instructs the Video MSP to launch the Video config
  76. // dialog box, to allow user to set frame rate,data rate , quality etc.
  77. #define VIDCMD_CONFIG_VIDEO 0x0000000A
  78. #define VIDCMD_GET_VIDCFG 0x0000000B
  79. // Mute & Unmute Video
  80. #define VIDCMD_PAUSE_VIDEO 0x0000000C
  81. #define VIDCMD_UNPAUSE_VIDEO 0x0000000D
  82. // Commands for the Video Source. These will xlate to
  83. // commands for the encoder
  84. #define VIDCMD_SET_SRC_FRAMERATE 0x0000000E
  85. #define VIDCMD_SET_SRC_BITRATE 0x0000000F
  86. #define VIDCMD_SET_SRC_QUALITY 0x00000010
  87. // commands for the Video Sink. These will xlate to
  88. // commands for the decoder
  89. #define VIDCMD_SET_SNK_BRIGHTNESS 0x00000011
  90. #define VIDCMD_SET_SNK_CONTRAST 0x00000012
  91. #define AVPHONE_APP 1
  92. #define MSMTEST_APP 0
  93. typedef struct _VIDEOCONFIG
  94. {
  95. int m_FrameRate;
  96. int m_DataRate;
  97. int m_Quality;
  98. BOOL AppOrMsmtest; // need to diff between a H323 based app and msmtest
  99. }
  100. VIDEOCONFIG,*PVIDEOCONFIG;
  101. // Set the expected packet loss rate.
  102. // lparam1 = 0 for Get, 1 for Set.
  103. // lparam2 = a number from 0 - 100.
  104. #define VIDCMD_EXPECTED_PACKET_LOSS 0x00000009
  105. // Video MSP Open Port structure
  106. // To be passed in lParamIn by MSM in the MSP_OpenPort call
  107. typedef struct _VIDMSPOPENPORT
  108. {
  109. H245_TOTCAP_T *pH245TotCapT;
  110. HWND hAppWnd;
  111. BYTE RTPPayloadType;
  112. }
  113. VIDMSPOPENPORT, *LPVIDMSPOPENPORT;
  114. // ISDM Keys & Values
  115. #define IPHONE_VIDEO "IIPHONE_VIDEO"
  116. #define VIDEO_SEND "Send"
  117. #define VIDEO_RCV "Receive"
  118. typedef struct _IPHONE_VIDEO_VALUE
  119. {
  120. DWORD dwRevNumber; // 1 for Release
  121. DWORD dwTargetFrameRate; // frames/sec
  122. DWORD dwFrameRate; // Frames/sec since last updated
  123. DWORD dwTargetDataRate; // bits/sec
  124. DWORD dwDataRate; // bits/sec rate since value last updated
  125. DWORD Reserved[59];
  126. }IPHONEVIDEOVALUE,*LPIPHONEVIDEOVALUE;
  127. // Video MSP Error Codes
  128. #define EVID_ERROR_BASE 0xA000
  129. #define FIRST_EVID_ID -400 + EVID_ERROR_BASE//Same as next err.
  130. #define EVID_BAD_MSP_HND -400 + EVID_ERROR_BASE
  131. #define EVID_NULL_INSTANCE_HANDLE -400 + EVID_ERROR_BASE
  132. #define EVID_BAD_MSP_TYPE -401 + EVID_ERROR_BASE
  133. #define EVID_BAD_CALL_ORDER -402 + EVID_ERROR_BASE
  134. #define EVID_BAD_BUF_PTR -403 + EVID_ERROR_BASE
  135. #define EVID_CANT_LOAD_DLL -404 + EVID_ERROR_BASE
  136. #define EVID_VM_INIT_FAILED -405 + EVID_ERROR_BASE
  137. #define EVID_VM_OPEN_FAILED -406 + EVID_ERROR_BASE
  138. #define EVID_VM_CAPT_FAILED -407 + EVID_ERROR_BASE
  139. #define EVID_VM_LINKIN_FAILED -408 + EVID_ERROR_BASE
  140. #define EVID_VM_UNLINKIN_FAILED -409 + EVID_ERROR_BASE
  141. #define EVID_VM_LINKOUT_FAILED -410 + EVID_ERROR_BASE
  142. #define EVID_VM_UNLINKOUT_FAILED -411 + EVID_ERROR_BASE
  143. #define EVID_VM_PLAY_FAILED -412 + EVID_ERROR_BASE
  144. #define EVID_VM_ENDPLAY_FAILED -413 + EVID_ERROR_BASE
  145. #define EVID_BAD_CONFIG_SETTING -414 + EVID_ERROR_BASE
  146. #define EVID_MALLOC_FAILED -415 + EVID_ERROR_BASE
  147. #define EVID_VM_REGISTER_FAILED -450 + EVID_ERROR_BASE
  148. #define EVID_VM_UNREGISTER_FAILED -451 + EVID_ERROR_BASE
  149. #define EVID_BAD_PARAMETER -452 + EVID_ERROR_BASE
  150. #define EVID_VM_START_SENDING_FAILED -453 + EVID_ERROR_BASE
  151. #define EVID_VM_STOP_SENDING_FAILED -454 + EVID_ERROR_BASE
  152. #define EVID_VM_CREATEWINDOW_FAILED -455 + EVID_ERROR_BASE
  153. #define LAST_EVID_ID -414 + EVID_ERROR_BASE
  154. #ifdef __cplusplus
  155. } // End of extern "C" {
  156. #endif // __cplusplus
  157. #endif // VIDINFO_H