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

#include <DXVA.h>

Inheritance diagram for DXVA::CVideoBufferShared:
DXVA::CVideoBuffer CVideoBuffer DXVA::CVideoBufferCopy

Public Member Functions

HRESULT GetResource (ID3D11Resource **ppResource) override
 
void Initialize (CDecoder *decoder) override
 
virtual ~CVideoBufferShared ()
 
- Public Member Functions inherited from DXVA::CVideoBuffer
virtual ~CVideoBuffer ()
 
void SetRef (AVFrame *frame)
 
void Unref ()
 
virtual unsigned GetIdx ()
 
- Public Member Functions inherited from CVideoBuffer
 CVideoBuffer ()=delete
 
void Acquire ()
 
void Acquire (std::shared_ptr< IVideoBufferPool > pool)
 
void Release ()
 
int GetId () const
 
virtual AVPixelFormat GetFormat ()
 
virtual uint8_tGetMemPtr ()
 
virtual void GetPlanes (uint8_t *(&planes)[YuvImage::MAX_PLANES])
 
virtual void GetStrides (int(&strides)[YuvImage::MAX_PLANES])
 
virtual void SetPixelFormat (const AVPixelFormat pixFormat)
 
virtual void SetDimensions (int width, int height, const int(&strides)[YuvImage::MAX_PLANES])
 
virtual void SetDimensions (int width, int height, const int(&strides)[YuvImage::MAX_PLANES], const int(&planeOffsets)[YuvImage::MAX_PLANES])
 

Protected Member Functions

 CVideoBufferShared (int id)
 
void InitializeFence (CDecoder *decoder)
 
void SetFence ()
 
- Protected Member Functions inherited from DXVA::CVideoBuffer
 CVideoBuffer (int id)
 
- Protected Member Functions inherited from CVideoBuffer
 CVideoBuffer (int id)
 

Protected Attributes

HANDLE handle = INVALID_HANDLE_VALUE
 
Microsoft::WRL::ComPtr< ID3D11Resource > m_sharedRes
 
Microsoft::WRL::ComPtr< ID3D11Fence > m_fence
 decoder-side fence object
 
Microsoft::WRL::ComPtr< ID3D11DeviceContext4 > m_deviceContext4
 decoder-side context
 
HANDLE m_handleFence {INVALID_HANDLE_VALUE}
 fence shared handle that allows opening the fence on a different device
 
UINT64 m_fenceValue {0}
 
Microsoft::WRL::ComPtr< ID3D11Fence > m_appFence
 app-side fence object
 
Microsoft::WRL::ComPtr< ID3D11DeviceContext4 > m_appContext4
 app-side context
 
- Protected Attributes inherited from CVideoBuffer
AVPixelFormat m_pixFormat = AV_PIX_FMT_NONE
 
std::atomic_int m_refCount
 
int m_id
 
std::shared_ptr< IVideoBufferPoolm_pool
 

Friends

template<typename TBuffer >
class CVideoBufferPoolTyped
 

Additional Inherited Members

- Static Public Member Functions inherited from CVideoBuffer
static bool CopyPicture (YuvImage *pDst, YuvImage *pSrc)
 
static bool CopyNV12Picture (YuvImage *pDst, YuvImage *pSrc)
 
static bool CopyYUV422PackedPicture (YuvImage *pDst, YuvImage *pSrc)
 
- Public Attributes inherited from DXVA::CVideoBuffer
ID3D11View * view = nullptr
 
DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN
 
unsigned width = 0
 
unsigned height = 0
 

Constructor & Destructor Documentation

◆ ~CVideoBufferShared()

CVideoBufferShared::~CVideoBufferShared ( )
virtual

◆ CVideoBufferShared()

DXVA::CVideoBufferShared::CVideoBufferShared ( int id)
inlineexplicitprotected

Member Function Documentation

◆ GetResource()

HRESULT CVideoBufferShared::GetResource ( ID3D11Resource ** ppResource)
overridevirtual

Reimplemented from DXVA::CVideoBuffer.

◆ Initialize()

void CVideoBufferShared::Initialize ( CDecoder * decoder)
overridevirtual

Reimplemented from DXVA::CVideoBuffer.

◆ InitializeFence()

void CVideoBufferShared::InitializeFence ( CDecoder * decoder)
protected

◆ SetFence()

void CVideoBufferShared::SetFence ( )
protected

Friends And Related Symbol Documentation

◆ CVideoBufferPoolTyped

template<typename TBuffer >
friend class CVideoBufferPoolTyped
friend

Member Data Documentation

◆ handle

HANDLE DXVA::CVideoBufferShared::handle = INVALID_HANDLE_VALUE
protected

◆ m_appContext4

Microsoft::WRL::ComPtr<ID3D11DeviceContext4> DXVA::CVideoBufferShared::m_appContext4
protected

app-side context

◆ m_appFence

Microsoft::WRL::ComPtr<ID3D11Fence> DXVA::CVideoBufferShared::m_appFence
protected

app-side fence object

◆ m_deviceContext4

Microsoft::WRL::ComPtr<ID3D11DeviceContext4> DXVA::CVideoBufferShared::m_deviceContext4
protected

decoder-side context

◆ m_fence

Microsoft::WRL::ComPtr<ID3D11Fence> DXVA::CVideoBufferShared::m_fence
protected

decoder-side fence object

◆ m_fenceValue

UINT64 DXVA::CVideoBufferShared::m_fenceValue {0}
protected

◆ m_handleFence

HANDLE DXVA::CVideoBufferShared::m_handleFence {INVALID_HANDLE_VALUE}
protected

fence shared handle that allows opening the fence on a different device

◆ m_sharedRes

Microsoft::WRL::ComPtr<ID3D11Resource> DXVA::CVideoBufferShared::m_sharedRes
protected

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