4#ifndef QLINUXMEDIADEVICE_H
5#define QLINUXMEDIADEVICE_H
7#include <linux/v4l2-mediabus.h>
9#include <QtCore/qglobal.h>
10#include <QtCore/QString>
26 struct media_link *
parseLink(
const QString &link);
27 struct media_pad *
parsePad(
const QString &pad);
30 struct media_entity *
getEntity(
const QString &name);
37 bool setFormat(
const QSize &size, uint32_t pixelFormat = V4L2_PIX_FMT_ABGR32);
40 bool queueBuffer(
int dmabufFd,
const QSize &bufferSize);
52 bool setFormat(
const QSize &size, uint32_t pixelFormat, uint32_t bytesPerLine);
55 bool queueBuffer(
int dmabufFd, uint bytesUsed, uint length);
64 static bool setSubdevFormat(
struct media_pad *pad,
const QSize &size, uint32_t mbusFormat = MEDIA_BUS_FMT_ARGB8888_1X32);
67 static bool setSubdevSelection(
struct media_pad *pad,
const QRect &geometry, uint target);
68 static bool setSubdevCrop(
struct media_pad *pad,
const QRect &geometry);
72 static bool streamOn(
int subDeviceFd, v4l2_buf_type bufferType);
73 static bool streamOff(
int subDeviceFd, v4l2_buf_type bufferType);
74 struct media_device *m_mediaDevice =
nullptr;
75 const struct media_device_info *m_info =
nullptr;
gbm_device * gbmDevice() const
void * nativeDisplay() const override
QEglFSKmsVsp2Device(QKmsScreenConfig *screenConfig, const QString &path)
void registerScreenCloning(QPlatformScreen *screen, QPlatformScreen *screenThisScreenClones, const QList< QPlatformScreen * > &screensCloningThisScreen) override
QPlatformScreen * createHeadlessScreen() override
QPlatformScreen * createScreen(const QKmsOutput &output) override
bool removeLayer(int id) override
void setLayerPosition(int id, const QPoint &position) override
gbm_surface * createSurface()
void setLayerBuffer(int id, int dmabufFd) override
void addBlendListener(void(*callback)()) override
int addLayer(int dmabufFd, const QSize &size, const QPoint &position, uint drmPixelFormat, uint bytesPerLine) override
void setLayerAlpha(int id, qreal alpha) override
void initDumbFrameBuffers()
QEglFSKmsVsp2Screen(QEglFSKmsDevice *device, const QKmsOutput &output)
QVsp2BlendingDevice(const QSize &screenSize)
int enableInput(const QRect &bufferGeometry, uint drmFormat, uint bytesPerLine)
bool blend(int outputDmabufFd)
bool hasContinuousLayers() const
bool setInputBuffer(int index, int dmabufFd)
bool enableInput(int i, const QRect &bufferGeometry, uint drmFormat, uint bytesPerLine)
bool setInputPosition(int index, const QPoint &position)
bool setInputAlpha(int index, qreal alpha)