日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

海思3559A上编译libyuv源码操作步骤

發布時間:2023/11/27 生活经验 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 海思3559A上编译libyuv源码操作步骤 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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源码操作步骤的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。