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

#include <RendererDXVA.h>

Inheritance diagram for CRendererDXVA:
CRendererHQ CRendererBase

Classes

class  CRenderBufferImpl
 

Public Member Functions

 ~CRendererDXVA ()=default
 
CRenderInfo GetRenderInfo () override
 
bool Supports (ESCALINGMETHOD method) const override
 
bool Supports (ERENDERFEATURE feature) const override
 
bool WantsDoublePass () override
 
bool Configure (const VideoPicture &picture, float fps, unsigned orientation) override
 
bool NeedBuffer (int idx) override
 
- Public Member Functions inherited from CRendererHQ
bool Supports (ESCALINGMETHOD method) const override
 
- Public Member Functions inherited from CRendererBase
virtual ~CRendererBase ()
 
virtual bool Configure (const VideoPicture &picture, float fps, unsigned int orientation)
 
void AddVideoPicture (const VideoPicture &picture, int index)
 
void Render (int index, int index2, CD3DTexture &target, const CRect &sourceRect, const CRect &destRect, const CRect &viewRect, unsigned flags)
 
void Render (CD3DTexture &target, const CRect &sourceRect, const CRect &destRect, const CRect &viewRect, unsigned flags=0)
 
void ManageTextures ()
 
int NextBuffer () const
 
void ReleaseBuffer (int idx)
 
bool Flush (bool saveBuffers)
 
void SetBufferSize (int numBuffers)
 
DEBUG_INFO_VIDEO GetDebugInfo (int idx)
 

Static Public Member Functions

static CRendererBaseCreate (CVideoSettings &videoSettings)
 
static void GetWeight (std::map< RenderMethod, int > &weights, const VideoPicture &picture)
 
static DXGI_FORMAT GetDXGIFormat (AVPixelFormat format, DXGI_FORMAT default_fmt)
 
- Static Public Member Functions inherited from CRendererBase
static DXGI_FORMAT GetDXGIFormat (const VideoPicture &picture)
 
static DXGI_FORMAT GetDXGIFormat (CVideoBuffer *videoBuffer)
 
static AVPixelFormat GetAVFormat (DXGI_FORMAT dxgi_format)
 
static DXGI_HDR_METADATA_HDR10 GetDXGIHDR10MetaData (CRenderBuffer *rb)
 

Protected Member Functions

 CRendererDXVA (CVideoSettings &videoSettings)
 
void CheckVideoParameters () override
 
void RenderImpl (CD3DTexture &target, CRect &sourceRect, CPoint(&destPoints)[4], uint32_t flags) override
 
CRenderBufferCreateBuffer () override
 
virtual std::string GetRenderMethodDebugInfo () const
 
- Protected Member Functions inherited from CRendererHQ
 CRendererHQ (CVideoSettings &videoSettings)
 
virtual ~CRendererHQ ()=default
 
void OnOutputReset () override
 
void CheckVideoParameters () override
 
void UpdateVideoFilters () override
 
void FinalOutput (CD3DTexture &source, CD3DTexture &target, const CRect &sourceRect, const CPoint(&destPoints)[4]) override
 
void SelectPSVideoFilter ()
 
bool HasHQScaler () const
 
- Protected Member Functions inherited from CRendererBase
 CRendererBase (CVideoSettings &videoSettings)
 
bool CreateIntermediateTarget (unsigned int width, unsigned int height, bool dynamic=false, DXGI_FORMAT format=DXGI_FORMAT_UNKNOWN)
 
void OnCMSConfigChanged (AVColorPrimaries srcPrimaries)
 
void ReorderDrawPoints (const CRect &destRect, CPoint(&rotatedPoints)[4]) const
 
bool CreateRenderBuffer (int index)
 
void DeleteRenderBuffer (int index)
 
void ProcessHDR (CRenderBuffer *rb)
 
bool ActualRenderAsHDR ()
 Call after rendering has started to find out if the output is configured as SDR or HDR.
 
virtual void OnViewSizeChanged ()
 

Additional Inherited Members

- Static Protected Member Functions inherited from CRendererBase
static bool IntendToRenderAsHDR (const VideoPicture &picture)
 Call before rendering begins to find out if rendering will be attempted as SDR or HDR.
 
- Protected Attributes inherited from CRendererHQ
ESCALINGMETHOD m_scalingMethod = VS_SCALINGMETHOD_AUTO
 
ESCALINGMETHOD m_scalingMethodGui = VS_SCALINGMETHOD_AUTO
 
std::unique_ptr< CConvolutionShaderm_scalerShader = nullptr
 
bool m_bUseHQScaler = false
 
- Protected Attributes inherited from CRendererBase
bool m_toneMapping = false
 
bool m_useDithering = false
 
bool m_cmsOn = false
 
bool m_lutIsLoading = false
 
bool m_useHLGtoPQ = false
 
ETONEMAPMETHOD m_toneMapMethod = VS_TONEMAPMETHOD_OFF
 
int m_iBufferIndex = 0
 
int m_iNumBuffers = 0
 
int m_iBuffersRequired = 0
 
int m_ditherDepth = 0
 
int m_cmsToken = -1
 
int m_lutSize = 0
 
unsigned m_sourceWidth = 0
 
unsigned m_sourceHeight = 0
 
unsigned m_viewWidth = 0
 
unsigned m_viewHeight = 0
 
unsigned m_renderOrientation = 0
 
float m_fps = 0.0f
 
uint64_t m_frameIdx = 0
 
AVPixelFormat m_format = AV_PIX_FMT_NONE
 
CD3DTexture m_IntermediateTarget
 
std::shared_ptr< COutputShaderm_outputShader
 
std::unique_ptr< CColorManagerm_colorManager
 
Microsoft::WRL::ComPtr< ID3D11ShaderResourceView > m_pLUTView
 
CVideoSettingsm_videoSettings
 
std::map< int, CRenderBuffer * > m_renderBuffers
 
DXGI_HDR_METADATA_HDR10 m_lastHdr10 = {}
 
HDR_TYPE m_HdrType = HDR_TYPE::HDR_INVALID
 
bool m_AutoSwitchHDR = false
 
bool m_initialHdrEnabled = false
 
std::string m_renderMethodName
 

Constructor & Destructor Documentation

◆ ~CRendererDXVA()

CRendererDXVA::~CRendererDXVA ( )
default

◆ CRendererDXVA()

CRendererDXVA::CRendererDXVA ( CVideoSettings & videoSettings)
explicitprotected

Member Function Documentation

◆ CheckVideoParameters()

void CRendererDXVA::CheckVideoParameters ( )
overrideprotectedvirtual

Reimplemented from CRendererBase.

◆ Configure()

bool CRendererDXVA::Configure ( const VideoPicture & picture,
float fps,
unsigned orientation )
override

◆ Create()

CRendererBase * CRendererDXVA::Create ( CVideoSettings & videoSettings)
static

◆ CreateBuffer()

CRenderBuffer * CRendererDXVA::CreateBuffer ( )
overrideprotectedvirtual

Implements CRendererBase.

◆ GetDXGIFormat()

DXGI_FORMAT CRendererDXVA::GetDXGIFormat ( AVPixelFormat format,
DXGI_FORMAT default_fmt )
static

◆ GetRenderInfo()

CRenderInfo CRendererDXVA::GetRenderInfo ( )
overridevirtual

Reimplemented from CRendererBase.

◆ GetRenderMethodDebugInfo()

std::string CRendererDXVA::GetRenderMethodDebugInfo ( ) const
protectedvirtual

Reimplemented from CRendererBase.

◆ GetWeight()

void CRendererDXVA::GetWeight ( std::map< RenderMethod, int > & weights,
const VideoPicture & picture )
static

◆ NeedBuffer()

bool CRendererDXVA::NeedBuffer ( int idx)
overridevirtual

Reimplemented from CRendererBase.

◆ RenderImpl()

void CRendererDXVA::RenderImpl ( CD3DTexture & target,
CRect & sourceRect,
CPoint(&) destPoints[4],
uint32_t flags )
overrideprotectedvirtual

Implements CRendererBase.

◆ Supports() [1/2]

bool CRendererDXVA::Supports ( ERENDERFEATURE feature) const
overridevirtual

Reimplemented from CRendererBase.

◆ Supports() [2/2]

bool CRendererDXVA::Supports ( ESCALINGMETHOD method) const
overridevirtual

Implements CRendererBase.

◆ WantsDoublePass()

bool CRendererDXVA::WantsDoublePass ( )
inlineoverridevirtual

Reimplemented from CRendererBase.


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