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.
 
 
 
 
 
 

80 lines
3.0 KiB

#pragma once
//==========================================================================;
//
// WDM Video Decoder stream informaition defintitions
//
// $Date: 17 Aug 1998 15:00:10 $
// $Revision: 1.0 $
// $Author: Tashjian $
//
// $Copyright: (c) 1997 - 1998 ATI Technologies Inc. All Rights Reserved. $
//
//==========================================================================;
/*
* When this is set by the driver and passed to the client, this
* indicates that the video port is capable of treating even fields
* like odd fields and visa versa. When this is set by the client,
* this indicates that the video port should treat even fields like odd
* fields.
*/
#define DDVPCONNECT_INVERTPOLARITY 0x00000004l
// derived from "fourcc.h"
#define MAKE_FOURCC(ch0, ch1, ch2, ch3) \
((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \
((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24))
#define FOURCC_YUV422 MAKE_FOURCC('S','4','2','2')
#define FOURCC_VBID MAKE_FOURCC('V','B','I','D')
#define FOURCC_YUY2 MAKE_FOURCC('Y','U','Y','2')
#define FOURCC_UYVY MAKE_FOURCC('U','Y','V','Y')
#define FOURCC_YV12 MAKE_FOURCC('Y','V','1','2')
#define FOURCC_YUV12 FOURCC_YV12
#define FOURCC_Y12G MAKE_FOURCC('Y','1','2','G')
#define FOURCC_YV10 MAKE_FOURCC('Y','V','1','0')
#define FOURCC_YUV10 FOURCC_YV10
#define FOURCC_YVU9 MAKE_FOURCC('Y','V','U','9')
#define FOURCC_IF09 MAKE_FOURCC('I','F','0','9')
#define FOURCC_Y10F MAKE_FOURCC('Y','1','0','F')
#define FOURCC_Y12F MAKE_FOURCC('Y','1','2','F')
#define FOURCC_YVUM MAKE_FOURCC('Y','V','U','M')
//---------------------------------------------------------------------------
// Create an array that holds the list of all of the streams supported
//---------------------------------------------------------------------------
typedef struct _STREAM_OBJECT_INFO {
BOOLEAN Dma; // device uses busmaster DMA for this stream
BOOLEAN Pio; // device uses PIO for this
ULONG StreamHeaderMediaSpecific; // Size of media specific per stream header expansion.
ULONG StreamHeaderWorkspace; // Size of per-stream header workspace.
BOOLEAN Allocator; // Set to TRUE if allocator is needed for this stream.
PHW_EVENT_ROUTINE HwEventRoutine;
} STREAM_OBJECT_INFO;
typedef struct _ALL_STREAM_INFO {
HW_STREAM_INFORMATION hwStreamInfo;
STREAM_OBJECT_INFO hwStreamObjectInfo;
} ALL_STREAM_INFO, *PALL_STREAM_INFO;
extern ALL_STREAM_INFO Streams[];
extern const ULONG NumStreams;
extern KSDATAFORMAT StreamFormatVideoPort;
extern KSDATAFORMAT StreamFormatVideoPortVBI;
extern GUID MY_KSEVENTSETID_VPNOTIFY;
extern GUID MY_KSEVENTSETID_VPVBINOTIFY;
extern KSTOPOLOGY Topology;
BOOL AdapterVerifyFormat(PKSDATAFORMAT, int);
BOOL AdapterCompareGUIDsAndFormatSize(IN PKSDATARANGE DataRange1,
IN PKSDATARANGE DataRange2,
BOOL fCompareFormatSize);