xbmc
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
DXVA::CVideoBufferShared Class Reference
Inheritance diagram for DXVA::CVideoBufferShared:
Inheritance graph
[legend]
Collaboration diagram for DXVA::CVideoBufferShared:
Collaboration graph
[legend]

Public Member Functions

HRESULT GetResource (ID3D11Resource **ppResource) override
 
void Initialize (CDecoder *decoder) override
 
- Public Member Functions inherited from DXVA::CVideoBuffer
void SetRef (AVFrame *frame)
 
void Unref ()
 
virtual unsigned GetIdx ()
 
- Public Member Functions inherited from CVideoBuffer
void Acquire ()
 
void Acquire (std::shared_ptr< IVideoBufferPool > pool)
 
void Release ()
 
int GetId () const
 
virtual AVPixelFormat GetFormat ()
 
virtual uint8_t * GetMemPtr ()
 
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
 

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