2021-05-04 16:50:23 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "d3d11_device.h"
|
|
|
|
|
|
|
|
namespace dxvk {
|
|
|
|
|
|
|
|
class D3D11VideoProcessorEnumerator : public D3D11DeviceChild<ID3D11VideoProcessorEnumerator> {
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
D3D11VideoProcessorEnumerator(
|
|
|
|
D3D11Device* pDevice,
|
|
|
|
const D3D11_VIDEO_PROCESSOR_CONTENT_DESC& Desc);
|
|
|
|
|
|
|
|
~D3D11VideoProcessorEnumerator();
|
|
|
|
|
|
|
|
HRESULT STDMETHODCALLTYPE QueryInterface(
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
HRESULT STDMETHODCALLTYPE GetVideoProcessorContentDesc(
|
|
|
|
D3D11_VIDEO_PROCESSOR_CONTENT_DESC* pContentDesc);
|
|
|
|
|
|
|
|
HRESULT STDMETHODCALLTYPE CheckVideoProcessorFormat(
|
|
|
|
DXGI_FORMAT Format,
|
|
|
|
UINT* pFlags);
|
|
|
|
|
|
|
|
HRESULT STDMETHODCALLTYPE GetVideoProcessorCaps(
|
|
|
|
D3D11_VIDEO_PROCESSOR_CAPS* pCaps);
|
|
|
|
|
|
|
|
HRESULT STDMETHODCALLTYPE GetVideoProcessorRateConversionCaps(
|
|
|
|
UINT TypeIndex,
|
|
|
|
D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS* pCaps);
|
|
|
|
|
|
|
|
HRESULT STDMETHODCALLTYPE GetVideoProcessorCustomRate(
|
|
|
|
UINT TypeIndex,
|
|
|
|
UINT CustomRateIndex,
|
|
|
|
D3D11_VIDEO_PROCESSOR_CUSTOM_RATE* pRate);
|
|
|
|
|
|
|
|
HRESULT STDMETHODCALLTYPE GetVideoProcessorFilterRange(
|
|
|
|
D3D11_VIDEO_PROCESSOR_FILTER Filter,
|
|
|
|
D3D11_VIDEO_PROCESSOR_FILTER_RANGE* pRange);
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
D3D11_VIDEO_PROCESSOR_CONTENT_DESC m_desc;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
2021-05-04 17:42:41 +02:00
|
|
|
|
|
|
|
|
|
|
|
class D3D11VideoProcessor : public D3D11DeviceChild<ID3D11VideoProcessor> {
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
D3D11VideoProcessor(
|
|
|
|
D3D11Device* pDevice,
|
|
|
|
D3D11VideoProcessorEnumerator* pEnumerator,
|
|
|
|
UINT RateConversionIndex);
|
|
|
|
|
|
|
|
~D3D11VideoProcessor();
|
|
|
|
|
|
|
|
HRESULT STDMETHODCALLTYPE QueryInterface(
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
void STDMETHODCALLTYPE GetContentDesc(
|
|
|
|
D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc);
|
|
|
|
|
|
|
|
void STDMETHODCALLTYPE GetRateConversionCaps(
|
|
|
|
D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps);
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
D3D11VideoProcessorEnumerator* m_enumerator;
|
|
|
|
uint32_t m_rateConversionIndex;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
2021-05-04 16:50:23 +02:00
|
|
|
}
|