DirectX VA 디바이스 클래스 정의
이 섹션의 예제 코드를 사용하여 deinterlace 컨테이너 디바이스, ProcAmp 제어 디바이스, deinterlace 모드 디바이스(예: bob) 및 COPP 디바이스에 대한 디바이스 클래스를 정의합니다. 이러한 디바이스 클래스에는 ProcAmp Control DDI 및 Deinterlace DDI를 구성하는 멤버 함수에 대한 선언이 포함됩니다. 이러한 디바이스 클래스 정의는 드라이버 제공 헤더 파일에서 선언할 수 있습니다.
다음 예제 코드를 사용하여 각 디바이스 유형과 각 디바이스 유형에 적용되는 기본 클래스를 정의합니다.
// These enumerated types specify the DirectX VA device class.
enum DXVA_DeviceType {
DXVA_DeviceContainer = 0x0001,
DXVA_DeviceDecoder = 0x0002,
DXVA_DeviceDeinterlacer = 0x0003,
DXVA_DeviceProcAmpControl = 0x0004,
DXVA_DeviceCOPP = 0x0005
};
// Other DirectX VA device classes inherit from this base class,
struct DXVA_DeviceBaseClass {
GUID m_DeviceGUID;
DXVA_DeviceType m_DeviceType;
DXVA_DeviceBaseClass(const GUID& guid, DXVA_DeviceType Type) :
m_DeviceGUID(guid), m_DeviceType(Type)
{}
};
다음 항목에는 deinterlace 컨테이너 디바이스, ProcAmp 제어 디바이스, deinterlace bob 디바이스 및 COPP 디바이스에 대한 클래스를 정의하는 예제 코드가 포함되어 있습니다.