Feature #101
openadd omapfbplay to rootfs build
20%
Description
This may replace the gstreamer based playback for now since AC3 is not yet (apparently) supported. However, this does not utilize the DSP for video acceleration. It uses NEON support instead.
omapfbplay source:
http://git.mansr.com/?p=omapfbplay;a=summary
Updated by Hammel over 13 years ago
Looks like this requires libav first, and the omapfbplay doesn't have a released tarball so you have to get it from git.
libav:
This should be just like ffmpeg - it's a forked version of that project
http://libav.org/
v0.6.2: http://libav.org/releases/libav-0.6.2.tar.gz
clone: git clone git://git.mansr.com/libav;protocol=git libav; cd libav && git checkout v0.6.2
omapfbplay:
git clone git://git.mansr.com/omapfbplay;protocol=git omapfbplay
compile (still a work in progress for how to compile the code from git under Buildroot):
PATH=/home/mjhammel/src/ximba/bb/bld/crosstool-ng-1.8.2.bld/install/bin:$PATH \
CROSS_COMPILE=arm-unknown-linux-uclibcgnueabi- \
make OMAPFB=y \
ROOT=/home/mjhammel/src/ximba/bb/bld/crosstool-ng-1.8.2.bld/install/arm-unknown-linux-uclibcgnueabi/sys-root
Updated by Hammel over 13 years ago
Added libav package to buildroot 2011.02, however there is one line in the .mk file that is questionable (-target-os=linux, hard coded value for config option). I need to check with the Buildroot mailing list to verify it is the correct way to handle it.
Updated by Hammel over 13 years ago
omapfbplay compile command: make PATH=$bin:$PATH OMAPFB=y ROOT=$root CROSS-COMPILE=arm-unknown-linux-uclibcgnueabi
root: buildroot/output/target
The build fails because av_log_set_flags(AV_LOG_SKIP_REPEATED) is not in libav. So I just commented it out. But then it appears I may be missing some additional components:
omapfb.c:34:26: warning: linux/omapfb.h: No such file or directory
This is found in ./include/linux/omapfb.h in the kernel tree. So I need to specify where to find that, too, on the command line.
Updated by Hammel over 13 years ago
Found that I needed to install the kernel headers along with the modules and firmware or else I get an warning while compiling omapfbplay. So I added that to the kernel build and rebuilt the kernel. Now the command to compile omapfbplay looks like this:
make PATH=/home/mjhammel/src/ximba/bb/bld/crosstool-ng-1.8.2.bld/install/bin:$PATH OMAPFB=y ROOT=$root CROSS_COMPILE=arm-unknown-linux-uclibcgnueabi- LINUX=/home/mjhammel/src/ximba/bb/bld/linux-omap-2.6.38/headers
This is nearly complete, but it doesn't find the libav libraries:
arm-unknown-linux-uclibcgnueabi-gcc --sysroot=/home/mjhammel/src/ximba/bb/bld/buildroot-2011.02/output/target omapfbplay.o pixfmt.o time.o magic-head.o sysclk.o sysmem.o avcodec.o omapfb.o magic-tail.o -lavformat -lavcodec -lavutil -lm -lpthread -lrt -o omapfbplay
/home/mjhammel/src/ximba/bb/bld/crosstool-ng-1.8.2.bld/install/bin/../lib/gcc/arm-unknown-linux-uclibcgnueabi/4.4.3/../../../../arm-unknown-linux-uclibcgnueabi/bin/ld: crt1.o: No such file: No such file or directory
collect2: ld returned 1 exit status