使用NDK编译 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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了