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

#include <RendererShaders.h>

Inheritance diagram for CRendererShaders:
CRendererHQ CRendererBase

Classes

class  CRenderBufferImpl
 

Public Member Functions

 ~CRendererShaders ()=default
 
bool Supports (ESCALINGMETHOD method) const override
 
bool Configure (const VideoPicture &picture, float fps, unsigned orientation) override
 
- Public Member Functions inherited from CRendererBase
virtual ~CRendererBase ()
 
virtual CRenderInfo GetRenderInfo ()
 
virtual bool Configure (const VideoPicture &picture, float fps, unsigned int orientation)
 
virtual bool Supports (ERENDERFEATURE feature) const
 
virtual bool WantsDoublePass ()
 
virtual bool NeedBuffer (int idx)
 
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 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

 CRendererShaders (CVideoSettings &videoSettings)
 
void RenderImpl (CD3DTexture &target, CRect &sourceRect, CPoint(&destPoints)[4], uint32_t flags) override
 
void CheckVideoParameters () override
 
void UpdateVideoFilters () override
 
CRenderBufferCreateBuffer () override
 
- Protected Member Functions inherited from CRendererHQ
 CRendererHQ (CVideoSettings &videoSettings)
 
virtual ~CRendererHQ ()=default
 
void OnOutputReset () 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 ()
 
virtual std::string GetRenderMethodDebugInfo () const
 

Static Protected Member Functions

static bool IsHWPicSupported (const VideoPicture &picture)
 
- 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.
 

Additional Inherited Members

- 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

◆ ~CRendererShaders()

CRendererShaders::~CRendererShaders ( )
default

◆ CRendererShaders()

CRendererShaders::CRendererShaders ( CVideoSettings & videoSettings)
explicitprotected

Member Function Documentation

◆ CheckVideoParameters()

void CRendererShaders::CheckVideoParameters ( )
overrideprotectedvirtual

Reimplemented from CRendererHQ.

◆ Configure()

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

◆ Create()

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

◆ CreateBuffer()

CRenderBuffer * CRendererShaders::CreateBuffer ( )
overrideprotectedvirtual

Implements CRendererBase.

◆ GetWeight()

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

◆ IsHWPicSupported()

bool CRendererShaders::IsHWPicSupported ( const VideoPicture & picture)
staticprotected

◆ RenderImpl()

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

Implements CRendererBase.

◆ Supports()

bool CRendererShaders::Supports ( ESCALINGMETHOD method) const
overridevirtual

Reimplemented from CRendererHQ.

◆ UpdateVideoFilters()

void CRendererShaders::UpdateVideoFilters ( )
overrideprotectedvirtual

Reimplemented from CRendererHQ.


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