#include <DXVAEnumeratorHD.h>
◆ CEnumeratorHD()
CEnumeratorHD::CEnumeratorHD |
( |
| ) |
|
◆ ~CEnumeratorHD()
CEnumeratorHD::~CEnumeratorHD |
( |
| ) |
|
|
virtual |
◆ AlternativeChromaSiting()
AVChromaLocation CEnumeratorHD::AlternativeChromaSiting |
( |
const AVChromaLocation & | location | ) |
const |
|
protected |
Suggest an alternative chroma siting to help with dxva processor that don't support some dxgi color spaces.
- Parameters
-
location | original chroma siting |
- Returns
- suggested alternative chroma siting
◆ AvToDxgiColorSpace()
DXGI_COLOR_SPACE_TYPE CEnumeratorHD::AvToDxgiColorSpace |
( |
const DXGIColorSpaceArgs & | csArgs | ) |
|
|
static |
Converts ffmpeg AV parameters to a DXGI color space.
- Parameters
-
csArgs | ffmpeg AV picture parameters |
- Returns
- DXGI color space. Special value DXGI_COLOR_SPACE_CUSTOM used when there is no match.
◆ CheckConversion()
bool CEnumeratorHD::CheckConversion |
( |
DXGI_FORMAT | inputFormat, |
|
|
DXGI_COLOR_SPACE_TYPE | inputCS, |
|
|
DXGI_FORMAT | outputFormat, |
|
|
DXGI_COLOR_SPACE_TYPE | outputCS ) |
Check if a conversion is supported by the dxva processor.
- Parameters
-
inputFormat | the input format |
inputCS | the input color space |
outputFormat | the output format |
outputCS | the output color space |
- Returns
- true when the conversion is supported, false when it is not or the API used to validate is not availe (Windows < 10)
◆ CheckConversionInternal()
bool CEnumeratorHD::CheckConversionInternal |
( |
DXGI_FORMAT | inputFormat, |
|
|
DXGI_COLOR_SPACE_TYPE | inputCS, |
|
|
DXGI_FORMAT | outputFormat, |
|
|
DXGI_COLOR_SPACE_TYPE | outputCS ) const |
|
protected |
Check if a conversion is supported by the dxva processor.
- Parameters
-
inputFormat | the input format |
inputCS | the input color space |
outputFormat | the output format |
outputCS | the output color space |
- Returns
- true when the conversion is supported, false when it is not or the API used to validate is not available (Windows < 10)
◆ Close()
void CEnumeratorHD::Close |
( |
| ) |
|
◆ CreateVideoProcessor()
ComPtr< ID3D11VideoProcessor > CEnumeratorHD::CreateVideoProcessor |
( |
UINT | RateConversionIndex | ) |
|
◆ CreateVideoProcessorInputView()
ComPtr< ID3D11VideoProcessorInputView > CEnumeratorHD::CreateVideoProcessorInputView |
( |
ID3D11Resource * | pResource, |
|
|
const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC * | pDesc ) |
◆ CreateVideoProcessorOutputView()
ComPtr< ID3D11VideoProcessorOutputView > CEnumeratorHD::CreateVideoProcessorOutputView |
( |
ID3D11Resource * | pResource, |
|
|
const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC * | pDesc ) |
◆ DefaultChromaSiting()
Suggest chroma siting derived from source charateristics. Has limited functionality at this time and supports values that make sense for dxgi.
- Parameters
-
args | description of the sourcce |
- Returns
- suggested chroma siting.
◆ GetProcessorFormats()
Retrieve the list of DXGI_FORMAT supported by the DXVA processor.
- Parameters
-
inputFormats | yes/no populate the input formats vector of the returned structure |
outputFormats | yes/no populate the output formats vector of the returned structure |
- Returns
- requested list of input and/or output formats.
◆ GetProcessorRGBOutputFormats()
std::vector< DXGI_FORMAT > CEnumeratorHD::GetProcessorRGBOutputFormats |
( |
| ) |
const |
|
protected |
Retrieve the list of RGB DXGI_FORMAT supported as output by the DXVA processor.
- Returns
- Vector of formats
◆ IsEnumerator1Available()
bool DXVA::CEnumeratorHD::IsEnumerator1Available |
( |
| ) |
|
|
inline |
Returns the availability of the interface ID3D11VideoProcessorEnumerator1 (Windows 10 supporting HDR and above)
- Returns
- true when the interface is available and initialized, false otherwise
◆ IsFormatSupportedInput()
bool CEnumeratorHD::IsFormatSupportedInput |
( |
DXGI_FORMAT | format | ) |
|
Check dxva processor for support of the format as input texture.
- Parameters
-
- Returns
- true supported, false not supported
◆ IsFormatSupportedInternal()
bool CEnumeratorHD::IsFormatSupportedInternal |
( |
DXGI_FORMAT | format, |
|
|
D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT | support ) const |
|
protected |
Check dxva processor for support of the format as input texture.
- Parameters
-
- Returns
- true supported, false not supported
◆ IsFormatSupportedOutput()
bool CEnumeratorHD::IsFormatSupportedOutput |
( |
DXGI_FORMAT | format | ) |
|
Check dxva processor for support of the format as output texture.
- Parameters
-
- Returns
- true supported, false not supported
◆ IsInitialized()
bool DXVA::CEnumeratorHD::IsInitialized |
( |
| ) |
const |
|
inline |
◆ ListConversions()
ProcessorConversions CEnumeratorHD::ListConversions |
( |
DXGI_FORMAT | inputFormat, |
|
|
const std::vector< DXGI_COLOR_SPACE_TYPE > & | inputColorSpaces, |
|
|
const std::vector< DXGI_FORMAT > & | outputFormats, |
|
|
const std::vector< DXGI_COLOR_SPACE_TYPE > & | outputColorSpaces ) const |
|
protected |
Iterate over all combinations of the input parameters and return a list of the combinations that are supported conversions.
- Parameters
-
inputFormat | The input format |
inputColorSpaces | The possible source color spaces |
outputFormats | The possible output formats |
outputColorSpaces | The possible output color spaces |
- Returns
- List of the supported conversion.
◆ LogAndListConversions()
Helper function that outputs input/output to log and returns the results of ListConversions for the input parameters.
- Parameters
-
inputArgs | description of the source |
outputColorSpaces | description of the destination |
- Returns
- List of the supported conversion.
◆ LogSupportedConversions()
void CEnumeratorHD::LogSupportedConversions |
( |
const DXGI_FORMAT | inputFormat, |
|
|
const DXGI_COLOR_SPACE_TYPE | inputNativeCS ) |
Outputs in the log a list of conversions supported by the DXVA processor.
- Parameters
-
inputFormat | the source format |
inputNativeCS | the input color space that would be used with a direct mapping from avcodec to D3D11, without any workarounds or tricks. |
◆ OnCreateDevice()
void DXVA::CEnumeratorHD::OnCreateDevice |
( |
void | | ) |
|
|
inlineoverridevirtual |
◆ OnDestroyDevice()
void DXVA::CEnumeratorHD::OnDestroyDevice |
( |
bool | | ) |
|
|
inlineoverridevirtual |
◆ Open()
bool CEnumeratorHD::Open |
( |
unsigned int | width, |
|
|
unsigned int | height, |
|
|
DXGI_FORMAT | input_dxgi_format ) |
◆ OpenEnumerator()
bool CEnumeratorHD::OpenEnumerator |
( |
| ) |
|
|
protected |
◆ ProbeProcessorCaps()
◆ SupportedConversions()
Return a list of conversions supported by the processor for the given parameters.
- Parameters
-
- Returns
- list of conversions
◆ UnInit()
void CEnumeratorHD::UnInit |
( |
| ) |
|
|
protected |
◆ m_height
uint32_t DXVA::CEnumeratorHD::m_height = 0 |
|
protected |
◆ m_input_dxgi_format
DXGI_FORMAT DXVA::CEnumeratorHD::m_input_dxgi_format {DXGI_FORMAT_UNKNOWN} |
|
protected |
◆ m_pEnumerator
ComPtr<ID3D11VideoProcessorEnumerator> DXVA::CEnumeratorHD::m_pEnumerator |
|
protected |
◆ m_pEnumerator1
ComPtr<ID3D11VideoProcessorEnumerator1> DXVA::CEnumeratorHD::m_pEnumerator1 |
|
protected |
◆ m_pVideoDevice
ComPtr<ID3D11VideoDevice> DXVA::CEnumeratorHD::m_pVideoDevice |
|
protected |
◆ m_section
CCriticalSection DXVA::CEnumeratorHD::m_section |
|
protected |
◆ m_width
uint32_t DXVA::CEnumeratorHD::m_width = 0 |
|
protected |
The documentation for this class was generated from the following files: