美文网首页
libyuv编译动态库

libyuv编译动态库

作者: yin_xin | 来源:发表于2021-03-16 22:35 被阅读0次

    在android平台上对camera采集到的yuv数据进行旋转、缩放、转化等操作可以使用到google开源的libyuv开源库。


    编译环境

    • Mac os
    • ndk-r21b

    下载源码

    前往google仓库下载yuv压缩包。
    https://chromium.googlesource.com/external/libyuv/+/refs/heads/master

    点击下载

    修改Android.mk

    1. 将下载好的代码解压后,源码根目录重命名为jni
    2. 修改Android.mk文件,找到下面相关部分
    LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
    LOCAL_C_INCLUDES += $(LOCAL_PATH)/include
    
    #修改输出库文件名字
    LOCAL_MODULE := libyuv_static
    LOCAL_MODULE_TAGS := optional
    
    #修改生成库文件类型
    include $(BUILD_STATIC_LIBRARY)
    

    修改后

    LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
    LOCAL_C_INCLUDES += $(LOCAL_PATH)/include
    
    #生成so的名字为libyuv_test
    LOCAL_MODULE := libyuv_test
    LOCAL_MODULE_TAGS := optional
    
    #生成动态库
    include $(BUILD_SHARED_LIBRARY)
    

    修改Application.mk

    该文件如果没有需要自己创建。
    Application.mk

    APP_ABI := armeabi-v7a arm64-v8a x86 x86_64
    APP_PLATFORM := android-11
    

    编译

    1. 在终端cd到源码jni目录
    2. 调用ndk-build工具直接
    cd 你的jni目录
    你使用的ndk目录/ndk-build
    

    生成文件

    可以看到在jni平级的目录生成了obj,libs目录,可以看到libs目录下生成了对应平台的.so文件

    编译结果

    相关文章

      网友评论

          本文标题:libyuv编译动态库

          本文链接:https://www.haomeiwen.com/subject/xxjjcltx.html