LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware - ARM (https://www.linuxquestions.org/questions/slackware-arm-108/)
-   -   Raspberry Pi: How to compile OpenMAX and FFMPEG on RPi (https://www.linuxquestions.org/questions/slackware-arm-108/raspberry-pi-how-to-compile-openmax-and-ffmpeg-on-rpi-4175608888/)

arfon 06-30-2017 03:15 AM

Raspberry Pi: How to compile OpenMAX and FFMPEG on RPi
 
In order to use the RPi's hardware video acceleration, you need the OpenMAX libs. Here's how to compile and make a Slackware package-

=====Build OpenMAX Slackware Package=====
Get the following two files (from the Debian/Ubuntu package repositories):
libomxil-bellagio-0.9.3.tar.gz
libomxil-bellagio_0.9.3-4.debian.tar.xz

Code:

mkdir /tmp/build
rm -rf /tmp/build/*
tar -xvzf libomxil-bellagio-0.9.3.tar.gz
tar -xf libomxil-bellagio_0.9.3-4.debian.tar.xz
cd libomxil-bellagio-0.9.3
./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc
patch -p1 < ../debian/patches/0001-Fallback-on-different-registry-location-except-for.patch
patch -p1 < ../debian/patches/0002[hit TAB]
patch -p1 < ../debian/patches/0003[hit TAB]
patch -p1 < ../debian/patches/0004[hit TAB]
patch -p1 < ../debian/patches/0005[hit TAB]
patch -p1 < ../debian/patches/0006[hit TAB]
patch -p1 < ../debian/patches/0007[hit TAB]
patch -p1 < ../debian/patches/0008[hit TAB]
patch -p1 < ../debian/patches/0009[hit TAB]
patch -p1 < ../debian/patches/0010[hit TAB]
make
make install DESTDIR=/tmp/build
cd /tmp/build; mkdir install; cd install
vi slack-desc
                  |-----handy-ruler------------------------------------------------------|
  OpenMAX Bellagio: OpenMAX Bellagio (API to access Multimedia Components)
  OpenMAX Bellagio:
  OpenMAX Bellagio: OpenMAX Integration Layer (IL) is a standard API to access Multimedia
  OpenMAX Bellagio: Components on mobile platforms. It has been defined by the Khronos
  OpenMAX Bellagio: group. By means of the OpenMAX IL API, multimedia frameworks can
  OpenMAX Bellagio: access hardware accelerators on platforms that provide it.
  OpenMAX Bellagio:
  OpenMAX Bellagio: Bellagio is an opensource implementation of the OpenMAX IL API that
  OpenMAX Bellagio: runs on Linux PC.
  OpenMAX Bellagio:
  OpenMAX Bellagio: http://omxil.sourceforge.net/

cd /tmp/build
makepkg ../libomxil-bellagio-0.9.3-armv7l-ARG.tgz
installpkg /tmp/libomxil-bellagio-0.9.3-armv7l-ARG.tgz


=====Build FFMPEG Slackware Package=====

Download and uncompress the ffmpeg source files

Code:

rm -rf /tmp/build/*
cd FFmpeg/
./configure --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/man --arch=armel --target-os=linux --enable-gpl --enable-omx
make
make install DESTDIR=/tmp/build
strip -s /tmp/build/usr/lib/* /tmp/build/usr/bin/*
gzip -9 /tmp/build/usr/man/man?/*.?
cd /tmp/build; mkdir install; cd install
vi slack-desc
        |-----handy-ruler------------------------------------------------------|
  ffmpeg: ffmpeg (Software to record, convert and stream audio and video)
  ffmpeg:
  ffmpeg: FFmpeg is a complete solution to record, convert and stream audio
  ffmpeg: and video. It includes libavcodec, the leading audio/video codec
  ffmpeg: library. FFmpeg is developed under Linux, but it can compiled
  ffmpeg: under most operating systems, including Windows.
  ffmpeg:
  ffmpeg: Homepage: http://ffmpeg.mplayerhq.hu
  ffmpeg:
  ffmpeg:
  ffmpeg:

cd /tmp/build
makepkg ../ffmpeg-3.3-armv7l_OpenMAX_ARG.tgz
installpkg /tmp/ffmpeg-3.3-armv7l_OpenMAX_ARG.tgz


abga 08-20-2017 02:44 PM

Aren't those OpenMAX libs already included in the optimized vc (userland) stuff that comes with Raspbian (it can also be downloaded and manually compiled)?
http://elinux.org/Raspberry_Pi_VideoCore_APIs

I'm compiling FFMPEG by linking it to /opt/vc/lib/ without any Openmax additional stuff and benefiting from HW acceleration when playing/encoding MPEG2/MPEG4 (I also bought an MPEG2 licence).


All times are GMT -5. The time now is 07:21 AM.