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
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);
|