home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 May / PCP163A.iso / Runimage / Cbuilder4 / Include / VPTYPE.H < prev    next >
Encoding:
C/C++ Source or Header  |  1999-01-26  |  2.7 KB  |  79 lines

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