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

#include <RendererDXVA.h>

Inheritance diagram for CRendererDXVA:
CRendererHQ CRendererBase

Classes

class  CRenderBufferImpl
 

Public Member Functions

 ~CRendererDXVA ()=default
 
CRenderInfo GetRenderInfo () override
 
bool Supports (ESCALINGMETHOD method) const override
 
bool Supports (ERENDERFEATURE feature) const override
 
bool WantsDoublePass () override
 
bool Configure (const VideoPicture &picture, float fps, unsigned orientation) override
 
bool NeedBuffer (int idx) override
 
- Public Member Functions inherited from CRendererHQ
bool Supports (ESCALINGMETHOD method) const override
 
- Public Member Functions inherited from CRendererBase
virtual ~CRendererBase ()
 
virtual bool Configure (const VideoPicture &picture, float fps, unsigned int orientation)
 
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 CRendererBase * Create (CVideoSettings &videoSettings)
 
static void GetWeight (std::map< RenderMethod, int > &weights, const VideoPicture &picture)
 
static DXGI_FORMAT GetDXGIFormat (AVPixelFormat format, DXGI_FORMAT default_fmt)
 
- 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

 CRendererDXVA (CVideoSettings &videoSettings)
 
void CheckVideoParameters () override
 
bool CanAdjustHDRHueSaturation () const override
 
void RenderImpl (CD3DTexture &target, CRect &sourceRect, CPoint(&destPoints)[4], uint32_t flags) override
 
CRenderBuffer * CreateBuffer () override
 
virtual std::string GetRenderMethodDebugInfo () const
 
- Protected Member Functions inherited from CRendererHQ
 CRendererHQ (CVideoSettings &videoSettings)
 
virtual ~CRendererHQ ()=default
 
void OnOutputReset () override
 
void CheckVideoParameters () override
 
void UpdateVideoFilters () override
 
void FinalOutput (CD3DTexture &source, CD3DTexture &target, const CRect &sourceRect, const CPoint(&destPoints)[4]) override
 
void SelectPSVideoFilter ()
 
bool HasHQScaler () const
 
- 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 bool HueSaturationInConversion () const
 
virtual void OnViewSizeChanged ()
 

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 CRendererHQ
ESCALINGMETHOD m_scalingMethod = VS_SCALINGMETHOD_AUTO
 
ESCALINGMETHOD m_scalingMethodGui = VS_SCALINGMETHOD_AUTO
 
std::unique_ptr< CConvolutionShader > m_scalerShader = nullptr
 
bool m_bUseHQScaler = false
 
CD3DTexture m_scaledCache
 
CRect m_scaledCacheRect
 
- 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
 
bool m_hdrStream = false
 
AVColorTransferCharacteristic m_hueSatTransfer = AVCOL_TRC_UNSPECIFIED
 
bool m_useGamma = 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
 
IntermediateState m_intermediateState
 
bool m_reuseIntermediate = false
 
AVPixelFormat m_format = AV_PIX_FMT_NONE
 
CD3DTexture m_IntermediateTarget
 
std::shared_ptr< COutputShader > m_outputShader
 
std::unique_ptr< CColorManager > m_colorManager
 
Microsoft::WRL::ComPtr< ID3D11ShaderResourceView > m_pLUTView
 
CVideoSettings & m_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
 
bool m_DolbyVisionOutput = false
 
bool m_canRenderDolbyVision = false
 
bool m_dolbyVisionEffect = false
 
std::string m_renderMethodName
 

Constructor & Destructor Documentation

◆ ~CRendererDXVA()

CRendererDXVA::~CRendererDXVA ( )
default

◆ CRendererDXVA()

CRendererDXVA::CRendererDXVA ( CVideoSettings & videoSettings)
explicitprotected

Member Function Documentation

◆ CanAdjustHDRHueSaturation()

bool CRendererDXVA::CanAdjustHDRHueSaturation ( ) const
overrideprotectedvirtual

Reimplemented from CRendererBase.

◆ CheckVideoParameters()

void CRendererDXVA::CheckVideoParameters ( )
overrideprotectedvirtual

Reimplemented from CRendererBase.

◆ Configure()

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

◆ Create()

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

◆ CreateBuffer()

CRenderBuffer * CRendererDXVA::CreateBuffer ( )
overrideprotectedvirtual

Implements CRendererBase.

◆ GetDXGIFormat()

DXGI_FORMAT CRendererDXVA::GetDXGIFormat ( AVPixelFormat format,
DXGI_FORMAT default_fmt )
static

◆ GetRenderInfo()

CRenderInfo CRendererDXVA::GetRenderInfo ( )
overridevirtual

Reimplemented from CRendererBase.

◆ GetRenderMethodDebugInfo()

std::string CRendererDXVA::GetRenderMethodDebugInfo ( ) const
protectedvirtual

Reimplemented from CRendererBase.

◆ GetWeight()

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

◆ NeedBuffer()

bool CRendererDXVA::NeedBuffer ( int idx)
overridevirtual

Reimplemented from CRendererBase.

◆ RenderImpl()

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

Implements CRendererBase.

◆ Supports() [1/2]

bool CRendererDXVA::Supports ( ERENDERFEATURE feature) const
overridevirtual

Reimplemented from CRendererBase.

◆ Supports() [2/2]

bool CRendererDXVA::Supports ( ESCALINGMETHOD method) const
overridevirtual

Implements CRendererBase.

◆ WantsDoublePass()

bool CRendererDXVA::WantsDoublePass ( )
inlineoverridevirtual

Reimplemented from CRendererBase.


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