当前位置: 首页 > news >正文

libomxil-bellagio移植到OpenHarmony

当使用mesa3dcangh提供的amd显卡驱动时,想利用 Mesa 提供的图形硬件加速能力,来支持视频编解码操作时。需要依赖libomxil-bellagio库,现在成果分享如下:

基础知识

1.OpenHarmony中mesa3d amd显卡驱动编译

2.OpenHarmony中基于GN和ninja的编译构建,参考笔者speexdsp移植到OpenHarmony系列文章:
移植speexdsp到OpenHarmony标准系统①

3.libomxil-bellagio在linux上的编译

移植思路

1.保证能在linux上正常编译,获取linux的编译日志来分析编译产物和它们之间的依赖关系

# 安装以下基础工具和库
sudo apt update
sudo apt install autoconf libtool g++ make dpkg-dev pkg-config# 解压源码打补丁
# libomxil-bellagio-0.9.3.tar.gz来源:
# https://sourceforge.net/projects/omxil/files/latest/download
cd libomxil-bellagio-0.9.3
# 补丁来自https://gitee.com/src-openeuler/libomxil-bellagio/tree/openEuler-24.03-LTS-SP2-release/
patch -p1 < Fix-FTBFS-with-gcc12.patch
patch -p1 < bellagio-0.9.3-dynamicloader-linking.patch
patch -p1 < bellagio-0.9.3-parallel-build.patch
patch -p1 < bellagio-0.9.3-segfault-on-removeFromWaitResource.patch
patch -p1 < fix-multi-define.patch
patch -p1 < fix-stringop-overflow.patch
patch -p1 < libomxil-bellagio-0.9.3-fix_Werror.patch
patch -p1 < libomxil-bellagio-0.9.3-memcpy.patch
patch -p1 < libomxil-bellagio-0.9.3-nodoc.patch
patch -p1 < libomxil-bellagio-0.9.3-unused.patch
patch -p1 < libomxil-bellagio-0.9.3-valgrind_register.patch
patch -p1 < omxil_version.patch# 生成configure脚本,解决可能缺失的配置文件
autoreconf -i -f./configure --prefix=xxx/xxx/xxx
make
make install

2.编写BUILD.gn,编译相关编译产物到OpenHarmony。

开源仓库仓库地址:

https://gitee.com/OpenHarmony_rk_equipment_transplantation/libomxil-bellagio_oh

├── BUILD.gn 
├── include # libomxil-bellagio头文件
├── install.sh # 执行脚本源码中打入补丁,生成config.h文件
├── libomxil-bellagio-0.9.3.tar.gz
└── patch # 修复linux编译补丁
http://www.dtcms.com/a/300467.html

相关文章:

  • Ubuntu简述及部署系统
  • MybatisPlus-19.插件功能-通用分页实体
  • JDK 11.0.16.1 Windows 安装教程 - 详细步骤+环境变量配置
  • Day44 Java数组08 冒泡排序
  • AI与区块链Web3技术融合:重塑数字经济的未来格局
  • SpringSecurity实战:核心配置技巧
  • 【前端】【vscode】【.vscode/settings.json】为单个项目配置自动格式化和开发环境
  • 【C++基础】类型转换:static_cast/dynamic_cast 面试高频考点与真题解析
  • Spring Retry 异常重试机制:从入门到生产实践
  • ESP32学习-FreeRTOS队列使用指南与实战
  • 【多模态】天池AFAC赛道四-智能体赋能的金融多模态报告自动化生成part2-报告输出
  • Java面试实战:企业级性能优化与JVM调优全解析
  • 小白成长之路-Ansible自动化(一)
  • 将远程 main 分支同步到 develop 分支的完整指南
  • 【硬件】嵌入式软件开发(2)
  • STM32-USART串口实现接收数据三种方法(1.根据\r\n标志符、2.空闲帧中断、3.根据定时器辅助接收)
  • Pytest 参数化进阶:掌握 parametrize 的多种用法
  • HCIP---MGRE实验
  • 嵌入式硬件篇---ESP32稳压板
  • OpenLayers 综合案例-轨迹回放
  • LeetCode|Day27|70. 爬楼梯|Python刷题笔记
  • catkin_make与catkin build的关系与区别(使用catkin build的好处)
  • MGRE实验
  • 深入解析 Vue 3 中 v-model 与表单元素的绑定机制
  • 多租户Kubernetes集群架构设计实践——隔离、安全与弹性扩缩容
  • Spring Boot自动配置原理深度解析
  • 昇思学习营-模型推理和性能优化
  • Keepalived + LVS-DR 高可用与负载均衡实验
  • 【Python系列】使用 memory_profiler 诊断 Flask 应用内存问题
  • 结构化文本文档的内容抽取与版本重构策略