首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NDK编译libyuv

前言

前面几篇写的都是Opengl ES的系列博文,并且都涉及到了YUV与RGB的转换,为了完善YUV与RGB相关的知识点,这里加写一篇关于libyuv交叉编译的博文,算是yuv这一系列的结束,后续继续Opengl ES的写了撰写。

做过音视频开发的童鞋们一定对libyuv这个库不陌生,利用这个库不但可以做yub到rgb颜色空间的互相转换,还可以进行图像的放大缩小、旋转等形变转换。

libyuv 是谷歌开源的对 YUV 数据进行缩放、旋转和转换的跨平台库,可在 Windows、Linux、Mac、Android 等操作系统,x86、x64、arm 架构上进行编译运行,支持 AVX2、NEON 等 SIMD 指令加速。

NDK编译libyuv

笔者的编译环境是MacOS M1芯片版。因为本文使用的是cmake编译,因此没有安装cmake的童鞋请先安装cmake。

libyuv的源码地址:https://chromium.googlesource.com/libyuv/libyuv

例如笔者下载解压后的文件名是,这个地址的源码下载可能需要点技巧,如果无法访问,可以到github上寻找相应的源码...

然后编写编译脚本:

编写完毕赋予编译脚本运行权限,运行命令,然后运行编译脚本即可编译出libyuv的静态库和动态库,输出目录为源码目录的同级目录下。

例如笔者编译完毕的完整目录是这样子的:

编译成功后至于怎么引入,可以参考笔者之前的文章,原理都是一致的,这里就不再重复了。

参考:NDK21编译ffmpeg5.0.1

其他编译方式

对与程序员来说是一个很有用的文档,无论那个项目都应该养成先看的习惯。同样在libyuv的源码中也有,里面就有介绍了使用gclient对libyuv各种平台的编译介绍。具体介绍文档是。

使用文档

同样在也介绍了详细的使用文档,具体的使用文档是。笔者浏览起来是挺详细的,这里就不多说了。

同时也可以参考其他博客文章:android全平台编译libyuv库实现YUV和RGB的转换https://github.com/byhook/ffmpeg4android/blob/master/readme/android%E5%85%A8%E5%B9%B3%E5%8F%B0%E7%BC%96%E8%AF%91libyuv%E5%BA%93%E5%AE%9E%E7%8E%B0YUV%E5%92%8CRGB%E7%9A%84%E8%BD%AC%E6%8D%A2.md

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230119A00U4600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券