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

#include <RendererSoftware.h>

Inheritance diagram for CRendererSoftware:


class  CRenderBufferImpl

Public Member Functions

 ~CRendererSoftware ()
bool Configure (const VideoPicture &picture, float fps, unsigned orientation) override
bool Supports (ESCALINGMETHOD method) const 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

 CRendererSoftware (CVideoSettings &videoSettings)
CRenderBufferCreateBuffer () override
void RenderImpl (CD3DTexture &target, CRect &sourceRect, CPoint(&destPoints)[4], uint32_t flags) override
void FinalOutput (CD3DTexture &source, CD3DTexture &target, const CRect &src, const CPoint(&destPoints)[4]) override
- 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 UpdateVideoFilters ()
virtual void CheckVideoParameters ()
virtual void OnViewSizeChanged ()
virtual void OnOutputReset ()
virtual std::string GetRenderMethodDebugInfo () const

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 CRendererBase
bool m_toneMapping = false
bool m_useDithering = false
bool m_cmsOn = false
bool m_lutIsLoading = false
bool m_useHLGtoPQ = 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
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
std::map< int, CRenderBuffer * > m_renderBuffers
DXGI_HDR_METADATA_HDR10 m_lastHdr10 = {}
bool m_AutoSwitchHDR = false
bool m_initialHdrEnabled = false
std::string m_renderMethodName

Constructor & Destructor Documentation

◆ ~CRendererSoftware()

CRendererSoftware::~CRendererSoftware ( )

◆ CRendererSoftware()

CRendererSoftware::CRendererSoftware ( CVideoSettings & videoSettings)

Member Function Documentation

◆ Configure()

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

◆ Create()

CRendererBase * CRendererSoftware::Create ( CVideoSettings & videoSettings)

◆ CreateBuffer()

CRenderBuffer * CRendererSoftware::CreateBuffer ( )

Implements CRendererBase.

◆ FinalOutput()

void CRendererSoftware::FinalOutput ( CD3DTexture & source,
CD3DTexture & target,
const CRect & src,
const CPoint(&) destPoints[4] )

Reimplemented from CRendererBase.

◆ GetWeight()

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

◆ RenderImpl()

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

Implements CRendererBase.

◆ Supports()

bool CRendererSoftware::Supports ( ESCALINGMETHOD method) const

Implements CRendererBase.

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