Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
DXVA::CProcessorHD Class Reference

#include <DXVAHD.h>

Inheritance diagram for DXVA::CProcessorHD:
ID3DResource

Public Member Functions

 CProcessorHD ()
 
 ~CProcessorHD ()
 
void UnInit ()
 
bool Open (const VideoPicture &picture, std::shared_ptr< DXVA::CEnumeratorHD > enumerator)
 
void Close ()
 
bool Render (CRect src, CRect dst, ID3D11Resource *target, CRenderBuffer **views, DWORD flags, UINT frameIdx, UINT rotation, float contrast, float brightness)
 
uint8_t PastRefs () const
 
bool SetConversion (const ProcessorConversion &conversion)
 Configure the processor for the provided conversion.
 
void OnCreateDevice () override
 
void OnDestroyDevice (bool) override
 
void TryEnableVideoSuperResolution ()
 
bool IsVideoSuperResolutionEnabled () const
 
bool Supports (ERENDERFEATURE feature) const
 
- Public Member Functions inherited from ID3DResource
virtual ~ID3DResource ()
 

Static Public Member Functions

static bool IsSuperResolutionSuitable (const VideoPicture &picture)
 

Protected Member Functions

bool ReInit ()
 
bool InitProcessor ()
 
bool CheckFormats () const
 
bool OpenProcessor ()
 
void ApplyFilter (D3D11_VIDEO_PROCESSOR_FILTER filter, int value, int min, int max, int def) const
 
ComPtr< ID3D11VideoProcessorInputView > GetInputView (CRenderBuffer *view) const
 
bool CheckVideoParameters (const CRect &src, const CRect &dst, const UINT &rotation, const float &contrast, const float &brightness, const CRenderBuffer &rb)
 Apply new video settings if there was a change. Returns true if a parameter changed, false otherwise.
 
void EnableIntelVideoSuperResolution ()
 
void EnableNvidiaRTXVideoSuperResolution ()
 
- Protected Member Functions inherited from ID3DResource
void Register ()
 
void Unregister ()
 

Protected Attributes

CCriticalSection m_section
 
ComPtr< ID3D11VideoDevice > m_pVideoDevice
 
ComPtr< ID3D11VideoContext > m_pVideoContext
 
ComPtr< ID3D11VideoProcessor > m_pVideoProcessor
 
std::shared_ptr< CEnumeratorHDm_enumerator
 
AVColorPrimaries m_color_primaries {AVCOL_PRI_UNSPECIFIED}
 
AVColorTransferCharacteristic m_color_transfer {AVCOL_TRC_UNSPECIFIED}
 
ProcessorCapabilities m_procCaps
 
bool m_superResolutionEnabled {false}
 
ProcessorConversion m_conversion
 
bool m_isValidConversion {false}
 
bool m_configured {false}
 true when at least one frame has been processed successfully since init
 
UINT m_lastInputFrameOrField {0}
 
UINT m_lastOutputIndex {0}
 
CRect m_lastSrc {}
 
CRect m_lastDst {}
 
UINT m_lastRotation {0}
 
float m_lastContrast {.0f}
 
float m_lastBrightness {.0f}
 
ProcessorConversion m_lastConversion {}
 
AVColorSpace m_lastColorSpace {AVCOL_SPC_UNSPECIFIED}
 
bool m_lastFullRange {false}
 
- Protected Attributes inherited from ID3DResource
bool m_bRegistered = false
 

Constructor & Destructor Documentation

◆ CProcessorHD()

CProcessorHD::CProcessorHD ( )
explicit

◆ ~CProcessorHD()

CProcessorHD::~CProcessorHD ( )

Member Function Documentation

◆ ApplyFilter()

void CProcessorHD::ApplyFilter ( D3D11_VIDEO_PROCESSOR_FILTER filter,
int value,
int min,
int max,
int def ) const
protected

◆ CheckFormats()

bool CProcessorHD::CheckFormats ( ) const
protected

◆ CheckVideoParameters()

bool CProcessorHD::CheckVideoParameters ( const CRect & src,
const CRect & dst,
const UINT & rotation,
const float & contrast,
const float & brightness,
const CRenderBuffer & rb )
protected

Apply new video settings if there was a change. Returns true if a parameter changed, false otherwise.

◆ Close()

void CProcessorHD::Close ( )

◆ EnableIntelVideoSuperResolution()

void CProcessorHD::EnableIntelVideoSuperResolution ( )
protected

◆ EnableNvidiaRTXVideoSuperResolution()

void CProcessorHD::EnableNvidiaRTXVideoSuperResolution ( )
protected

◆ GetInputView()

ComPtr< ID3D11VideoProcessorInputView > CProcessorHD::GetInputView ( CRenderBuffer * view) const
protected

◆ InitProcessor()

bool CProcessorHD::InitProcessor ( )
protected

◆ IsSuperResolutionSuitable()

bool CProcessorHD::IsSuperResolutionSuitable ( const VideoPicture & picture)
static

◆ IsVideoSuperResolutionEnabled()

bool DXVA::CProcessorHD::IsVideoSuperResolutionEnabled ( ) const
inline

◆ OnCreateDevice()

void DXVA::CProcessorHD::OnCreateDevice ( void )
inlineoverridevirtual

Implements ID3DResource.

◆ OnDestroyDevice()

void DXVA::CProcessorHD::OnDestroyDevice ( bool )
inlineoverridevirtual

Implements ID3DResource.

◆ Open()

bool CProcessorHD::Open ( const VideoPicture & picture,
std::shared_ptr< DXVA::CEnumeratorHD > enumerator )

◆ OpenProcessor()

bool CProcessorHD::OpenProcessor ( )
protected

◆ PastRefs()

uint8_t DXVA::CProcessorHD::PastRefs ( ) const
inline

◆ ReInit()

bool CProcessorHD::ReInit ( )
protected

◆ Render()

bool CProcessorHD::Render ( CRect src,
CRect dst,
ID3D11Resource * target,
CRenderBuffer ** views,
DWORD flags,
UINT frameIdx,
UINT rotation,
float contrast,
float brightness )

◆ SetConversion()

bool CProcessorHD::SetConversion ( const ProcessorConversion & conversion)

Configure the processor for the provided conversion.

Parameters
conversionthe conversion
Returns
success status, true = success, false = error

◆ Supports()

bool CProcessorHD::Supports ( ERENDERFEATURE feature) const

◆ TryEnableVideoSuperResolution()

void CProcessorHD::TryEnableVideoSuperResolution ( )

◆ UnInit()

void CProcessorHD::UnInit ( )

Member Data Documentation

◆ m_color_primaries

AVColorPrimaries DXVA::CProcessorHD::m_color_primaries {AVCOL_PRI_UNSPECIFIED}
protected

◆ m_color_transfer

AVColorTransferCharacteristic DXVA::CProcessorHD::m_color_transfer {AVCOL_TRC_UNSPECIFIED}
protected

◆ m_configured

bool DXVA::CProcessorHD::m_configured {false}
protected

true when at least one frame has been processed successfully since init

◆ m_conversion

ProcessorConversion DXVA::CProcessorHD::m_conversion
protected

◆ m_enumerator

std::shared_ptr<CEnumeratorHD> DXVA::CProcessorHD::m_enumerator
protected

◆ m_isValidConversion

bool DXVA::CProcessorHD::m_isValidConversion {false}
protected

◆ m_lastBrightness

float DXVA::CProcessorHD::m_lastBrightness {.0f}
protected

◆ m_lastColorSpace

AVColorSpace DXVA::CProcessorHD::m_lastColorSpace {AVCOL_SPC_UNSPECIFIED}
protected

◆ m_lastContrast

float DXVA::CProcessorHD::m_lastContrast {.0f}
protected

◆ m_lastConversion

ProcessorConversion DXVA::CProcessorHD::m_lastConversion {}
protected

◆ m_lastDst

CRect DXVA::CProcessorHD::m_lastDst {}
protected

◆ m_lastFullRange

bool DXVA::CProcessorHD::m_lastFullRange {false}
protected

◆ m_lastInputFrameOrField

UINT DXVA::CProcessorHD::m_lastInputFrameOrField {0}
protected

◆ m_lastOutputIndex

UINT DXVA::CProcessorHD::m_lastOutputIndex {0}
protected

◆ m_lastRotation

UINT DXVA::CProcessorHD::m_lastRotation {0}
protected

◆ m_lastSrc

CRect DXVA::CProcessorHD::m_lastSrc {}
protected

◆ m_procCaps

ProcessorCapabilities DXVA::CProcessorHD::m_procCaps
protected

◆ m_pVideoContext

ComPtr<ID3D11VideoContext> DXVA::CProcessorHD::m_pVideoContext
protected

◆ m_pVideoDevice

ComPtr<ID3D11VideoDevice> DXVA::CProcessorHD::m_pVideoDevice
protected

◆ m_pVideoProcessor

ComPtr<ID3D11VideoProcessor> DXVA::CProcessorHD::m_pVideoProcessor
protected

◆ m_section

CCriticalSection DXVA::CProcessorHD::m_section
protected

◆ m_superResolutionEnabled

bool DXVA::CProcessorHD::m_superResolutionEnabled {false}
protected

The documentation for this class was generated from the following files: