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.
|
|
//------------------------------------------------------------------------------
// File: FourCC.h
//
// Desc: DirectShow base classes.
//
// Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
// FOURCCMap
//
// provides a mapping between old-style multimedia format DWORDs
// and new-style GUIDs.
//
// A range of 4 billion GUIDs has been allocated to ensure that this
// mapping can be done straightforwardly one-to-one in both directions.
//
// January 95
#ifndef __FOURCC__
#define __FOURCC__
// Multimedia format types are marked with DWORDs built from four 8-bit
// chars and known as FOURCCs. New multimedia AM_MEDIA_TYPE definitions include
// a subtype GUID. In order to simplify the mapping, GUIDs in the range:
// XXXXXXXX-0000-0010-8000-00AA00389B71
// are reserved for FOURCCs.
class FOURCCMap : public GUID {
public: FOURCCMap(); FOURCCMap(DWORD Fourcc); FOURCCMap(const GUID *);
DWORD GetFOURCC(void); void SetFOURCC(DWORD fourcc); void SetFOURCC(const GUID *);
private: void InitGUID(); };
#define GUID_Data2 0
#define GUID_Data3 0x10
#define GUID_Data4_1 0xaa000080
#define GUID_Data4_2 0x719b3800
inline void FOURCCMap::InitGUID() { Data2 = GUID_Data2; Data3 = GUID_Data3; ((DWORD *)Data4)[0] = GUID_Data4_1; ((DWORD *)Data4)[1] = GUID_Data4_2; }
inline FOURCCMap::FOURCCMap() { InitGUID(); SetFOURCC( DWORD(0)); }
inline FOURCCMap::FOURCCMap(DWORD fourcc) { InitGUID(); SetFOURCC(fourcc); }
inline FOURCCMap::FOURCCMap(const GUID * pGuid) { InitGUID(); SetFOURCC(pGuid); }
inline void FOURCCMap::SetFOURCC(const GUID * pGuid) { FOURCCMap * p = (FOURCCMap*) pGuid; SetFOURCC(p->GetFOURCC()); }
inline void FOURCCMap::SetFOURCC(DWORD fourcc) { Data1 = fourcc; }
inline DWORD FOURCCMap::GetFOURCC(void) { return Data1; }
#endif /* __FOURCC__ */
|