ffmpeg编译omx的时候只要把omx的标准头文件引入就可以了,编译的时候ffbuild这个文件夹一定不要删除,很多同学把这个文件夹删了导致无法编译,ffm是makefile管理工程的,不是cmake呢。
下面是一个简单的脚本:

#! /bin/bash

root_path=/workspace
omx_inc=${root_path}/openmax/libomxil-bellagio/include
#sdl_lib=${root_path}/depends/sdl2-2.0.14/lib
echo $omx_inc

./configure \
    --prefix=${root_path}/depends/simple-x86-omx-ffmpeg5.0 \
    --enable-swscale \
    --enable-gpl \
    --enable-omx \
    --disable-optimizations \
    --enable-debug \
    --extra-cflags="-g -I${omx_inc} " \
    --extra-ldflags="" \
    --enable-shared

#make -j8
#make install

如果要编译arm架构的,需要手动修改ffbuild文件夹中config.mak中的STRIP为:

STRIP=aarch64-linux-gnu-strip

改完之后,不要再configure了,直接make,make install
当然你得手动安装aarch64-linux-gnu-strip
如下:

#! /bin/bash

root_path=/root/workspace

omx_inc=${root_path}/libomxil-bellagio/include
echo $omx_inc

./configure \
    --enable-cross-compile \
    --target-os=linux \
    --cc=aarch64-linux-gnu-gcc-7 \
    --arch=aarch64 \
    --prefix=${root_path}/depends/simple-arm-omx-ffmpeg5.0 \
    --enable-omx \
    --extra-cflags="-g -I${omx_inc}" \
    --enable-shared

arm编译的时候添加:

configure \
--prefix=./ --disable-x86asm  \
--enable-cross-compile \
--cc=aarch64-linux-gnu-gcc-7  \
--arch=arm64 \
--strip=aarch64-linux-gnu-strip \
...

记得安装:

aarch64-linux-gnu-gcc
aarch64-linux-gnu-g++
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐