tsuchiya
2014年6月3日 10時14分
土屋です。
いつもお世話になっております。
別件で質問させていただいている画面ローテーションに関連しているのですが、内容的にずれるかなと思い別の質問にさせていただきます。
画面ローテーションするのにドライバで回転できれば一番なのですが、ドライバのソースを見てても転送箇所が分からなかったので、暫定で GStreamer のvideoflipを実験しました。
結果はfbdevsink に接続できるものなら OK なのですが acmfbdevsink だとエラーになってしまいました。
ソースのacmfbdevsink.cを見たところ gst_acm_fbdevsink_render() で1122行目から for()分でデータ転送しているところと思しき所があったので、ここを改造して実験しようと思いました。
しかしコンパイル方法が分からず頓挫しております。
やったことは下記です。すべて atde5上です。
1. 御社サイトから gst-plugins-at-acm_1.0.0.tar.gz を wget で取得
2. 適当な場所に展開
3. ./autogen.sh を実行
下記エラーになります。
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
src/Makefile.am:6: Libtool library used but `LIBTOOL' is undefined
src/Makefile.am:6: The usual way to define `LIBTOOL' is to add `LT_INIT'
src/Makefile.am:6: to `configure.ac' and run `aclocal' and `autoconf' again.
src/Makefile.am:6: If `LT_INIT' is in `configure.ac', make sure
src/Makefile.am:6: its definition is in aclocal's search path.
src/Makefile.am:172: `CPPFLAGS' is a user variable, you should not override it;
src/Makefile.am:172: use `AM_CPPFLAGS' instead.
tests/Makefile.am:8: compiling `acmaacdec.c' with per-target flags requires `AM_PROG_CC_C_O' in `configure.ac'
autoreconf: automake failed with exit status: 1
autogen.sh failed
4. ここで試しに ./configure を実行すると下記エラーでした。
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
./configure: line 3322: syntax error near unexpected token `2.2.6'
./configure: line 3322: `LT_PREREQ(2.2.6)'
情報等ご教授お願いいたします。
コメント
tsuchiya
竹之下様
お世話になっております。土屋です。
おかげさまで、無事コンパイルでき180度回転したのですが・・・
DMA無しでは遅すぎて Gstreamer から遅すぎと怒られてしまいました。
WARNING: from element /GstPipeline:pipeline0/GstAcmFBDevSink:acmfbdevsink0: A lot of buffers are being dropped.
Additional debug info:
gstbasesink.c(2683): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstAcmFBDevSink:acmfbdevsink0:
There may be a timestamping problem, or this computer is too slow.
memcpy などの最適化ってすごいんですね。
とりあえずacmfbdevsinkに関してはあきらめます。
at_takenoshita
2014年6月3日 12時59分
竹之下です。
普段はArmadillo上でホストコンパイルしていますので、クロスコンパイル対応が今一つなのですが、
下記手順でビルドできます。
src/Makefile 内の GST_CFLAGS に -I/usr/arm-linux-gnueabihf/include/gstreamer-1.0 を追記
tests の ビルドで失敗しますが、 src/.libs/ 以下に .so ファイルが作成されています。
何とも中途半端ですが、ご参考まで。