Resolved the issue where captured images were appearing upside down or flipped. Implemented a final vertical flip on the QImage after reading from the OpenGL Framebuffer Object (FBO) to ensure correct orientation before sending to Hyperion. This completes the basic hardware-accelerated scaling pipeline.
138 lines
4.6 KiB
C++
138 lines
4.6 KiB
C++
/****************************************************************************
|
|
** Meta object code from reading C++ file 'hyperiongrabber.h'
|
|
**
|
|
** Created by: The Qt Meta Object Compiler version 69 (Qt 6.9.1)
|
|
**
|
|
** WARNING! All changes made in this file will be lost!
|
|
*****************************************************************************/
|
|
|
|
#include "../../hyperiongrabber.h"
|
|
#include <QtGui/qscreen.h>
|
|
#include <QtCore/qmetatype.h>
|
|
|
|
#include <QtCore/qtmochelpers.h>
|
|
|
|
#include <memory>
|
|
|
|
|
|
#include <QtCore/qxptype_traits.h>
|
|
#if !defined(Q_MOC_OUTPUT_REVISION)
|
|
#error "The header file 'hyperiongrabber.h' doesn't include <QObject>."
|
|
#elif Q_MOC_OUTPUT_REVISION != 69
|
|
#error "This file was generated using the moc from 6.9.1. It"
|
|
#error "cannot be used with the include files from this version of Qt."
|
|
#error "(The moc has changed too much.)"
|
|
#endif
|
|
|
|
#ifndef Q_CONSTINIT
|
|
#define Q_CONSTINIT
|
|
#endif
|
|
|
|
QT_WARNING_PUSH
|
|
QT_WARNING_DISABLE_DEPRECATED
|
|
QT_WARNING_DISABLE_GCC("-Wuseless-cast")
|
|
namespace {
|
|
struct qt_meta_tag_ZN15HyperionGrabberE_t {};
|
|
} // unnamed namespace
|
|
|
|
template <> constexpr inline auto HyperionGrabber::qt_create_metaobjectdata<qt_meta_tag_ZN15HyperionGrabberE_t>()
|
|
{
|
|
namespace QMC = QtMocConstants;
|
|
QtMocHelpers::StringRefStorage qt_stringData {
|
|
"HyperionGrabber",
|
|
"_inActivity",
|
|
"",
|
|
"_processFrame",
|
|
"QVideoFrame",
|
|
"frame",
|
|
"_setImgSize",
|
|
"width",
|
|
"height"
|
|
};
|
|
|
|
QtMocHelpers::UintData qt_methods {
|
|
// Slot '_inActivity'
|
|
QtMocHelpers::SlotData<void()>(1, 2, QMC::AccessPrivate, QMetaType::Void),
|
|
// Slot '_processFrame'
|
|
QtMocHelpers::SlotData<void(const QVideoFrame &)>(3, 2, QMC::AccessPrivate, QMetaType::Void, {{
|
|
{ 0x80000000 | 4, 5 },
|
|
}}),
|
|
// Slot '_setImgSize'
|
|
QtMocHelpers::SlotData<void(int, int)>(6, 2, QMC::AccessPrivate, QMetaType::Void, {{
|
|
{ QMetaType::Int, 7 }, { QMetaType::Int, 8 },
|
|
}}),
|
|
};
|
|
QtMocHelpers::UintData qt_properties {
|
|
};
|
|
QtMocHelpers::UintData qt_enums {
|
|
};
|
|
return QtMocHelpers::metaObjectData<HyperionGrabber, qt_meta_tag_ZN15HyperionGrabberE_t>(QMC::MetaObjectFlag{}, qt_stringData,
|
|
qt_methods, qt_properties, qt_enums);
|
|
}
|
|
Q_CONSTINIT const QMetaObject HyperionGrabber::staticMetaObject = { {
|
|
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
|
|
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN15HyperionGrabberE_t>.stringdata,
|
|
qt_staticMetaObjectStaticContent<qt_meta_tag_ZN15HyperionGrabberE_t>.data,
|
|
qt_static_metacall,
|
|
nullptr,
|
|
qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN15HyperionGrabberE_t>.metaTypes,
|
|
nullptr
|
|
} };
|
|
|
|
void HyperionGrabber::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
|
{
|
|
auto *_t = static_cast<HyperionGrabber *>(_o);
|
|
if (_c == QMetaObject::InvokeMetaMethod) {
|
|
switch (_id) {
|
|
case 0: _t->_inActivity(); break;
|
|
case 1: _t->_processFrame((*reinterpret_cast< std::add_pointer_t<QVideoFrame>>(_a[1]))); break;
|
|
case 2: _t->_setImgSize((*reinterpret_cast< std::add_pointer_t<int>>(_a[1])),(*reinterpret_cast< std::add_pointer_t<int>>(_a[2]))); break;
|
|
default: ;
|
|
}
|
|
}
|
|
if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
|
switch (_id) {
|
|
default: *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType(); break;
|
|
case 1:
|
|
switch (*reinterpret_cast<int*>(_a[1])) {
|
|
default: *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType(); break;
|
|
case 0:
|
|
*reinterpret_cast<QMetaType *>(_a[0]) = QMetaType::fromType< QVideoFrame >(); break;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
const QMetaObject *HyperionGrabber::metaObject() const
|
|
{
|
|
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
|
}
|
|
|
|
void *HyperionGrabber::qt_metacast(const char *_clname)
|
|
{
|
|
if (!_clname) return nullptr;
|
|
if (!strcmp(_clname, qt_staticMetaObjectStaticContent<qt_meta_tag_ZN15HyperionGrabberE_t>.strings))
|
|
return static_cast<void*>(this);
|
|
return QObject::qt_metacast(_clname);
|
|
}
|
|
|
|
int HyperionGrabber::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
|
{
|
|
_id = QObject::qt_metacall(_c, _id, _a);
|
|
if (_id < 0)
|
|
return _id;
|
|
if (_c == QMetaObject::InvokeMetaMethod) {
|
|
if (_id < 3)
|
|
qt_static_metacall(this, _c, _id, _a);
|
|
_id -= 3;
|
|
}
|
|
if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
|
if (_id < 3)
|
|
qt_static_metacall(this, _c, _id, _a);
|
|
_id -= 3;
|
|
}
|
|
return _id;
|
|
}
|
|
QT_WARNING_POP
|