26#include <libavutil/frame.h>
27#include <libavutil/hwcontext_drm.h>
34#define RENDERBUFFERS 36
56 cDrmBuffer(
int, uint32_t, uint32_t, uint32_t,
struct gbm_bo *);
59 void Setup(
int, uint32_t, uint32_t, uint32_t, AVDRMFrameDescriptor *,
bool);
135 struct gbm_bo *m_pBo;
cDrmBuffer * FindUninitilized(void)
cDrmBuffer * FindByDmaBufHandle(int)
cDrmBuffer * FindNoPresentationPending(void)
void DestroyAllExcept(cDrmBuffer *)
void SetNumPlanes(int numPlanes)
void SetSizeOnScreen(int x, int y, int w, int h)
bool m_dirty
true, if the buffer is dirty (it was written to)
cDrmBuffer(void)
cDrmBuffer constructor
bool m_destroyAfterUse
true, if buffer should be destroyed after use
void SetPixFmt(uint32_t pixFmt)
int m_objIdx[4]
index of the objects
bool m_closeHandleOnDestroy
true, if DMA-BUF handle should be closed on destroy
void Setup(int, uint32_t, uint32_t, uint32_t, AVDRMFrameDescriptor *, bool)
Setup the buffer.
cRect m_rectOnScreen
dimensions on screen - set at pageflip, needed for grab
int m_numObjects
number of prime objects in the buffer
void SetOffset(int idx, uint32_t offset)
uint32_t m_fbId
framebuffer id
bool IsPresentationPending(void)
void SetNumObjects(int numObjects)
void SetSize(int idx, uint32_t size)
uint32_t m_width
buffer width
uint32_t m_offset[4]
array of the plane offset
cRect GetScreenRect(void)
uint32_t m_pitch[4]
array of the plane pitch
void SetPitch(int idx, uint32_t pitch)
void FillBlack(void)
Color the buffer black.
uint32_t PrimeHandle(int idx)
AVFrame * frame
associated AVFrame
void SetHandle(int idx, uint32_t handle)
uint32_t m_objectPrimeHandle[4]
primedata objects prime handles (count is numObjects, index is objIdx)
int m_dmaBufHandle[4]
DMA-BUF file descriptor.
uint32_t m_pixFmt
buffer pixel format
uint32_t * PrimeHandle(void)
void SetObjectIndex(int idx, uint32_t objIdx)
int m_drmDeviceFd
drm device file descriptor
uint32_t m_height
buffer height
void SetPresentationPending(bool pending)
void SetWidth(uint32_t width)
void PresentationFinished(void)
bool m_presentationPending
true, if buffer is pending presentation
uint8_t * m_pPlane[4]
array of the plane data
void SetHeight(uint32_t height)
void Destroy(void)
Clear and destroy the buffer object and its parameters.
uint32_t m_size[4]
array of the plane size
void SetDmaBufHandle(uint32_t fd)
uint32_t m_planePrimeHandle[4]
array of the plane handles
int m_numPlanes
number of planes in the buffer
void SetDestroyAfterUse(bool val)
#define RENDERBUFFERS
number of render video buffers