1. 下载libyuv源代码,执行:

git clone https://chromium.googlesource.com/libyuv/libyuv

2. 通过CMakeLists.txt编译生成库,build.sh脚本内容如下:

cmake \-DCMAKE_BUILD_TYPE=RELEASE \-DCMAKE_C_COMPILER=/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-gcc \-DCMAKE_CXX_COMPILER=/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-g++ \-DCMAKE_INSTALL_PREFIX=./install \..

3. 在libyuv根目录下,依次执行如下命令,执行完后会将生成的文件和库存放在build/install目录下,如下图所示:

mkdir build
cd build
cp ../build.sh .
./builld.sh
make -j8
make install

4. 也可以通过*.mk生成,拷贝原linux.mk为hi3559a.mk并修改hi3559a.mk内容,修改后的内容如下:

# This is a generic makefile for libyuv for gcc.
# make -f linux.mk CXX=clang++CC=/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-gcc
CFLAGS?=-O2 -fomit-frame-pointer -fPIC -DLIBYUV_NEON
CFLAGS+=-Iinclude/CXX=/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-g++
CXXFLAGS?=-O2 -fomit-frame-pointer -fPIC -DLIBYUV_NEON
CXXFLAGS+=-Iinclude/LOCAL_OBJ_FILES := \source/compare.o           \source/compare_common.o    \source/compare_gcc.o       \source/compare_mmi.o       \source/compare_msa.o       \source/compare_neon64.o    \source/compare_neon.o      \source/compare_win.o       \source/convert_argb.o      \source/convert.o           \source/convert_from_argb.o \source/convert_from.o      \source/convert_jpeg.o      \source/convert_to_argb.o   \source/convert_to_i420.o   \source/cpu_id.o            \source/mjpeg_decoder.o     \source/mjpeg_validate.o    \source/planar_functions.o  \source/rotate_any.o        \source/rotate_argb.o       \source/rotate.o            \source/rotate_common.o     \source/rotate_gcc.o        \source/rotate_mmi.o        \source/rotate_msa.o        \source/rotate_neon64.o     \source/rotate_neon.o       \source/rotate_win.o        \source/row_any.o           \source/row_common.o        \source/row_gcc.o           \source/row_mmi.o           \source/row_msa.o           \source/row_neon64.o        \source/row_neon.o          \source/row_win.o           \source/scale_any.o         \source/scale_argb.o        \source/scale.o             \source/scale_common.o      \source/scale_gcc.o         \source/scale_mmi.o         \source/scale_msa.o         \source/scale_neon64.o      \source/scale_neon.o        \source/scale_win.o         \source/video_common.o.cc.o:$(CXX) -c $(CXXFLAGS) $*.cc -o $*.o.c.o:$(CC) -c $(CFLAGS) $*.c -o $*.oall: libyuv.a yuvconvert cpuid psnrlibyuv.a: $(LOCAL_OBJ_FILES)$(AR) $(ARFLAGS) $@ $(LOCAL_OBJ_FILES)# A C++ test utility that uses libyuv conversion.
yuvconvert: util/yuvconvert.cc libyuv.a$(CXX) $(CXXFLAGS) -Iutil/ -o $@ util/yuvconvert.cc libyuv.a# A standalone test utility
psnr: util/psnr.cc$(CXX) $(CXXFLAGS) -Iutil/ -o $@ util/psnr.cc util/psnr_main.cc util/ssim.cc# A C test utility that uses libyuv conversion from C.
# gcc 4.4 and older require -fno-exceptions to avoid link error on __gxx_personality_v0
# CC=gcc-4.4 CXXFLAGS=-fno-exceptions CXX=g++-4.4 make -f linux.mk
cpuid: util/cpuid.c libyuv.a$(CC) $(CFLAGS) -o $@ util/cpuid.c libyuv.aclean:/bin/rm -f source/*.o *.ii *.s libyuv.a yuvconvert cpuid psnr

5. 执行以下命令后同样可以生成libyuv.a静态库:

make -f hi3559a.mk

注:如果需要在libyuv中调用mjpegtoyuv相关的接口还需要依赖libjpeg库,并且需要在脚本中定义HAVE_JPEG。

GitHub:https://github.com/fengbingchun/OpenCV_Test

海思3559A上编译libyuv源码操作步骤相关推荐

  1. 海思3559A上编译Valgrind源码操作步骤

    注:按照以下步骤可以在海思板子上正常编译valgrind源码并生成valgrind可执行文件,但可能还不能在海思板子上正常使用. 1. 从http://valgrind.org/downloads/? ...

  2. 海思3559A上编译LIVE555源码操作步骤

    1. 从http://www.live555.com/liveMedia/public/ 下载live.2019.06.28.tar.gz,并解压缩: 2. 生成静态库,拷贝一份config.arml ...

  3. 海思3559A上编译FFmpeg源码操作步骤

    1. 从https://github.com/FFmpeg/FFmpeg/releases 下载你需要的版本: 2. 因为ffmpeg编译选项较多,为了更方便的了解有哪些选项,可将编译选项写入到一个文 ...

  4. 海思3559A上编译GDB源码操作步骤及简单使用

    1. 从http://ftp.gnu.org/gnu/gdb/ 下载最新稳定版8.3,即gdb-8.3.tar.gz,解压缩: 2. 在gdb-8.3目录下,创建一个build.sh脚本文件,内容如下 ...

  5. 海思3559A上编译libjpeg-turbo源码操作步骤

    1. 从https://github.com/libjpeg-turbo/libjpeg-turbo/releases/tag/2.0.2 下载libjpeg-turbo 2.0.2版本: 2. 脚本 ...

  6. 海思3531D上编译FFmpeg源码操作步骤

    从https://github.com/FFmpeg/FFmpeg/releases 下载你需要的版本: 因为ffmpeg编译选项较多,为了更方便的了解有哪些选项,可将编译选项写入到一个文本文件con ...

  7. 在Windows和Linux上编译gRPC源码操作步骤(C++)

    gRPC最新发布版本为v1.23.0,下面以此版本为例说明在Windows和Linux下编译过程. Windows7/10 vs2103编译gRPC源码操作步骤: 1. 需要本机已安装Git.CMak ...

  8. Windows10上编译MXNet源码操作步骤(Python)

    1. 按照https://blog.csdn.net/fengbingchun/article/details/84997490  中操作步骤首先在Windows上通过VS2017编译MXNet源代码 ...

  9. 在Ubuntu14.04 64位上编译CMake源码操作步骤

    在Ubuntu上通过apt-get install安装CMake并不是最新版的,这里记录下在Ubuntu上通过源码安装CMake的操作步骤: 1.        卸载旧版CMake,执行以下命令: a ...

最新文章

  1. TOP10全球ICT技术发展趋势
  2. 转:Merge into的使用详解
  3. Python基础--线程
  4. windows os x linux,What languages are Windows, Mac OS X and Linux written in?
  5. return两个返回值_LeetCode 第四题 寻找两个有序数组的中位数
  6. mysql如何创建用户代码_MySQl创建用户和授权的方法介绍(代码示例)
  7. Windows Phone App Studio 无码开发手机应用
  8. Latex初学入门记载
  9. 如何向maven仓库中上传第三方jar包(私服)
  10. 从Controller注解切入了解spring注解原理
  11. 最通俗的 Python3 网络爬虫入门
  12. linux系统下安装wrk和使用
  13. 关于在SW中怎么放样凸台基体
  14. PIC16F877A与Proteus仿真-2位7段数码管驱动
  15. 如何在应用中打开系统播放器
  16. 为了结婚领证,我做了个「一键结婚」插件
  17. 计算机专业相关知识零碎记录
  18. 对于anaconda安装的一个小感悟 。
  19. 电脑无法识别u盘是怎么回事?数据能恢复吗
  20. ZUI易入门Android之Okhttp的相关概念

热门文章

  1. Mask Rcnn训练自己的航拍数据集
  2. GitHub开源的AI下五子棋(基于博弈树极大极小值alpha-beta剪枝搜索)
  3. 奇葩错误:“假缩进”(python专属)
  4. 在Mac上设置环境变量并永久生效的方法
  5. libcurl+ncurses 分段range批量下载和进度条显示源码实例
  6. weiss数据结构和算法书的使用说明
  7. Python训练营2021:构建8个真实世界的Python项目
  8. 字符串匹配算法 -- BM(Boyer-Moore) 和 KMP(Knuth-Morris-Pratt)详细设计及实现
  9. 设计模式 之美 -- 策略模式
  10. K8S - Kubernetes简介