[FFmpeg-user] libavformat dependecies are too sophisticated

Alexey Umnov umnoff at gmail.com
Mon Dec 5 12:35:34 CET 2011


Hello!
I'm building ffmpeg codecs for Android now, namely h264 decoder. Here
is my configure command:
../configure \
		--enable-cross-compile \
		--prefix=$INSTALL_PATH \
		--cross-prefix=$CROSS_PREFIX \
		--sysroot=$SYSROOT_PATH \
		--cc=$TOOLCHAIN_PATH/bin/${CROSS_PREFIX}gcc \
		--nm=$TOOLCHAIN_PATH/bin/${CROSS_PREFIX}nm \
		--ar=$TOOLCHAIN_PATH/bin/${CROSS_PREFIX}ar \
		--arch=arm \
		--target-os=linux \
		--disable-stripping \
		--extra-cflags=" -fPIC -DANDROID " \
		--extra-libs="-lm_addon" \
		--enable-nonfree \
		--enable-shared \
		--disable-debug \
		 \
		--disable-ffmpeg \
		--disable-ffplay \
		--disable-ffserver \
		--disable-ffprobe \
		--disable-encoders \
		--disable-muxers \
		--disable-devices \
		--disable-protocols \
		--enable-protocol=file \
		--enable-avfilter \
		--disable-network \
		--disable-avdevice

Build is going fine. However, libavformat dependencies seems too sophisticated:
~/usr/lib$ ldd ./libavformat.so
	linux-vdso.so.1 =>  (0x00007fffaa9ff000)
	libavcodec.so.53 => /usr/lib/libavcodec.so.53 (0x00007fc976066000)
	libavutil.so.51 => /usr/lib/libavutil.so.51 (0x00007fc975e48000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc975ba1000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fc975989000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc97576c000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc9753cc000)
	libvpx.so.0 => /usr/lib/libvpx.so.0 (0x00007fc97512b000)
	libvorbisenc.so.2 => /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2
(0x00007fc974c5c000)
	libvorbis.so.0 => /usr/lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007fc974a2f000)
	libtheoraenc.so.1 => /usr/lib/libtheoraenc.so.1 (0x00007fc9747f0000)
	libtheoradec.so.1 => /usr/lib/libtheoradec.so.1 (0x00007fc9745d6000)
	libspeex.so.1 => /usr/lib/x86_64-linux-gnu/libspeex.so.1 (0x00007fc9743bc000)
	libschroedinger-1.0.so.0 => /usr/lib/libschroedinger-1.0.so.0
(0x00007fc974116000)
	libgsm.so.1 => /usr/lib/libgsm.so.1 (0x00007fc973f08000)
	libva.so.1 => /usr/lib/libva.so.1 (0x00007fc973cdd000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fc97708c000)
	libogg.so.0 => /usr/lib/x86_64-linux-gnu/libogg.so.0 (0x00007fc973ad6000)
	liborc-0.4.so.0 => /usr/lib/liborc-0.4.so.0 (0x00007fc97385c000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc973658000)

Is it possible to safely exclude all the code that entails
dependencies on following during ffmpeg build?:
	libvpx.so.0
	libvorbisenc.so.2
	libvorbis.so.0
	libtheoraenc.so.1
	libtheoradec.so.1
	libspeex.so.1
	libschroedinger-1.0.so.0
	libgsm.so.1
	libva.so.1
	libogg.so.0
	liborc-0.4.so.0
	libdl.so.2

All I need is h264 decoder. Are all of these dependencies above are
vital? And how to avoid them?

Thank You!
----------------------------
Best regards!

Alexey Umnov
umnoff at gmail.com


More information about the ffmpeg-user mailing list