mirror of
https://github.com/libretro/pcsx2.git
synced 2025-01-07 10:10:41 +00:00
ab9bdb009b
Update it to the version found at https://github.com/Microsoft/Windows-classic-samples , which is in an MIT licensed repo, and add the LICENSE file (edited to remove the SIL Open Font LICENSE part since that doesn't apply). Some modifications have been made to reduce the diff/stop git complaining (not including any file that wasn't in the previous version and removing the related header includes in streams.h, and fixing some but not all of the whitespace issues).
102 lines
1.9 KiB
C++
102 lines
1.9 KiB
C++
//------------------------------------------------------------------------------
|
|
// 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__ */
|
|
|