123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #ifndef _OPENGLWIDGETAPI_H_
- #define _OPENGLWIDGETAPI_H_
- #include <QWidget>
- #include <QString>
- /**
- * @brief YUV420图片格式
- *
- */
- struct Image_YUV420P
- {
- int width; /* 宽度 */
- int height; /* 高度 */
- QByteArray yData; /* Y分量数据 */
- QByteArray uData; /* U分量数据 */
- QByteArray vData; /* V分量数据 */
- Image_YUV420P() : width(0), height(0) {}
- Image_YUV420P(Image_YUV420P&& other);
- Image_YUV420P(const Image_YUV420P& other);
- Image_YUV420P& operator=(Image_YUV420P&& other);
- Image_YUV420P& operator=(const Image_YUV420P& other);
- bool isValid() const;
- void clear();
- };
- /* 加载动态库 */
- bool loadOpenGLWidgetLibrary();
- /* 创建OpenGL窗口,返回QWidget指针 */
- QWidget* createOpenGLWidget(QWidget* parent = nullptr);
- /* 销毁OpenGL窗口 */
- void destroyOpenGLWidget(QWidget* widget);
- /* 刷新一帧RGBA图片 */
- void refreshRGBAImage(QWidget* widget, QImage& image);
- /* 刷新一帧YUV420图片 */
- void refreshYUV420Image(QWidget* widget, Image_YUV420P& yuvData);
- #endif // _OPENGLWIDGETAPI_H_
|