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

#include <VideoBufferDMA.h>

Inheritance diagram for CVideoBufferDMA:
CVideoBufferDRMPRIMEFFmpeg CVideoBufferDRMPRIME CVideoBuffer

Public Member Functions

 CVideoBufferDMA (IVideoBufferPool &pool, int id, uint32_t fourcc, uint64_t size)
 
 ~CVideoBufferDMA () override
 
uint32_t GetWidth () const override
 
uint32_t GetHeight () const override
 
AVDRMFrameDescriptor * GetDescriptor () const override
 
void GetPlanes (uint8_t *(&planes)[YuvImage::MAX_PLANES]) override
 
void GetStrides (int(&strides)[YuvImage::MAX_PLANES]) override
 
uint8_tGetMemPtr () 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
 
void SetDimensions (int width, int height)
 
bool Alloc ()
 
void Export (AVFrame *frame, uint32_t width, uint32_t height)
 
void SyncStart ()
 
void SyncEnd ()
 
- Public Member Functions inherited from CVideoBufferDRMPRIMEFFmpeg
 CVideoBufferDRMPRIMEFFmpeg (IVideoBufferPool &pool, int id)
 
 ~CVideoBufferDRMPRIMEFFmpeg () override
 
void SetRef (AVFrame *frame)
 
void Unref ()
 
AVDRMFrameDescriptor * GetDescriptor () const override
 
bool IsValid () const override
 
- Public Member Functions inherited from CVideoBufferDRMPRIME
 CVideoBufferDRMPRIME ()=delete
 
 ~CVideoBufferDRMPRIME () override=default
 
virtual void SetPictureParams (const VideoPicture &picture)
 
virtual const VideoPictureGetPicture () const
 
virtual bool AcquireDescriptor ()
 
virtual void ReleaseDescriptor ()
 
- 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 SetPixelFormat (const AVPixelFormat pixFormat)
 

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 CVideoBufferDRMPRIME
uint32_t m_fb_id = 0
 
uint32_t m_handles [AV_DRM_MAX_PLANES] = {}
 
- Protected Member Functions inherited from CVideoBufferDRMPRIME
 CVideoBufferDRMPRIME (int id)
 
- Protected Member Functions inherited from CVideoBuffer
 CVideoBuffer (int id)
 
- Protected Attributes inherited from CVideoBufferDRMPRIMEFFmpeg
AVFrame * m_pFrame = nullptr
 
- Protected Attributes inherited from CVideoBufferDRMPRIME
VideoPicture m_picture
 
- 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
 

Constructor & Destructor Documentation

◆ CVideoBufferDMA()

CVideoBufferDMA::CVideoBufferDMA ( IVideoBufferPool & pool,
int id,
uint32_t fourcc,
uint64_t size )

◆ ~CVideoBufferDMA()

CVideoBufferDMA::~CVideoBufferDMA ( )
override

Member Function Documentation

◆ Alloc()

bool CVideoBufferDMA::Alloc ( )

◆ Export()

void CVideoBufferDMA::Export ( AVFrame * frame,
uint32_t width,
uint32_t height )

◆ GetDescriptor()

AVDRMFrameDescriptor * CVideoBufferDMA::GetDescriptor ( ) const
overridevirtual

Implements CVideoBufferDRMPRIME.

◆ GetHeight()

uint32_t CVideoBufferDMA::GetHeight ( ) const
inlineoverridevirtual

Reimplemented from CVideoBufferDRMPRIME.

◆ GetMemPtr()

uint8_t * CVideoBufferDMA::GetMemPtr ( )
overridevirtual

Reimplemented from CVideoBuffer.

◆ GetPlanes()

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

Reimplemented from CVideoBuffer.

◆ GetStrides()

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

Reimplemented from CVideoBuffer.

◆ GetWidth()

uint32_t CVideoBufferDMA::GetWidth ( ) const
inlineoverridevirtual

Reimplemented from CVideoBufferDRMPRIME.

◆ SetDimensions() [1/3]

void CVideoBufferDMA::SetDimensions ( int width,
int height )

◆ SetDimensions() [2/3]

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

Reimplemented from CVideoBuffer.

◆ SetDimensions() [3/3]

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

Reimplemented from CVideoBuffer.

◆ SyncEnd()

void CVideoBufferDMA::SyncEnd ( )

◆ SyncStart()

void CVideoBufferDMA::SyncStart ( )

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