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

#include <RendererSoftware.h>

Inheritance diagram for CRendererSoftware:
CRendererBase

Classes

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
 
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

◆ ~CRendererSoftware()

CRendererSoftware::~CRendererSoftware ( )

◆ CRendererSoftware()

CRendererSoftware::CRendererSoftware ( CVideoSettings & videoSettings)
explicitprotected

Member Function Documentation

◆ Configure()

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

◆ Create()

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

◆ CreateBuffer()

CRenderBuffer * CRendererSoftware::CreateBuffer ( )
overrideprotectedvirtual

Implements CRendererBase.

◆ FinalOutput()

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

Reimplemented from CRendererBase.

◆ GetWeight()

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

◆ RenderImpl()

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

Implements CRendererBase.

◆ Supports()

bool CRendererSoftware::Supports ( ESCALINGMETHOD method) const
overridevirtual

Implements CRendererBase.


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