crosss compile VLC with OpenMAX on ARM board(RockChip RK3399),in order to use Hard Acceleration when
作者:互联网
reference:http://www.x90x90x90.com/en/raspberry-pi-3-howto-compile-vlc-with-hardware-acceleration/
1.precondition
(1)sudo apt-get install autopoint gettext liba52-0.7.4-dev libaa1-dev libasound2-dev libass-dev libavahi-client-dev libavc1394-dev libavcodec-dev libavformat-dev libbluray-dev libcaca-dev libcddb2-dev libcdio-dev libchromaprint-dev libdbus-1-dev libdc1394-22-dev libdca-dev libdirectfb-dev libdvbpsi-dev libdvdnav-dev libdvdread-dev libegl1-mesa-dev libfaad-dev libflac-dev libfluidsynth-dev libfreerdp-dev libfreetype6-dev libfribidi-dev
the first cmd,libdvdpsi must be install manual ,download addr is https://code.videolan.org/videolan/libdvbpsi
libdvbpsi above is newest,the API has changed ,so download history version in download.videolan.org/pub/libdvbpsi
while make 1.2.0,there is a error : test_dr.h:102:39: error: comparison of constant ‘12’ with boolean expression is always true
fixed this error,look at the latest version ,its test_dr.h is right
(2)sudo apt-get install libgl1-mesa-dev libgles1-mesa-dev libgles2-mesa-dev libgnutls28-dev libgtk2.0-dev libidn11-dev libiso9660-dev libjack-jackd2-dev libkate-dev liblircclient-dev liblivemedia-dev liblua5.2-dev libmad0-dev libmatroska-dev libmodplug-dev libmpcdec-dev libmpeg2-4-dev libmtp-dev libncursesw5-dev libnotify-dev libogg-dev libomxil-bellagio-dev libopus-dev
the second cmd,libgles1-mesa-dev high version must install manual,download addr:ports.ubuntu.com/ubuntu-ports/pool/main/m/mesa, then delete the libgles1-mesa-dev
(3)sudo apt-get install libpulse-dev libqt4-dev libraw1394-dev libresid-builder-dev librsvg2-dev libsamplerate0-dev libschroedinger-dev libsdl-image1.2-dev libsdl1.2-dev libshine-dev libshout3-dev libsidplay2-dev libsmbclient-dev libspeex-dev libspeexdsp-dev libssh2-1-dev libswscale-dev libtag1-dev libtheora-dev libtwolame-dev libudev-dev libupnp-dev
libssh2-1-dev : Depends: libgcrypt20-dev but it is not going to be installed
http://ports.ubuntu.com/ubuntu-ports/pool/main/libg/libgcrypt20/ download and dpkg -i install,if any depend error then apt-get install
(4)sudo apt-get install libv4l-dev libva-dev libvcdinfo-dev libvdpau-dev libvncserver-dev libvorbis-dev libx11-dev libx264-dev libxcb-composite0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shm0-dev libxcb-xv0-dev libxcb1-dev libxext-dev libxinerama-dev libxml2-dev libxpm-dev libzvbi-dev lua5.2 oss4-dev pkg-config zlib1g-dev libpng12-dev libtool build-essential autoconf
2.download and install ffmpeg
wget https://www.ffmpeg.org/releases/ffmpeg-2.7.7.tar.xz
tar -xJf ffmpeg-2.7.7.tar.xz
cd ffmpeg-2.7.7
sudo ./configure --enable-gpl --enable-nonfree --bindir=/usr/local/bin
make
sudo make install
NOTE!!! configure add the option "-fPIC",So can generate share library object
Once compiled, launch FFmpeg to see libraries version installed: execute the cmd "ffmpeg" in terminal
3.configure vlc
$ ./configure --prefix=/usr --enable-omxil --enable-omxil-vout --enable-rpi-omxil --disable-mmal-codec --disable-mmal-vout --enable-gles2
checking build system type... aarch64-unknown-linux-gnu
checking host system type... aarch64-unknown-linux-gnu
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... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '1000' is supported by ustar format... yes
checking whether GID '1000' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking for style of include used by make... GNU
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 whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for gcc option to accept ISO C99... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C preprocessor... gcc -E
checking for gcc... gcc
checking whether we are using the GNU Objective C compiler... no
checking whether gcc accepts -g... no
checking dependency style of gcc... gcc3
checking dependency style of gcc... (cached) gcc3
checking for egrep... (cached) /bin/grep -E
checking whether make sets $(MAKE)... (cached) yes
checking dependency style of gcc... gcc3
checking for desktop-file-validate... desktop-file-validate
checking for yasm... no
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for C/C++ restrict keyword... __restrict
checking for an Android system... no
checking for 3rd party libraries path... not found
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert aarch64-unknown-linux-gnu file names to aarch64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert aarch64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... (cached) pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... no
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for windres... no
checking for bash... /bin/bash
checking if dolt supports this host... yes, replacing libtool
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for iconv... yes
checking for working iconv... yes
checking for iconv declaration...
extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking for buggy GNU/libc versions... not present
checking for shared objects suffix... .so
checking whether nanosleep is declared... yes
checking for daemon... yes
checking for fcntl... yes
checking for fstatvfs... yes
checking for fork... yes
checking for getenv... yes
checking for getpwuid_r... yes
checking for isatty... yes
checking for lstat... yes
checking for memalign... yes
checking for mmap... yes
checking for open_memstream... yes
checking for openat... yes
checking for pread... yes
checking for posix_fadvise... yes
checking for posix_madvise... yes
checking for setlocale... yes
checking for stricmp... no
checking for strnicmp... no
checking for strptime... yes
checking for uselocale... yes
checking for atof... yes
checking for atoll... yes
checking for dirfd... yes
checking for fdopendir... yes
checking for flockfile... yes
checking for fsync... yes
checking for getdelim... yes
checking for getpid... yes
checking for gmtime_r... yes
checking for lldiv... yes
checking for localtime_r... yes
checking for nrand48... yes
checking for poll... yes
checking for posix_memalign... yes
checking for rewind... yes
checking for setenv... yes
checking for strcasecmp... yes
checking for strcasestr... yes
checking for strdup... yes
checking for strlcpy... no
checking for strndup... yes
checking for strnlen... yes
checking for strsep... yes
checking for strtof... yes
checking for strtok_r... yes
checking for strtoll... yes
checking for swab... yes
checking for tdestroy... yes
checking for strverscmp... yes
checking for fdatasync... yes
checking for static_assert in assert.h... yes
checking for working strcoll... yes
checking for accept4... yes
checking for pipe2... yes
checking for eventfd... yes
checking for vmsplice... yes
checking for sched_getaffinity... yes
checking for struct pollfd... yes
checking for library containing connect... none required
checking for library containing inet_pton... none required
checking for if_nameindex... yes
checking for if_nametoindex... yes
checking for socklen_t in sys/socket.h... yes
checking for struct sockaddr_storage... yes
checking for getopt_long... yes
checking for cos in -lm... yes
checking for lrintf in -lm... yes
checking for library containing dlsym... -ldl
checking for library containing pthread_rwlock_init... -lpthread
checking for clock_nanosleep in -lrt... yes
checking search.h usability... yes
checking search.h presence... yes
checking for search.h... yes
checking getopt.h usability... yes
checking getopt.h presence... yes
checking for getopt.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking xlocale.h usability... yes
checking xlocale.h presence... yes
checking for xlocale.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking netinet/udplite.h usability... no
checking netinet/udplite.h presence... no
checking for netinet/udplite.h... no
checking sys/eventfd.h usability... yes
checking sys/eventfd.h presence... yes
checking for sys/eventfd.h... yes
checking for net/if.h... yes
checking for sys/mount.h... yes
checking machine/param.h usability... no
checking machine/param.h presence... no
checking for machine/param.h... no
checking sys/shm.h usability... yes
checking sys/shm.h presence... yes
checking for sys/shm.h... yes
checking linux/version.h usability... yes
checking linux/version.h presence... yes
checking for linux/version.h... yes
checking linux/dccp.h usability... yes
checking linux/dccp.h presence... yes
checking for linux/dccp.h... yes
checking scsi/scsi.h usability... yes
checking scsi/scsi.h presence... yes
checking for scsi/scsi.h... yes
checking linux/magic.h usability... yes
checking linux/magic.h presence... yes
checking for linux/magic.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking mntent.h usability... yes
checking mntent.h presence... yes
checking for mntent.h... yes
checking for ssize_t... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for MINIZIP... no
checking unzip.h usability... no
checking unzip.h presence... no
checking for unzip.h... no
checking for IDN... yes
checking for DBUS... yes
checking for ntohl in sys/param.h... no
checking if gcc accepts -Wall... yes
checking if gcc accepts -Wextra... yes
checking if gcc accepts -Wsign-compare... yes
checking if gcc accepts -Wundef... yes
checking if gcc accepts -Wpointer-arith... yes
checking if gcc accepts -Wbad-function-cast... yes
checking if gcc accepts -Wwrite-strings... yes
checking if gcc accepts -Wmissing-prototypes... yes
checking if gcc accepts -Wvolatile-register-var... yes
checking if gcc accepts -Werror-implicit-function-declaration... yes
checking if gcc accepts -pipe... yes
checking if g++ accepts -Wall... yes
checking if g++ accepts -Wextra... yes
checking if g++ accepts -Wsign-compare... yes
checking if g++ accepts -Wundef... yes
checking if g++ accepts -Wpointer-arith... yes
checking if g++ accepts -Wvolatile-register-var... yes
checking if gcc accepts -fvisibility=hidden... yes
checking if gcc accepts -O4... yes
checking if gcc accepts -fno-math-errno... yes
checking if gcc accepts -funsafe-math-optimizations... yes
checking if gcc accepts -fno-rounding-math... yes
checking if gcc accepts -fno-signaling-nans... yes
checking if gcc accepts -fcx-limited-range... yes
checking if g++ accepts -fno-math-errno... yes
checking if g++ accepts -funsafe-math-optimizations... yes
checking if g++ accepts -fno-rounding-math... yes
checking if g++ accepts -fno-signaling-nans... yes
checking if g++ accepts -fcx-limited-range... yes
checking if gcc accepts -funroll-loops... yes
checking if gcc accepts -fomit-frame-pointer... yes
checking if linker supports -Bsymbolic... -Wl,-Bsymbolic
checking __attribute__ ((aligned ())) support... 64
checking for __attribute__((packed))... yes
checking execinfo.h usability... yes
checking execinfo.h presence... yes
checking for execinfo.h... yes
checking for backtrace... yes
checking if gcc groks 3D Now! inline assembly... no
checking for LUA... yes
checking for luac... /usr/bin/luac
checking for LIVE555... yes
checking for DC1394... yes
checking for DV1394... yes
checking for LINSYS_SDI... yes
checking for DVDREAD... yes
checking for DVDNAV... yes
checking for dvdnav_stream_cb in dvdnav/dvdnav.h... yes
checking for BLURAY... yes
checking for OPENCV... no
configure: WARNING: Library opencv > 2.0 needed for opencv was not found
checking for SMBCLIENT... yes
checking for SFTP... yes
checking linux/videodev2.h usability... yes
checking linux/videodev2.h presence... yes
checking for linux/videodev2.h... yes
checking sys/videoio.h usability... no
checking sys/videoio.h presence... no
checking for sys/videoio.h... no
checking DeckLinkAPIDispatch.cpp usability... no
checking DeckLinkAPIDispatch.cpp presence... no
checking for DeckLinkAPIDispatch.cpp... no
configure: WARNING: Blackmagic DeckLink SDI include files not found
checking for GNOMEVFS... no
configure: WARNING: Library gnome-vfs-2.0 needed for gnomevfs was not found
checking for cdrom_msf0 in linux/cdrom.h... yes
checking for scsireq in sys/scsiio.h... no
checking for ioc_toc_header in sys/cdio.h... no
checking for LIBCDDB... yes
checking for Linux DVB version 5.1... yes
checking for VNC... yes
checking for FREERDP... yes
checking for ASDCP... no
checking for DVBPSI... yes
checking gme/gme.h usability... no
checking gme/gme.h presence... no
checking for gme/gme.h... no
checking for SID... yes
checking sidplay/builders/resid.h usability... yes
checking sidplay/builders/resid.h presence... yes
checking for sidplay/builders/resid.h... yes
checking for OGG... yes
checking for LIBVORBIS... yes
checking for OGG... yes
checking for MUX_OGG... yes
checking for SHOUT... yes
checking ebml/EbmlVersion.h usability... yes
checking ebml/EbmlVersion.h presence... yes
checking for ebml/EbmlVersion.h... yes
checking for libebml version >= 1.0.0... yes
checking matroska/KaxVersion.h usability... yes
checking matroska/KaxVersion.h presence... yes
checking for matroska/KaxVersion.h... yes
checking for libmatroska version >= 1.0.0... yes
checking matroska/KaxAttachments.h usability... yes
checking matroska/KaxAttachments.h presence... yes
checking for matroska/KaxAttachments.h... yes
checking for main in -lebml_pic... no
checking for main in -lebml... yes
checking for LIBMODPLUG... yes
checking mpc/mpcdec.h usability... yes
checking mpc/mpcdec.h presence... yes
checking for mpc/mpcdec.h... yes
checking for SHINE... yes
checking for libcrystalhd/libcrystalhd_if.h... no
checking mad.h usability... yes
checking mad.h presence... yes
checking for mad.h... yes
checking for mad_bit_init in -lmad... yes
checking for libavutil variant... ffmpeg
checking for GST_APP... yes
checking for GST_VIDEO... yes
checking for AVCODEC... yes
checking libavcodec/avcodec.h usability... yes
checking libavcodec/avcodec.h presence... yes
checking for libavcodec/avcodec.h... yes
checking libavutil/avutil.h usability... yes
checking libavutil/avutil.h presence... yes
checking for libavutil/avutil.h... yes
checking for LIBVA_DRM... yes
checking for LIBVA_X11... yes
checking libavcodec/vaapi.h usability... yes
checking libavcodec/vaapi.h presence... yes
checking for libavcodec/vaapi.h... yes
configure: VA API acceleration activated
checking for AVFORMAT... yes
checking libavformat/avformat.h usability... yes
checking libavformat/avformat.h presence... yes
checking for libavformat/avformat.h... yes
checking libavformat/avio.h usability... yes
checking libavformat/avio.h presence... yes
checking for libavformat/avio.h... yes
checking for libavcodec/avcodec.h... (cached) yes
checking for libavutil/avutil.h... (cached) yes
checking for SWSCALE... yes
checking libswscale/swscale.h usability... yes
checking libswscale/swscale.h presence... yes
checking for libswscale/swscale.h... yes
checking for libavutil/avutil.h... (cached) yes
checking for POSTPROC... yes
checking postproc/postprocess.h usability... no
checking postproc/postprocess.h presence... no
checking for postproc/postprocess.h... no
checking faad.h usability... yes
checking faad.h presence... yes
checking for faad.h... yes
checking for faacDecOpen in -lfaad... no
checking for NeAACDecOpen in -lfaad... yes
checking for VPX... no
checking for TWOLAME... yes
checking a52dec/a52.h usability... yes
checking a52dec/a52.h presence... yes
checking for a52dec/a52.h... yes
checking for a52_free in -la52... yes
checking for DCA... yes
checking for FLAC... no
configure: WARNING: Library flac needed for flac was not found
checking for LIBMPEG2... yes
checking for VORBIS... yes
checking for SPEEX... yes
checking for SPEEXDSP... yes
checking for OPUS... yes
checking for THEORA... yes
checking for SCHROEDINGER... yes
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for png_set_rows in -lpng... yes
checking jpeglib.h usability... yes
checking jpeglib.h presence... yes
checking for jpeglib.h... yes
checking for X262... no
checking for X265... no
configure: WARNING: Library x265 needed for x265 was not found
checking for X26410B... no
checking for X264... yes
checking for MFX... no
configure: WARNING: Library libmfx needed for mfx was not found
checking for FLUIDSYNTH... yes
checking for ZVBI... yes
checking for LIBASS... yes
checking fontconfig/fontconfig.h usability... yes
checking fontconfig/fontconfig.h presence... yes
checking for fontconfig/fontconfig.h... yes
checking for KATE... yes
checking for TIGER... no
checking for EGL... no
checking for GL... no
checking for GLES2... yes
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking X11/Xlib.h usability... yes
checking X11/Xlib.h presence... yes
checking for X11/Xlib.h... yes
checking for XCB... yes
checking for XCB_SHM... yes
checking for XCB_COMPOSITE... yes
checking for XPROTO... yes
checking for XCB_XV... yes
checking for XCB_RANDR... yes
checking for XCB_KEYSYMS... yes
checking for VDPAU... yes
configure: VDPAU decoding acceleration activated
checking for SDL... yes
checking for SDL_IMAGE... yes
checking for FREETYPE... yes
checking Carbon/Carbon.h usability... no
checking Carbon/Carbon.h presence... no
checking for Carbon/Carbon.h... no
checking for fontconfig/fontconfig.h... (cached) yes
checking for FRIBIDI... yes
checking for SVG... yes
checking for SVGDEC... yes
checking linux/fb.h usability... yes
checking linux/fb.h presence... yes
checking for linux/fb.h... yes
checking for CACA... yes
checking kva.h usability... no
checking kva.h presence... no
checking for kva.h... no
checking for PULSE... yes
checking for ALSA... yes
checking sndio.h usability... no
checking sndio.h presence... no
checking for sndio.h... no
checking audioclient.h usability... no
checking audioclient.h presence... no
checking for audioclient.h... no
checking for JACK... yes
checking for SAMPLERATE... yes
checking kai.h usability... no
checking kai.h presence... no
checking for kai.h... no
checking for CHROMAPRINT... yes
checking for QT... no
checking for QT... yes
checking for moc-qt4... /usr/bin/moc-qt4
checking for rcc... /usr/bin/rcc
checking for uic-qt4... /usr/bin/uic-qt4
checking whether Qt uses Xlib... yes
checking for XPM... yes
checking for XINERAMA... yes
checking for XEXT... yes
checking libtar.h usability... no
checking libtar.h presence... no
checking for libtar.h... no
checking for NCURSES... yes
checking for GOOM... no
configure: WARNING: Library libgoom2 needed for goom was not found
checking for PROJECTM... no
configure: WARNING: No package 'libprojectM' found.
checking for VSXU... no
configure: WARNING: No package 'libvsxu' found.
checking for BONJOUR... yes
checking for UDEV... yes
checking for MTP... yes
checking for UPNP... yes
checking for LIBXML2... yes
checking whether GCRYCTL_SET_THREAD_CBS is declared... yes
checking for gcry_control in -lgcrypt... yes
checking for GNUTLS... yes
checking for TAGLIB... yes
checking for NOTIFY... yes
checking whether byte ordering is bigendian... no
./configure: line 52808: kde4-config: command not found
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating modules/Makefile
config.status: creating m4/Makefile
config.status: creating po/Makefile.in
config.status: creating share/Makefile
config.status: creating compat/Makefile
config.status: creating src/Makefile
config.status: creating lib/Makefile
config.status: creating bin/Makefile
config.status: creating test/Makefile
config.status: creating modules/access_output/Makefile
config.status: creating modules/audio_filter/Makefile
config.status: creating modules/control/Makefile
config.status: creating modules/gui/Makefile
config.status: creating modules/gui/ios_dialog_provider/Makefile
config.status: creating modules/gui/macosx/Makefile
config.status: creating modules/gui/minimal_macosx/Makefile
config.status: creating modules/gui/macosx_dialog_provider/Makefile
config.status: creating modules/gui/qt4/Makefile
config.status: creating modules/gui/skins2/Makefile
config.status: creating modules/misc/Makefile
config.status: creating modules/mux/Makefile
config.status: creating modules/packetizer/Makefile
config.status: creating modules/stream_out/Makefile
config.status: creating modules/text_renderer/Makefile
config.status: creating modules/video_filter/Makefile
config.status: creating modules/video_output/Makefile
config.status: creating modules/visualization/Makefile
config.status: creating modules/hw/vdpau/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
libvlc configuration
--------------------
version : 2.2.6
system : linux
architecture : aarch64
optimizations : yes
vlc aliases : cvlc rvlc qvlc svlc nvlc
To build vlc and its plugins, type `make', or `./compile' if you like nice colors
4.compile vlc
----make
Error:access/dvb/scan.c:772:17: error: unknown type name ‘dvbpsi_service_dr_t’
solution: I search all around the world,find this structure is contained in header file "dr_48.h" addr: https://www.videolan.org/developers/libdvbpsi/doc/doxygen/html/dr_48_8h_source.html
this file under the dir /usr/include/dvbpsi/dvb/dr_48.h,/dvbpsi/dr.h has include /dvb/dr_48.h,so why cannot usr struct in dr_48.h?
got it!! all over everywhere, the struct name is "dvbpsi_service_dr_t",guess what is name in my new version dr_48.h??its "dvbpsi_dvb_service_dr_t",do you find the difference??f**k
Its my fault, I should install libdvbpsi lower version.
return to this article begin postion,reinstall the lower version libdvbpsi,then re compile vlc
----make
Error: /usr/bin/ld: /usr/local/lib/libavformat.a(apngenc.o): relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `__stack_chk_guard@@GLIBC_2.17' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libavformat.a(apngenc.o)(.text+0xf4): unresolvable R_AARCH64_ADR_PREL_PG_HI21 relocation against symbol `__stack_chk_guard@@GLIBC_2.17'
/usr/bin/ld: final link failed: Bad value
solution1 : https://bugs.launchpad.net/linaro-oe/+bug/1089933 look at ten floor unuseful,but not fixed
solution2 : configure add --enable-pic , no useful
solution3 : Makefile CFLAGS add -fPIC no useful
solution4 : in front of configure ,add CFLAGS="-fno-stack-protector -O2"(no neccesary add this )
solution5 : all above ,the library which throw error(libavformat.a) is static ,but here we need shared library, so needs to compile the library with "-fPIC"....So I must reinstall libavformat.a ,when compile use the flag "-fPIC",so reinstall ffmpeg??
its true,reinstall ffmpeg my vlc make is ok.(How do it ??When re configure ffmpeg, add CFLAGS="-fPIC")
----make
after one night ,in the morning second day ,its success
4.install vlc
sudo make install
5.reboot
6.execute vlc
Error:vlc X error baddrawable invalid pixmap or window parameter
solution:edit /etc/environment,add line "QT_X11_NO_MITSHM=1" ,its OK
7.execute vlc
no way!!!this vlc with OpenMAX cannot use the GPU or other Hard Acceleration device on my RockChip RK3399 board,so I have to give up VLC!!!!
标签:Acceleration,...,use,presence,dev,nochecking,decode,yeschecking,usability 来源: https://www.cnblogs.com/jieliujas/p/10690663.html