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

#include <VideoBuffer.h>

Inheritance diagram for CVideoBufferSysMem:
CVideoBuffer

Public Member Functions

 CVideoBufferSysMem (IVideoBufferPool &pool, int id, AVPixelFormat format, int size)
 
 ~CVideoBufferSysMem () override
 
uint8_tGetMemPtr () override
 
void GetPlanes (uint8_t *(&planes)[YuvImage::MAX_PLANES]) override
 
void GetStrides (int(&strides)[YuvImage::MAX_PLANES]) override
 
void SetPixelFormat (const AVPixelFormat pixFormat) override
 
void SetDimensions (int width, int height, const int(&strides)[YuvImage::MAX_PLANES]) override
 
void SetDimensions (int width, int height, const int(&strides)[YuvImage::MAX_PLANES], const int(&planeOffsets)[YuvImage::MAX_PLANES]) override
 
bool Alloc ()
 
- Public Member Functions inherited from CVideoBuffer
 CVideoBuffer ()=delete
 
virtual ~CVideoBuffer ()=default
 
void Acquire ()
 
void Acquire (std::shared_ptr< IVideoBufferPool > pool)
 
void Release ()
 
int GetId () const
 
virtual AVPixelFormat GetFormat ()
 
virtual void SyncStart ()
 Begin CPU access to the buffer memory.
 
virtual void SyncEnd ()
 End CPU access to the buffer memory. Counterpart to SyncStart().
 
virtual AVDRMFrameDescriptor * GetDescriptor () const
 Return an AVDRMFrameDescriptor for platform-buffer-aware callers.
 

Protected Attributes

int m_width = 0
 
int m_height = 0
 
int m_size = 0
 
uint8_tm_data = nullptr
 
YuvImage m_image
 
- 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
 

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)
 
- Protected Member Functions inherited from CVideoBuffer
 CVideoBuffer (int id)
 

Constructor & Destructor Documentation

◆ CVideoBufferSysMem()

CVideoBufferSysMem::CVideoBufferSysMem ( IVideoBufferPool pool,
int  id,
AVPixelFormat  format,
int  size 
)

◆ ~CVideoBufferSysMem()

CVideoBufferSysMem::~CVideoBufferSysMem ( )
override

Member Function Documentation

◆ Alloc()

bool CVideoBufferSysMem::Alloc ( )

◆ GetMemPtr()

uint8_t * CVideoBufferSysMem::GetMemPtr ( )
overridevirtual

Reimplemented from CVideoBuffer.

◆ GetPlanes()

void CVideoBufferSysMem::GetPlanes ( uint8_t *(&)  planes[YuvImage::MAX_PLANES])
overridevirtual

Reimplemented from CVideoBuffer.

◆ GetStrides()

void CVideoBufferSysMem::GetStrides ( int(&)  strides[YuvImage::MAX_PLANES])
overridevirtual

Reimplemented from CVideoBuffer.

◆ SetDimensions() [1/2]

void CVideoBufferSysMem::SetDimensions ( int  width,
int  height,
const int(&)  strides[YuvImage::MAX_PLANES] 
)
overridevirtual

Reimplemented from CVideoBuffer.

◆ SetDimensions() [2/2]

void CVideoBufferSysMem::SetDimensions ( int  width,
int  height,
const int(&)  strides[YuvImage::MAX_PLANES],
const int(&)  planeOffsets[YuvImage::MAX_PLANES] 
)
overridevirtual

Reimplemented from CVideoBuffer.

◆ SetPixelFormat()

void CVideoBufferSysMem::SetPixelFormat ( const AVPixelFormat  pixFormat)
overridevirtual

Reimplemented from CVideoBuffer.

Member Data Documentation

◆ m_data

uint8_t* CVideoBufferSysMem::m_data = nullptr
protected

◆ m_height

int CVideoBufferSysMem::m_height = 0
protected

◆ m_image

YuvImage CVideoBufferSysMem::m_image
protected

◆ m_size

int CVideoBufferSysMem::m_size = 0
protected

◆ m_width

int CVideoBufferSysMem::m_width = 0
protected

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