GNOME Bugzilla – Bug 729755
vpx doesn't register vp8enc as element of plugin
Last modified: 2014-05-23 08:38:44 UTC
I can't use "vp8enc" in the pipeline. However, I can use "vp8dec". If I do a strings of lib/gstreamer-1.0/static/libgstvpx.a, and grep for "vp8enc" all I get is: libgstvpx_la-gstvp8enc.o/ gstvp8enc.c But "vp8dec" gives: gstvp8dec.c vp8dec gstvp8dec.c:268 gstvp8dec.c:237 gstvp8dec.c gstvp8dec.h gstvp8dec.c gst_vp8dec_debug gstvp8dec.c gst_vp8dec_debug vp8dec gstvp8dec.h which leads me to believe that there's a problem with the vp8enc element. The libs are from gstreamer-1.0-android-arm-1.2.4.1-debug.zip
This is the problem, the configure check should probably include -lm... as the pkg-config file does not do that unfortunately. configure:35093: checking for vpx_codec_vp8_cx_algo in -lvpx configure:35118: arm-linux-androideabi-gcc -fuse-ld=gold -std=gnu99 -o conftest -Wall -g -Os --sysroot=/home/slomo/Projects/android/android-ndk-r9d/platforms/android-9/arch-arm -I/home/slomo/Projects/android/android-ndk-r9d/platforms/android-9/arch-arm/usr/include -ffunction-sections -funwind-tables -fstack-protector -no-canonical-prefixes -fPIC -mthumb -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -march=armv5te -mtune=xscale -msoft-float -DANDROID -DPIC -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -Wa,--noexecstack -Wno-error --sysroot=/home/slomo/Projects/android/android-ndk-r9d/platforms/android-9/arch-arm -I/home/slomo/Projects/android/android-ndk-r9d/platforms/android-9/arch-arm/usr/include -DANDROID -DPIC -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -Wno-error -I/home/slomo/Projects/gstreamer/cerbero/dist/android-debug/include -L/home/slomo/Projects/gstreamer/cerbero/dist/android-debug/lib --sysroot=/home/slomo/Projects/android/android-ndk-r9d/platforms/android-9/arch-arm -fPIC -no-canonical-prefixes -Wl,-no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--gc-sections -Wl,-z,nocopyreloc -Wl,-dynamic-linker,/system/bin/linker -L/home/slomo/Projects/android/android-ndk-r9d/platforms/android-9/arch-arm/usr/lib conftest.c -lvpx -L/home/slomo/Projects/gstreamer/cerbero/dist/android-debug/lib -lvpx >&5 vp8/encoder/onyx_if.c:1699: error: undefined reference to 'log' vp8/encoder/psnr.c:23: error: undefined reference to 'log10' vp8/encoder/rdopt.c:273: error: undefined reference to 'pow' collect2: error: ld returned 1 exit status
And newer libvpx versions apparently fix that too. I'll update to the latest version before the next binary release.
commit cd3867cb4ba3f03801060529ea1e459959cb91df Author: Sebastian Dröge <sebastian@centricular.com> Date: Fri May 23 10:29:27 2014 +0200 libvpx: Update to 1.3.0 VP9 support \o/ Also contains a fixed pkg-config file that makes encoder detection in gst-plugins-good's configure work again. https://bugzilla.gnome.org/show_bug.cgi?id=729755