首页 > 其他分享 >使用NDK编译 libyuv

使用NDK编译 libyuv

时间:2022-12-26 09:34:13浏览次数:71  
标签:NDK 缩放 mk YUV 编译 Optimized libyuv

官方源码:http://code.google.com/p/libyuv/
简介:

复制代码
libyuv is an open source project that includes YUV scaling and conversion functionality.

Scale YUV to prepare content for compression, with point, bilinear or box filter.
Convert to YUV from webcam formats.
Convert from YUV to formats for rendering/effects.
Rotate by 90/180/270 degrees to adjust for mobile devices in portrait mode.
Optimized for SSE2/SSSE3/AVX2 on x86/x64.
<strong>Optimized for Neon on Arm.</strong> Optimized for DSP R2 on Mips.
复制代码

YUV层的缩放,色彩空间转换(nv21/nv12 to i420,i420 to rgb565/rgb888),针对ARMv7使用NEON指令集优化.

实际项目使用中测试,缩放/转换性能秒杀ffmpeg的libswscale

按官方的编译方法太麻烦,需要装depot tools,ninja 这里直接用android make 方便的多.

默认编译为so动态库,通过LOCAL_SHARED_LIBRARIES在Android.mk中引入,

并且需要在java接口种System.loadLibrary(“yuv”);

加载 也可以修改Android.mk最后一行为include $(BUILD_STATIC_LIBRARY)编译为.a静态库直接链接

也可以加入到你的jni项目中一起编译. github:https://github.com/illuspas/libyuv-android

标签:NDK,缩放,mk,YUV,编译,Optimized,libyuv
From: https://www.cnblogs.com/kn-zheng/p/17004995.html

相关文章

  • 编译FFmpeg成一个SO库
    编译环境MacOSXCapitan10.11.3NDK-r10e(64-bit)FFmpeg3.0简介在看完了第一篇Android最简单的基于FFmpeg的例子(一)—编译FFmpeg类库的基础上再看这一篇,在......
  • 【踩坑】Debian编译安装Podman和Prometheus-podman-exporter
    这个月一直在折腾Grafana,中途遇到了各种各样的问题这两天折腾得差不多了,才有空把遇到的问题写出来一方面做个记录,另一方面也当给想要折腾的小伙伴们踩踩坑估计最近......
  • 源码编译安装httpd
     1.基础环境准备1.1创建一个系统用户 [root@node2~]#useradd-r-M-s/sbin/nologinapache [root@node2~]#idapache uid=299(apache)gid=299(apache)gro......
  • httpd编译安装
    httpd编译安装基础环境准备[root@liuquanyu~]#dnf-yinstallgccgcc-c++makewgetLastmetadataexpirationcheck:2:28:48agoonTue13Dec202206:32:26PM......
  • 配置编译BusyBox
    获取源码$wget-chttp://www.busybox.net/downloads/busybox-1.23.2.tar.bz2解压并进入源码目录$tar-jxvfbusybox-1.23.2.tar.bz2$cdbusybox-1.23.2/配置$makemen......
  • 编译器优化介绍
    由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的......
  • (5编译使用最新opencv)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
    从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练1综述2环境架设3两个例子4程序框架5编译使用最新opencv6综合实验7拾遗 为了获得最新特性,必须编译......
  • 在Linux下OpenCV的下载和编译
    完整从代码编译OpenCV在很多情况下是必须的。总体上来看,都是下载、编译、配置这三个过程,其中一些细节值得注意,记录如下。这里以ubuntu为例,其他发行版可能略有不同。1......
  • 用Android Studio更新Android SDK / Android NDK版本
    以前做安卓开发的时候是用Ecliplse+Androidsdk,每次sdk版本更新的时候都是要去网路上搜索并下载对应的sdk版本(有时候某些站点还不能直接访问,只能另外寻找国内的镜像站点);And......
  • Windows环境下最新OpenCV和Contribute代码的联合编译【20190505更新红字】
    目的在于获得并使用最新的完全版本的代码,主要方法是对CMake能够熟练使用,并且对编译等基础支持有所了解。因为这篇博客经过多次修改,所以里面的内容和配图可能有不是完......