Kodi Documentation  18.0
Kodi is an open source media player and entertainment hub.
CVideoBuffer Class Reference

#include <VideoBuffer.h>

Inheritance diagram for CVideoBuffer:
CAMLVideoBuffer CMediaCodecVideoBuffer CVideoBufferDRMPRIME CVideoBufferFFmpeg CVideoBufferSysMem DXVA::CDXVAOutputBuffer MMAL::CMMALBuffer VAAPI::CVaapiRenderPicture VDPAU::CVdpauRenderPicture VTB::CVideoBufferVTB

Public Member Functions

 CVideoBuffer ()=delete
 
virtual ~CVideoBuffer ()=default
 
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 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])
 

Static Public Member Functions

static bool CopyPicture (YuvImage *pDst, YuvImage *pSrc)
 
static bool CopyNV12Picture (YuvImage *pDst, YuvImage *pSrc)
 
static bool CopyYUV422PackedPicture (YuvImage *pDst, YuvImage *pSrc)
 

Protected Member Functions

 CVideoBuffer (int id)
 

Protected Attributes

AVPixelFormat m_pixFormat = AV_PIX_FMT_NONE
 
std::atomic_int m_refCount
 
int m_id
 
std::shared_ptr< IVideoBufferPoolm_pool
 

Constructor & Destructor Documentation

§ CVideoBuffer() [1/2]

CVideoBuffer::CVideoBuffer ( )
delete

§ ~CVideoBuffer()

virtual CVideoBuffer::~CVideoBuffer ( )
virtualdefault

§ CVideoBuffer() [2/2]

CVideoBuffer::CVideoBuffer ( int  id)
explicitprotected

Member Function Documentation

§ Acquire() [1/2]

void CVideoBuffer::Acquire ( )

§ Acquire() [2/2]

void CVideoBuffer::Acquire ( std::shared_ptr< IVideoBufferPool pool)

§ CopyNV12Picture()

bool CVideoBuffer::CopyNV12Picture ( YuvImage pDst,
YuvImage pSrc 
)
static

§ CopyPicture()

bool CVideoBuffer::CopyPicture ( YuvImage pDst,
YuvImage pSrc 
)
static

§ CopyYUV422PackedPicture()

bool CVideoBuffer::CopyYUV422PackedPicture ( YuvImage pDst,
YuvImage pSrc 
)
static

§ GetFormat()

AVPixelFormat CVideoBuffer::GetFormat ( )
virtual

§ GetId()

int CVideoBuffer::GetId ( ) const
inline

§ GetMemPtr()

virtual uint8_t* CVideoBuffer::GetMemPtr ( )
inlinevirtual

Reimplemented in CVideoBufferSysMem, and MMAL::CMMALYUVBuffer.

§ GetPlanes()

virtual void CVideoBuffer::GetPlanes ( uint8_t *(&)  planes[YuvImage::MAX_PLANES])
inlinevirtual

§ GetStrides()

virtual void CVideoBuffer::GetStrides ( int(&)  strides[YuvImage::MAX_PLANES])
inlinevirtual

§ Release()

void CVideoBuffer::Release ( )

§ SetDimensions() [1/2]

virtual void CVideoBuffer::SetDimensions ( int  width,
int  height,
const int(&)  strides[YuvImage::MAX_PLANES] 
)
inlinevirtual

Reimplemented in CVideoBufferSysMem, and MMAL::CMMALYUVBuffer.

§ SetDimensions() [2/2]

virtual void CVideoBuffer::SetDimensions ( int  width,
int  height,
const int(&)  strides[YuvImage::MAX_PLANES],
const int(&)  planeOffsets[YuvImage::MAX_PLANES] 
)
inlinevirtual

Reimplemented in CVideoBufferSysMem, and MMAL::CMMALYUVBuffer.

Member Data Documentation

§ m_id

int CVideoBuffer::m_id
protected

§ m_pixFormat

AVPixelFormat CVideoBuffer::m_pixFormat = AV_PIX_FMT_NONE
protected

§ m_pool

std::shared_ptr<IVideoBufferPool> CVideoBuffer::m_pool
protected

§ m_refCount

std::atomic_int CVideoBuffer::m_refCount
protected

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