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 CVideoBufferFFmpeg CVideoBufferSysMem DXVA::CDXVAOutputBuffer IVideoBufferDRMPRIME 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 MMAL::CMMALYUVBuffer, and CVideoBufferSysMem.

◆ 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 MMAL::CMMALYUVBuffer, and CVideoBufferSysMem.

◆ 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 MMAL::CMMALYUVBuffer, and CVideoBufferSysMem.

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: