vptype.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:3k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //------------------------------------------------------------------------------
  2. // File: VPType.h
  3. //
  4. // Desc: This file includes all the data structures defined for the IVPConfig
  5. //       interface.
  6. //
  7. // Copyright (c) 1997 - 2000, Microsoft Corporation.  All rights reserved.
  8. //------------------------------------------------------------------------------
  9. #ifndef __IVPType__
  10. #define __IVPType__
  11. #ifdef __cplusplus
  12. extern "C" {
  13. #endif
  14.     // enum to specify the criterion, which the vpmixer is supposed to use
  15.     // in order to select the video format
  16.     typedef enum _AMVP_SELECT_FORMAT_BY
  17.     {
  18. AMVP_DO_NOT_CARE,
  19. AMVP_BEST_BANDWIDTH,
  20. AMVP_INPUT_SAME_AS_OUTPUT
  21.     } AMVP_SELECT_FORMAT_BY;
  22.     // enum to specify the various mode
  23.     typedef enum _AMVP_MODE
  24.     {
  25. AMVP_MODE_WEAVE,
  26. AMVP_MODE_BOBINTERLEAVED,
  27. AMVP_MODE_BOBNONINTERLEAVED,
  28. AMVP_MODE_SKIPEVEN,
  29. AMVP_MODE_SKIPODD
  30.     } AMVP_MODE;
  31.     // struct to specify the width and height. The context could be anything
  32.     // such as scaling cropping etc.
  33.     typedef struct _AMVPSIZE
  34.     {
  35. DWORD dwWidth; // the width
  36. DWORD dwHeight; // the height
  37.     } AMVPSIZE, *LPAMVPSIZE;
  38.     // struct to specify the dimensional characteristics of the input stream
  39.     typedef struct _AMVPDIMINFO
  40.     {
  41. DWORD dwFieldWidth; // Field height of the data
  42. DWORD dwFieldHeight; // Field width of the data
  43. DWORD dwVBIWidth; // Width of the VBI data
  44. DWORD dwVBIHeight; // Height of the VBI data
  45. RECT rcValidRegion; // The vaild rectangle, used for cropping
  46.     } AMVPDIMINFO, *LPAMVPDIMINFO;
  47.     // struct to specify the various data specific characteristics of the input stream
  48.     typedef struct _AMVPDATAINFO
  49.     {
  50. DWORD dwSize; // Size of the struct
  51. DWORD dwMicrosecondsPerField; // Time taken by each field
  52. AMVPDIMINFO amvpDimInfo; // Dimensional Information 
  53. DWORD dwPictAspectRatioX; // X dimension of Picture Aspect Ratio
  54. DWORD dwPictAspectRatioY; // Y dimension of Picture Aspect Ratio
  55. BOOL bEnableDoubleClock; // Videoport should enable double clocking
  56. BOOL bEnableVACT; // Videoport should use an external VACT signal
  57. BOOL bDataIsInterlaced; // Indicates that the signal is interlaced
  58. LONG lHalfLinesOdd; // number of halflines in the odd field
  59. BOOL bFieldPolarityInverted; // Device inverts the polarity by default
  60. DWORD dwNumLinesInVREF; // Number of lines of data in VREF 
  61. LONG lHalfLinesEven; // number of halflines in the even field
  62. DWORD dwReserved1; // Reserved for future use
  63.     } AMVPDATAINFO, *LPAMVPDATAINFO; 
  64. #ifdef __cplusplus
  65. }
  66. #endif
  67. #endif // __IVPType__