Kodi Documentation  19.0
Kodi is an open source media player and entertainment hub.
CRendererBase Class Referenceabstract

#include <RendererBase.h>

Inheritance diagram for CRendererBase:
CRendererHQ CRendererSoftware CRendererDXVA CRendererShaders

Public Member Functions

virtual ~CRendererBase ()
 
virtual CRenderInfo GetRenderInfo ()
 
virtual bool Configure (const VideoPicture &picture, float fps, unsigned int orientation)
 
virtual bool Supports (ESCALINGMETHOD method)=0
 
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)
 

Static Public Member Functions

static DXGI_FORMAT GetDXGIFormat (const VideoPicture &picture)
 
static DXGI_FORMAT GetDXGIFormat (CVideoBuffer *videoBuffer)
 
static AVPixelFormat GetAVFormat (DXGI_FORMAT dxgi_format)
 

Protected Member Functions

 CRendererBase (CVideoSettings &videoSettings)
 
bool CreateIntermediateTarget (unsigned int width, unsigned int height, bool dynamic=false)
 
void OnCMSConfigChanged (unsigned flags)
 
void ReorderDrawPoints (const CRect &destRect, CPoint(&rotatedPoints)[4]) const
 
bool CreateRenderBuffer (int index)
 
void DeleteRenderBuffer (int index)
 
virtual void RenderImpl (CD3DTexture &target, CRect &sourceRect, CPoint(&destPoints)[4], uint32_t flags)=0
 
virtual void FinalOutput (CD3DTexture &source, CD3DTexture &target, const CRect &sourceRect, const CPoint(&destPoints)[4])
 
virtual CRenderBufferCreateBuffer ()=0
 
virtual void UpdateVideoFilters ()
 
virtual void CheckVideoParameters ()
 
virtual void OnViewSizeChanged ()
 
virtual void OnOutputReset ()
 
virtual bool UseToneMapping () const
 

Protected Attributes

bool m_toneMapping = false
 
bool m_useDithering = false
 
bool m_cmsOn = false
 
bool m_clutLoaded = 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
 
CVideoSettingsm_videoSettings
 
std::map< int, CRenderBuffer * > m_renderBuffers
 

Constructor & Destructor Documentation

§ ~CRendererBase()

CRendererBase::~CRendererBase ( )
virtual

§ CRendererBase()

CRendererBase::CRendererBase ( CVideoSettings videoSettings)
explicitprotected

Member Function Documentation

§ AddVideoPicture()

void CRendererBase::AddVideoPicture ( const VideoPicture picture,
int  index 
)

§ CheckVideoParameters()

void CRendererBase::CheckVideoParameters ( )
protectedvirtual

Reimplemented in CRendererShaders, CRendererDXVA, and CRendererHQ.

§ Configure()

bool CRendererBase::Configure ( const VideoPicture picture,
float  fps,
unsigned int  orientation 
)
virtual

§ CreateBuffer()

virtual CRenderBuffer* CRendererBase::CreateBuffer ( )
protectedpure virtual

§ CreateIntermediateTarget()

bool CRendererBase::CreateIntermediateTarget ( unsigned int  width,
unsigned int  height,
bool  dynamic = false 
)
protected

§ CreateRenderBuffer()

bool CRendererBase::CreateRenderBuffer ( int  index)
protected

§ DeleteRenderBuffer()

void CRendererBase::DeleteRenderBuffer ( int  index)
protected

§ FinalOutput()

void CRendererBase::FinalOutput ( CD3DTexture source,
CD3DTexture target,
const CRect sourceRect,
const CPoint(&)  destPoints[4] 
)
protectedvirtual

Reimplemented in CRendererSoftware, and CRendererHQ.

§ Flush()

bool CRendererBase::Flush ( bool  saveBuffers)

§ GetAVFormat()

AVPixelFormat CRendererBase::GetAVFormat ( DXGI_FORMAT  dxgi_format)
static

§ GetDXGIFormat() [1/2]

DXGI_FORMAT CRendererBase::GetDXGIFormat ( const VideoPicture picture)
static

§ GetDXGIFormat() [2/2]

DXGI_FORMAT CRendererBase::GetDXGIFormat ( CVideoBuffer videoBuffer)
static

§ GetRenderInfo()

CRenderInfo CRendererBase::GetRenderInfo ( )
virtual

Reimplemented in CRendererDXVA.

§ ManageTextures()

void CRendererBase::ManageTextures ( )

§ NeedBuffer()

virtual bool CRendererBase::NeedBuffer ( int  idx)
inlinevirtual

Reimplemented in CRendererDXVA.

§ NextBuffer()

int CRendererBase::NextBuffer ( ) const

§ OnCMSConfigChanged()

void CRendererBase::OnCMSConfigChanged ( unsigned  flags)
protected

§ OnOutputReset()

virtual void CRendererBase::OnOutputReset ( )
inlineprotectedvirtual

Reimplemented in CRendererHQ.

§ OnViewSizeChanged()

virtual void CRendererBase::OnViewSizeChanged ( )
inlineprotectedvirtual

§ ReleaseBuffer()

void CRendererBase::ReleaseBuffer ( int  idx)

§ Render() [1/2]

void CRendererBase::Render ( int  index,
int  index2,
CD3DTexture target,
const CRect sourceRect,
const CRect destRect,
const CRect viewRect,
unsigned  flags 
)

§ Render() [2/2]

void CRendererBase::Render ( CD3DTexture target,
const CRect sourceRect,
const CRect destRect,
const CRect viewRect,
unsigned  flags = 0 
)

§ RenderImpl()

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

§ ReorderDrawPoints()

void CRendererBase::ReorderDrawPoints ( const CRect destRect,
CPoint(&)  rotatedPoints[4] 
) const
protected

§ SetBufferSize()

void CRendererBase::SetBufferSize ( int  numBuffers)
inline

§ Supports()

virtual bool CRendererBase::Supports ( ESCALINGMETHOD  method)
pure virtual

§ UpdateVideoFilters()

void CRendererBase::UpdateVideoFilters ( )
protectedvirtual

Reimplemented in CRendererShaders, and CRendererHQ.

§ UseToneMapping()

virtual bool CRendererBase::UseToneMapping ( ) const
inlineprotectedvirtual

Reimplemented in CRendererDXVA.

§ WantsDoublePass()

virtual bool CRendererBase::WantsDoublePass ( )
inlinevirtual

Reimplemented in CRendererDXVA.

Member Data Documentation

§ m_clutLoaded

bool CRendererBase::m_clutLoaded = false
protected

§ m_cmsOn

bool CRendererBase::m_cmsOn = false
protected

§ m_cmsToken

int CRendererBase::m_cmsToken = -1
protected

§ m_colorManager

std::unique_ptr<CColorManager> CRendererBase::m_colorManager
protected

§ m_ditherDepth

int CRendererBase::m_ditherDepth = 0
protected

§ m_format

AVPixelFormat CRendererBase::m_format = AV_PIX_FMT_NONE
protected

§ m_fps

float CRendererBase::m_fps = 0.0f
protected

§ m_frameIdx

uint64_t CRendererBase::m_frameIdx = 0
protected

§ m_iBufferIndex

int CRendererBase::m_iBufferIndex = 0
protected

§ m_iBuffersRequired

int CRendererBase::m_iBuffersRequired = 0
protected

§ m_IntermediateTarget

CD3DTexture CRendererBase::m_IntermediateTarget
protected

§ m_iNumBuffers

int CRendererBase::m_iNumBuffers = 0
protected

§ m_lutSize

int CRendererBase::m_lutSize = 0
protected

§ m_outputShader

std::shared_ptr<COutputShader> CRendererBase::m_outputShader
protected

§ m_pLUTView

Microsoft::WRL::ComPtr<ID3D11ShaderResourceView> CRendererBase::m_pLUTView
protected

§ m_renderBuffers

std::map<int, CRenderBuffer*> CRendererBase::m_renderBuffers
protected

§ m_renderOrientation

unsigned CRendererBase::m_renderOrientation = 0
protected

§ m_sourceHeight

unsigned CRendererBase::m_sourceHeight = 0
protected

§ m_sourceWidth

unsigned CRendererBase::m_sourceWidth = 0
protected

§ m_toneMapping

bool CRendererBase::m_toneMapping = false
protected

§ m_useDithering

bool CRendererBase::m_useDithering = false
protected

§ m_videoSettings

CVideoSettings& CRendererBase::m_videoSettings
protected

§ m_viewHeight

unsigned CRendererBase::m_viewHeight = 0
protected

§ m_viewWidth

unsigned CRendererBase::m_viewWidth = 0
protected

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