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

#include <RendererMediaCodec.h>

Inheritance diagram for CRendererMediaCodec:
CLinuxRendererGLES CBaseRenderer

Public Member Functions

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

Static Public Member Functions

static CBaseRendererCreate (CVideoBuffer *buffer)
 
static bool Register ()
 
- Static Public Member Functions inherited from CLinuxRendererGLES
static CBaseRendererCreate (CVideoBuffer *buffer)
 
static bool Register ()
 
- Static Public Member Functions inherited from CBaseRenderer
static void SettingOptionsRenderMethodsFiller (const std::shared_ptr< const CSetting > &setting, std::vector< IntegerSettingOption > &list, int &current, void *data)
 

Protected Member Functions

bool UploadTexture (int index) override
 
void DeleteTexture (int index) override
 
bool CreateTexture (int index) override
 
bool LoadShadersHook () override
 
bool RenderHook (int index) override
 
- Protected Member Functions inherited from CLinuxRendererGLES
virtual bool Render (unsigned int flags, int index)
 
virtual void RenderUpdateVideo (bool clear, unsigned int flags=0, unsigned int alpha=255)
 
int NextYV12Texture ()
 
virtual bool ValidateRenderTarget ()
 
virtual void LoadShaders (int field=FIELD_FULL)
 
virtual void ReleaseShaders ()
 
void SetTextureFilter (GLenum method)
 
void UpdateVideoFilter ()
 
void CheckVideoParameters (int index)
 
AVColorPrimaries GetSrcPrimaries (AVColorPrimaries srcPrimaries, unsigned int width, unsigned int height)
 
bool UploadYV12Texture (int index)
 
void DeleteYV12Texture (int index)
 
bool CreateYV12Texture (int index)
 
virtual bool SkipUploadYV12 (int index)
 
bool UploadNV12Texture (int index)
 
void DeleteNV12Texture (int index)
 
bool CreateNV12Texture (int index)
 
void CalculateTextureSourceRects (int source, int num_planes)
 
void RenderToFBO (int index, int field)
 
void RenderFromFBO ()
 
void RenderSinglePass (int index, int field)
 
virtual void AfterRenderHook (int idx)
 
void LoadPlane (CYuvPlane &plane, int type, unsigned width, unsigned height, int stride, int bpp, void *data)
 
- Protected Member Functions inherited from CBaseRenderer
void CalcDestRect (float offsetX, float offsetY, float width, float height, float inputFrameRatio, float zoomAmount, float verticalShift, CRect &destRect)
 
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 EnableAlwaysClip ()
 
void saveRotatedCoords ()
 
void syncDestRectToRotatedPoints ()
 
void restoreRotatedCoords ()
 

Additional Inherited Members

- Public Attributes inherited from CLinuxRendererGLES
- Protected Attributes inherited from CLinuxRendererGLES
struct { 
 
   CFrameBufferObject   fbo 
 
   float   width {0.0} 
 
   float   height {0.0} 
 
m_fbo 
 
int m_iYV12RenderBuffer {0}
 
int m_NumYV12Buffers {0}
 
bool m_bConfigured {false}
 
bool m_bValidated {false}
 
GLenum m_textureTarget = GL_TEXTURE_2D
 
int m_renderMethod {RENDER_GLSL}
 
RenderQuality m_renderQuality {RQ_SINGLEPASS}
 
int m_currentField {FIELD_FULL}
 
int m_reloadShaders {0}
 
CRenderSystemGLESm_renderSystem {nullptr}
 
GLenum m_pixelStoreKey {0}
 
CPictureBuffer m_buffers [NUM_BUFFERS]
 
Shaders::GLES::BaseYUV2RGBGLSLShaderm_pYUVProgShader {nullptr}
 
Shaders::GLES::BaseYUV2RGBGLSLShaderm_pYUVBobShader {nullptr}
 
Shaders::GLES::BaseVideoFilterShaderm_pVideoFilterShader {nullptr}
 
ESCALINGMETHOD m_scalingMethod {VS_SCALINGMETHOD_LINEAR}
 
ESCALINGMETHOD m_scalingMethodGui {VS_SCALINGMETHOD_MAX}
 
bool m_fullRange
 
AVColorPrimaries m_srcPrimaries
 
bool m_toneMap = false
 
ETONEMAPMETHOD m_toneMapMethod = VS_TONEMAPMETHOD_OFF
 
bool m_passthroughHDR = false
 
unsigned char * m_planeBuffer = nullptr
 
size_t m_planeBufferSize = 0
 
float m_clearColour {0.0f}
 
CRect m_viewRect
 
- Protected Attributes inherited from CBaseRenderer
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
 
- Static Protected Attributes inherited from CLinuxRendererGLES
static const int FIELD_FULL {0}
 
static const int FIELD_TOP {1}
 
static const int FIELD_BOT {2}
 

Constructor & Destructor Documentation

◆ CRendererMediaCodec()

CRendererMediaCodec::CRendererMediaCodec ( )

◆ ~CRendererMediaCodec()

CRendererMediaCodec::~CRendererMediaCodec ( )
override

Member Function Documentation

◆ AddVideoPicture()

void CRendererMediaCodec::AddVideoPicture ( const VideoPicture & picture,
int index )
overridevirtual

Reimplemented from CLinuxRendererGLES.

◆ Create()

CBaseRenderer * CRendererMediaCodec::Create ( CVideoBuffer * buffer)
static

◆ CreateTexture()

bool CRendererMediaCodec::CreateTexture ( int index)
overrideprotectedvirtual

Reimplemented from CLinuxRendererGLES.

◆ DeleteTexture()

void CRendererMediaCodec::DeleteTexture ( int index)
overrideprotectedvirtual

Reimplemented from CLinuxRendererGLES.

◆ GetRenderInfo()

CRenderInfo CRendererMediaCodec::GetRenderInfo ( )
overridevirtual

Reimplemented from CLinuxRendererGLES.

◆ LoadShadersHook()

bool CRendererMediaCodec::LoadShadersHook ( )
overrideprotectedvirtual

Reimplemented from CLinuxRendererGLES.

◆ Register()

bool CRendererMediaCodec::Register ( )
static

◆ ReleaseBuffer()

void CRendererMediaCodec::ReleaseBuffer ( int idx)
overridevirtual

Reimplemented from CLinuxRendererGLES.

◆ RenderHook()

bool CRendererMediaCodec::RenderHook ( int index)
overrideprotectedvirtual

Reimplemented from CLinuxRendererGLES.

◆ UploadTexture()

bool CRendererMediaCodec::UploadTexture ( int index)
overrideprotectedvirtual

Reimplemented from CLinuxRendererGLES.


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