QT5.15.2源码编译后在君正MIPS架构运行播放实时视频流
问题背景:
公司新项目需要使用君正T40 soc,平台是 MIPS 架构,但是君正在此平台未开发出图形界面工具,项目需要人机交互,于是需要使用QT实现相关需求。
问题描述:
下载QT5.15.2源码(下载地址,QT6的编译和5不太一样,这里领导要求使用QT5,不敢违抗),使用君正平台mips编译工具链编译 QT5.15.2 源码后拷贝库文件到君正T40开发板,写了一个简单的QT应用程序无法运行。报错信息如下:
[root@Zeratul:tmp]# ./qttest
QWidget::paintEngine: Should no longer be called
QPainter::begin: Paint device returned engine == 0, type: 1
QPainter::pen: Painter not active
QPainter::setPen: Painter not active
QPainter::setPen: Painter not active
QPainter::begin: Paint device returned engine == 0, type: 3
QPainter::setCompositionMode: Painter not active
QPainter::begin: Paint device returned engine == 0, type: 3
QPainter::setCompositionMode: Painter not active
QWidget::paintEngine: Should no longer be called
QPainter::begin: Paint device returned engine == 0, type: 1
QPainter::pen: Painter not active
QPainter::setPen: Painter not active
QPainter::setPen: Painter not active
QWidget::paintEngine: Should no longer be called
QPainter::begin: Paint device returned engine == 0, type: 1
QPainter::pen: Painter not active
QPainter::setPen: Painter not active
QPainter::setPen: Painter not active
QPainter::setCompositionMode: Painter not active
QPainter::setCompositionMode: Painter not active
本来以为一切顺风,没成想出现这幺蛾子。作为一名资深的程序员,遇见问题三大步,百度–谷歌–放弃,好吧,都是一无所获。老老实实看QT源码吧,一遍一遍的看,最后发现QT支持的彩色模式不支持NV12,而君正主做camera大部分用的是NV12的彩色模式。
知道原因了就直接改吧。修改平台彩色模式,在kernel里make menuconfig下:依次进入Device Driver --> Graphics support --> Frame buffer Devices --> Ingenic Framebuffer Driver --> Ingenic Framebuffer Driver for Version 12 --> Current Color Mode ,这里我们选择比较小的 RGB565,如果需要a通道可以选择QT支持的其他彩色模式如ARGBxxx。
配置完成后,就make clean,make uImage,刷机运行吧。
完美,随后把sharebuffer集成到QT成功播放了实时视频流数据。主要是君正的camera没有相应的设备节点给QT调用取流,君正是提供他们相应的sdk来获取实时流,而这个实时流设备端的主进程需要优先使用,这里就选项了共享buffer机制给QT供实时流数据。
QT5.15.2源码编译后在君正MIPS架构运行播放实时视频流相关推荐
- 在龙芯3a5000处理器上进行qt-5.11.3源码编译流程与遇到的问题
1.环境说明 处理器:Loongson-3A5000M 统信桌面操作系统 Linux 注意网上很多帖写的都是适用于龙芯3a4000的,龙芯3a4000指令集是mips,龙芯3a5000指令集为Loon ...
- android 编译完后镜像在哪个文件夹,Android源码编译后
在out/target/product/generic下生成的三个镜像文件:ramdisk.img,system.img,userdata.img以及它们对应的目录树root,system,data. ...
- Linux环境下Arm端源码编译OpenCV+ncnn目标检测模型实例运行调试完整实践记录
今天需要在嵌入式设备端运行C的程序,里面有依赖OpenCV的部分,这就需要编译安装好OpenCV才行,这个对于我来说还是比较陌生的,我很少用C,所以这里面也没少折腾,一路上遇上了很多的报错,这里我将完 ...
- 【Flink源码篇】Flink 1.15.0源码编译
目录 1. 下载源码并解压 2. Flink项目配置 3. 源码编译 4. 编译问题记录 5. IDEA调试Flink程序 1. 下载源码并解压 从github下载Flink的源码:https://g ...
- openfire源码编译后部署到linux
1.源码通过编号后,会生成target目录,直接把target目录拷贝到linux下即可: 2.启动openfire: ./openfire.sh start 3.退出直接ctr + c 问题:如果一 ...
- [Android Pro] Android源码编译后,再重编译所需要做的清理工作
1.在源码目录的根目录下,make clean; 2.进到源码的\linux\kernel\目录下,执行make mrproper: 3.再退回到根目录,执行source build/envsetu ...
- LNMP源码编译安装及一键部署LNMP架构
目录 一.LNMP 1.LNMP介绍 1.1 LNMP工作原理 1.2.LAMP工作原理 2.LAMP和LNMP的区别 3.编译安装的优点 4.各组件的主要作用 三.LNMP架构的部署 1.安装ngi ...
- LAMP源码编译安装及一键部署LAMP架构
文章目录 一.什么是LAMP? 1.LAMP平台概述 2.构建LAMP平台顺序 3.编译安装的优点 4.各组件的主要作用 二.LAMP架构流向 三.编译安装Apache服务 1.先关闭防火墙 2.将软 ...
- Qt源码编译aarch、loongarch等架构可参考
前言: 我的建议是:编译环境一定要有网络,依赖的包才可以方便安装!!! 当然无网络,也可在有网络的相同架构系统下将相应包下载,详情可参考 Debian包管理则参考 Debian离线包安装离线源制作 下 ...
最新文章
- flashpaper打印机没有被正确安装_没有正确保存与安装,可导致80%的轴承提早失效...
- opengl开启垂直同步_你的下一部鼠标,何必是鼠标?来试试肯辛通垂直无线轨迹球?...
- 最新《医学图像深度语义分割》综述论文
- 记TX实习生笔试归来
- linux rpm 查看安装目录下,Linux如何修改RPM的安装目录?
- mybatis 模糊查询
- oracle最大空闲时间,使用Oracle PROFILE控制会话空闲时间
- HTML5手机开发——滚动和惯性缓动
- matlab disp函数_从零开始的matlab学习笔记——(13)符号计算中的多项式
- Echarts3里的地图标记点事件效果实现
- BCNF范式的判断和分解
- 九章量子计算机 知乎,量子计算机《九章》问世 知乎微博消息: 北京时间 12 月 4 日凌晨 3 点,一篇重要文章以 First Releas... - 雪球...
- 君莫笑系列视频学习(4)
- space-evenly
- mysql slave duplicate entry_slave 报Duplicate entry for key
- 【C++】Clang-Format:代码自动格式化(看这一篇就够了)
- 锎的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- Android Architecture(Is Activity God?)
- 二十岁决定男人的一生(强烈推荐)
- 2022亚马逊云科技re:Invent全球大会即将启幕
热门文章
- 分布式 TensorFlow:Distribution Strategy API 丨Google 开发者大会 2018
- 孔板流量计计算公式_十二种流量计工作原理
- okhttp-OkGo(okhttp-util升级版)网络请求框架(一)
- 3D图形芯片10年史话(转载)
- 实战精通OpenCV第一章--基于Android的图片卡通化及肤色改变(三)
- The Great Suspender功能介绍
- 图像全变差 matlab,全变差图像重建的交替最小化算法
- RK3288-8.1-添加一个人体感应的开关-pir_pin_status
- 2017年预言:病毒传播无需文件_无人机可能成为炸弹
- java word 乱码_JAVA 使用POI替换word中的某些字符串,在本地调试一切ok,在服务器上出现乱码...