5#ifndef QLINUXMEDIADEVICE_H
6#define QLINUXMEDIADEVICE_H
8#include <linux/v4l2-mediabus.h>
10#include <QtCore/qglobal.h>
11#include <QtCore/QString>
27 struct media_link *
parseLink(
const QString &link);
28 struct media_pad *
parsePad(
const QString &pad);
31 struct media_entity *
getEntity(
const QString &name);
38 bool setFormat(
const QSize &size, uint32_t pixelFormat = V4L2_PIX_FMT_ABGR32);
41 bool queueBuffer(
int dmabufFd,
const QSize &bufferSize);
53 bool setFormat(
const QSize &size, uint32_t pixelFormat, uint32_t bytesPerLine);
56 bool queueBuffer(
int dmabufFd, uint bytesUsed, uint length);
65 static bool setSubdevFormat(
struct media_pad *pad,
const QSize &size, uint32_t mbusFormat = MEDIA_BUS_FMT_ARGB8888_1X32);
68 static bool setSubdevSelection(
struct media_pad *pad,
const QRect &geometry, uint target);
69 static bool setSubdevCrop(
struct media_pad *pad,
const QRect &geometry);
73 static bool streamOn(
int subDeviceFd, v4l2_buf_type bufferType);
74 static bool streamOff(
int subDeviceFd, v4l2_buf_type bufferType);
75 struct media_device *m_mediaDevice =
nullptr;
76 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)
Combined button and popup list for selecting options.