Kodi Documentation 18.0
Kodi is an open source media player and entertainment hub.
CBaseRenderer Class Referenceabstract

#include <BaseRenderer.h>

Inheritance diagram for CBaseRenderer:
CLinuxRendererGL CLinuxRendererGLES CRendererAML CRendererDRMPRIME CRendererMediaCodecSurface CWinRenderer MMAL::CMMALRenderer CRendererVAAPI CRendererVDPAU CRendererVTB CRendererDRMPRIMEGLES CRendererMediaCodec CRendererVAAPI CRendererVTB

Public Member Functions

 CBaseRenderer ()
 
virtual ~CBaseRenderer ()
 
virtual bool Configure (const VideoPicture &picture, float fps, unsigned int orientation)=0
 
virtual bool IsConfigured ()=0
 
virtual void AddVideoPicture (const VideoPicture &picture, int index)=0
 
virtual bool IsPictureHW (const VideoPicture &picture)
 
virtual void UnInit ()=0
 
virtual bool Flush (bool saveBuffers)
 
virtual void SetBufferSize (int numBuffers)
 
virtual void ReleaseBuffer (int idx)
 
virtual bool NeedBuffer (int idx)
 
virtual bool IsGuiLayer ()
 
virtual CRenderInfo GetRenderInfo ()
 
virtual void Update ()=0
 
virtual void RenderUpdate (int index, int index2, bool clear, unsigned int flags, unsigned int alpha)=0
 
virtual bool RenderCapture (CRenderCapture *capture)=0
 
virtual bool ConfigChanged (const VideoPicture &picture)=0
 
virtual bool SupportsMultiPassRendering ()=0
 
virtual bool Supports (ERENDERFEATURE feature)
 
virtual bool Supports (ESCALINGMETHOD method)=0
 
virtual bool WantsDoublePass ()
 
void SetViewMode (int viewMode)
 
void GetVideoRect (CRect &source, CRect &dest, CRect &view)
 Get video rectangle and view window. More...
 
float GetAspectRatio () const
 
void SetVideoSettings (const CVideoSettings &settings)
 

Static Public Member Functions

static void SettingOptionsRenderMethodsFiller (std::shared_ptr< const CSetting > setting, std::vector< std::pair< std::string, int > > &list, int &current, void *data)
 

Protected Member Functions

void CalcNormalRenderRect (float offsetX, float offsetY, float width, float height, float inputFrameRatio, float zoomAmount, float verticalShift)
 
void CalculateFrameAspectRatio (unsigned int desired_width, unsigned int desired_height)
 
virtual void ManageRenderArea ()
 
virtual void ReorderDrawPoints ()
 
virtual EShaderFormat GetShaderFormat ()
 
void MarkDirty ()
 
void saveRotatedCoords ()
 
void syncDestRectToRotatedPoints ()
 
void restoreRotatedCoords ()
 

Protected Attributes

unsigned int m_sourceWidth = 720
 
unsigned int m_sourceHeight = 480
 
float m_sourceFrameRatio = 1.0f
 
float m_fps = 0.0f
 
unsigned int m_renderOrientation = 0
 
CPoint m_rotatedDestCoords [4]
 
CPoint m_savedRotatedDestCoords [4]
 
CRect m_destRect
 
CRect m_sourceRect
 
CRect m_viewRect
 
unsigned m_iFlags = 0
 
AVPixelFormat m_format = AV_PIX_FMT_NONE
 
CVideoSettings m_videoSettings
 

Constructor & Destructor Documentation

◆ CBaseRenderer()

CBaseRenderer::CBaseRenderer ( )

◆ ~CBaseRenderer()

CBaseRenderer::~CBaseRenderer ( )
virtualdefault

Member Function Documentation

◆ AddVideoPicture()

virtual void CBaseRenderer::AddVideoPicture ( const VideoPicture picture,
int  index 
)
pure virtual

◆ CalcNormalRenderRect()

void CBaseRenderer::CalcNormalRenderRect ( float  offsetX,
float  offsetY,
float  width,
float  height,
float  inputFrameRatio,
float  zoomAmount,
float  verticalShift 
)
protected

◆ CalculateFrameAspectRatio()

void CBaseRenderer::CalculateFrameAspectRatio ( unsigned int  desired_width,
unsigned int  desired_height 
)
protected

◆ ConfigChanged()

virtual bool CBaseRenderer::ConfigChanged ( const VideoPicture picture)
pure virtual

◆ Configure()

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

◆ Flush()

virtual bool CBaseRenderer::Flush ( bool  saveBuffers)
inlinevirtual

◆ GetAspectRatio()

float CBaseRenderer::GetAspectRatio ( ) const

◆ GetRenderInfo()

◆ GetShaderFormat()

EShaderFormat CBaseRenderer::GetShaderFormat ( )
protectedvirtual

◆ GetVideoRect()

void CBaseRenderer::GetVideoRect ( CRect source,
CRect dest,
CRect view 
)

Get video rectangle and view window.

Parameters
sourceis original size of the video
destis the target rendering area honoring aspect ratio of source
viewis the entire target rendering area for the video (including black bars)

◆ IsConfigured()

virtual bool CBaseRenderer::IsConfigured ( )
pure virtual

◆ IsGuiLayer()

virtual bool CBaseRenderer::IsGuiLayer ( )
inlinevirtual

◆ IsPictureHW()

virtual bool CBaseRenderer::IsPictureHW ( const VideoPicture picture)
inlinevirtual

Reimplemented in MMAL::CMMALRenderer.

◆ ManageRenderArea()

void CBaseRenderer::ManageRenderArea ( )
protectedvirtual

Reimplemented in CRendererDRMPRIME.

◆ MarkDirty()

void CBaseRenderer::MarkDirty ( )
protected

◆ NeedBuffer()

virtual bool CBaseRenderer::NeedBuffer ( int  idx)
inlinevirtual

◆ ReleaseBuffer()

◆ RenderCapture()

virtual bool CBaseRenderer::RenderCapture ( CRenderCapture *  capture)
pure virtual

◆ RenderUpdate()

virtual void CBaseRenderer::RenderUpdate ( int  index,
int  index2,
bool  clear,
unsigned int  flags,
unsigned int  alpha 
)
pure virtual

◆ ReorderDrawPoints()

void CBaseRenderer::ReorderDrawPoints ( )
inlineprotectedvirtual

Reimplemented in CRendererMediaCodecSurface.

◆ restoreRotatedCoords()

void CBaseRenderer::restoreRotatedCoords ( )
protected

◆ saveRotatedCoords()

void CBaseRenderer::saveRotatedCoords ( )
protected

◆ SetBufferSize()

virtual void CBaseRenderer::SetBufferSize ( int  numBuffers)
inlinevirtual

◆ SettingOptionsRenderMethodsFiller()

void CBaseRenderer::SettingOptionsRenderMethodsFiller ( std::shared_ptr< const CSetting setting,
std::vector< std::pair< std::string, int > > &  list,
int &  current,
void data 
)
static

◆ SetVideoSettings()

void CBaseRenderer::SetVideoSettings ( const CVideoSettings settings)

◆ SetViewMode()

void CBaseRenderer::SetViewMode ( int  viewMode)

◆ Supports() [1/2]

◆ Supports() [2/2]

◆ SupportsMultiPassRendering()

virtual bool CBaseRenderer::SupportsMultiPassRendering ( )
pure virtual

◆ syncDestRectToRotatedPoints()

void CBaseRenderer::syncDestRectToRotatedPoints ( )
protected

◆ UnInit()

◆ Update()

◆ WantsDoublePass()

virtual bool CBaseRenderer::WantsDoublePass ( )
inlinevirtual

Reimplemented in CWinRenderer.

Member Data Documentation

◆ m_destRect

CRect CBaseRenderer::m_destRect
protected

◆ m_format

AVPixelFormat CBaseRenderer::m_format = AV_PIX_FMT_NONE
protected

◆ m_fps

float CBaseRenderer::m_fps = 0.0f
protected

◆ m_iFlags

unsigned CBaseRenderer::m_iFlags = 0
protected

◆ m_renderOrientation

unsigned int CBaseRenderer::m_renderOrientation = 0
protected

◆ m_rotatedDestCoords

CPoint CBaseRenderer::m_rotatedDestCoords[4]
protected

◆ m_savedRotatedDestCoords

CPoint CBaseRenderer::m_savedRotatedDestCoords[4]
protected

◆ m_sourceFrameRatio

float CBaseRenderer::m_sourceFrameRatio = 1.0f
protected

◆ m_sourceHeight

unsigned int CBaseRenderer::m_sourceHeight = 480
protected

◆ m_sourceRect

CRect CBaseRenderer::m_sourceRect
protected

◆ m_sourceWidth

unsigned int CBaseRenderer::m_sourceWidth = 720
protected

◆ m_videoSettings

CVideoSettings CBaseRenderer::m_videoSettings
protected

◆ m_viewRect

CRect CBaseRenderer::m_viewRect
protected

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