在上一个关于luvcview任务中发现许多isp功能未实现,考虑用gstreamer再找到独立rkisp插件进行编写.目前由于相关资料较少,可能没有直接的rkisp插件,好在能在githup上找到Linux-Rockchip相关文件.
https://github.com/rockchip-linux
根据 <RK_Linux_Camera_Gstreamer 应用开发>
1.搭建gstreamer环境
略.2.安装使用Gstreamer的插件
安装使用 Gstreamer rkisp element:
首先解压缩基于 Gstreamer 的 rkisp 插件,并根据不同环境进行编译安装。
Firefly 开发板上,请运行以下命令:
$ ./autogen.sh --prefix=/usr/local --enable-gst --enable-rkiq
$make
$ make install
在没有编译环境的开发板上,请先在 PC 端运行以下命令进行交叉编译后,再将编译生成的库安装
到开发板上,这里以 excavator 开发板为例:
$ export PATH=/path/to/cross-compiler:$PATH
$ CC=aarch64-linux-gcc ./autogen.sh --prefix=./out --host=aarch64-linux
--enable-gst --enable-rkiq
$ make
$ make install
目前准备在下述几个包中进行编译,怀着试一试的态度考察是否可行:
把它们就当成rkisp试试…
若需需安装交叉编译工具,rk3399如下:
$ sudo apt-get install gcc-arm-linux-gnueabihf \
gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev \
libssl1.0.0 libssl-dev
检测交叉编译工具:
$aarch64-linux-gnu-gcc -v
编译过程与结果
gst-plugins-rockchip-master
fatal: Not a git repository (or any of the parent directories): .git
Failed to create commit hook symlink, copying instead ...
cp: 无法获取'common/hooks/pre-commit.hook' 的文件状态(stat): 没有那个文件或目录
+ passing argument --prefix=./out to configure
+ passing argument --host=aarch64-linux to configure
+ passing argument --enable-gst to configure
+ passing argument --enable-rkiq to configure
+ options passed to configure: --prefix=./out --host=aarch64-linux --enable-gst --enable-rkiq
+ check for build tools
checking for autoreconf ...
/usr/bin/autoreconf
checking for pkg-config ...
/usr/bin/pkg-config
+ running autopoint --force...
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
libtoolize: Remember to add 'LT_INIT' to configure.ac.
libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac,
libtoolize: and rerunning libtoolize and aclocal.
configure.ac:66: warning: The 'AM_PROG_MKDIR_P' macro is deprecated, and its use is discouraged.
configure.ac:66: You should use the Autoconf-provided 'AC_PROG_MKDIR_P' macro instead,
configure.ac:66: and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.
configure.ac:46: installing './compile'
configure.ac:10: installing './config.guess'
configure.ac:10: installing './config.sub'
configure.ac:13: installing './install-sh'
configure.ac:13: installing './missing'
Makefile.am: installing './INSTALL'
Makefile.am:1: warning: AM_GNU_GETTEXT used but 'po' not in SUBDIRS
gst/rkv4l2/Makefile.am: installing './depcomp'
+ running configure ...
default flags: --enable-maintainer-mode --enable-gtk-doc
external flags: --prefix=./out --host=aarch64-linux --enable-gst --enable-rkiq
./configure --enable-maintainer-mode --enable-gtk-doc --prefix=./out --host=aarch64-linux --enable-gst --enable-rkiq
configure: WARNING: unrecognized options: --enable-gtk-doc, --enable-gst, --enable-rkiq
configure: error: expected an absolute directory name for --prefix: ./out
configure failed
补全路径
root@lowfree02:/home/lowfree/doc/rockchip-linux/gst-plugins-rockchip-master# CC=aarch64-linux-gcc ./autogen.sh --prefix=/home/lowfree/doc/rockchip-linux/gst-plugins-rockchip-master/out --host=aarch64-linux --enable-gst --enable-rkiq
fatal: Not a git repository (or any of the parent directories): .git
Failed to create commit hook symlink, copying instead ...
cp: 无法获取'common/hooks/pre-commit.hook' 的文件状态(stat): 没有那个文件或目录
+ passing argument --prefix=/home/lowfree/doc/rockchip-linux/gst-plugins-rockchip-master/out to configure
+ passing argument --host=aarch64-linux to configure
+ passing argument --enable-gst to configure
+ passing argument --enable-rkiq to configure
+ options passed to configure: --prefix=/home/lowfree/doc/rockchip-linux/gst-plugins-rockchip-master/out --host=aarch64-linux --enable-gst --enable-rkiq
+ check for build tools
checking for autoreconf ...
/usr/bin/autoreconf
checking for pkg-config ...
/usr/bin/pkg-config
+ running autopoint --force...
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
libtoolize: Remember to add 'LT_INIT' to configure.ac.
libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac,
libtoolize: and rerunning libtoolize and aclocal.
configure.ac:66: warning: The 'AM_PROG_MKDIR_P' macro is deprecated, and its use is discouraged.
configure.ac:66: You should use the Autoconf-provided 'AC_PROG_MKDIR_P' macro instead,
configure.ac:66: and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.
configure.ac:46: installing './compile'
configure.ac:13: installing './missing'
Makefile.am:1: warning: AM_GNU_GETTEXT used but 'po' not in SUB