Kodi Documentation 23.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 () override
 
bool Supports (ERENDERFEATURE feature) const override
 
bool Supports (ESCALINGMETHOD method) const override
 
bool Configure (const VideoPicture &picture, float fps, unsigned orientation) override
 
- Public Member Functions inherited from CRendererHQ
- Public Member Functions inherited from CRendererBase
virtual ~CRendererBase ()
 
virtual CRenderInfo GetRenderInfo ()
 
virtual bool Configure (const VideoPicture &picture, float fps, unsigned int orientation)
 
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 CRendererBase * Create (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
 
bool HueSaturationInConversion () const override
 
void UpdateVideoFilters () override
 
CRenderBuffer * CreateBuffer () 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 bool CanAdjustHDRHueSaturation () const
 
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< CConvolutionShader > m_scalerShader = nullptr
 
bool m_bUseHQScaler = false
 
CD3DTexture m_scaledCache
 
CRect m_scaledCacheRect
 
- 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
 
bool m_hdrStream = false
 
AVColorTransferCharacteristic m_hueSatTransfer = AVCOL_TRC_UNSPECIFIED
 
bool m_useGamma = false
 
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
 
IntermediateState m_intermediateState
 
bool m_reuseIntermediate = false
 
AVPixelFormat m_format = AV_PIX_FMT_NONE
 
CD3DTexture m_IntermediateTarget
 
std::shared_ptr< COutputShader > m_outputShader
 
std::unique_ptr< CColorManager > m_colorManager
 
Microsoft::WRL::ComPtr< ID3D11ShaderResourceView > m_pLUTView
 
CVideoSettings & m_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
 
bool m_DolbyVisionOutput = false
 
bool m_canRenderDolbyVision = false
 
bool m_dolbyVisionEffect = false
 
std::string m_renderMethodName
 

Constructor & Destructor Documentation

◆ ~CRendererShaders()

CRendererShaders::~CRendererShaders ( )
overridedefault

◆ 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

◆ HueSaturationInConversion()

bool CRendererShaders::HueSaturationInConversion ( ) const
inlineoverrideprotectedvirtual

Reimplemented from CRendererBase.

◆ 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() [1/2]

bool CRendererShaders::Supports ( ERENDERFEATURE feature) const
overridevirtual

Reimplemented from CRendererBase.

◆ Supports() [2/2]

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: