GNOME Bugzilla – Bug 532779
ffmpeg configured with options leading to GPL license
Last modified: 2011-10-31 10:12:50 UTC
./autogen.sh in gst-ffmpeg CVS results in this for me: ... === configuring in gst-libs/ext/ffmpeg (/home/tpm/uninstalled/clean/gst-ffmpeg/gst-libs/ext/ffmpeg) configure: running /bin/bash ./configure '--prefix=/usr/local' '--disable-ffmpeg' '--disable-vhook' '--disable-ffserver' '--disable-ffplay' '--enable-postproc' '--enable-gpl' '--enable-static' '--enable-shared' '--disable-encoder=flac' '--disable-decoder=cavs' --cache-file=/dev/null --srcdir=. Unknown option "--cache-file=/dev/null". See ./configure --help for available options. Unknown option "--srcdir=.". See ./configure --help for available options. install prefix /usr/local source path /home/tpm/uninstalled/clean/gst-ffmpeg/gst-libs/ext/ffmpeg C compiler gcc .align is power-of-two no ARCH x86_64 (generic) big-endian no MMX enabled yes CMOV enabled no CMOV is fast no EBX available yes EBP available yes gprof enabled no debug symbols yes strip symbols yes optimizations yes static yes shared yes postprocessing support yes software scaler enabled no new filter support no filters using lavformat no video hooking no network support yes IPv6 support yes threading support no SDL support yes Sun medialib support no AVISynth enabled no liba52 support no liba52 dlopened no libamr-nb support no libamr-wb support no libdc1394 support no libdirac enabled no libfaac enabled no libfaad enabled no libfaad dlopened no libgsm enabled no libmp3lame enabled no libnut enabled no libschroedinger enabled no libtheora enabled no libvorbis enabled no x264 enabled no XviD enabled no zlib enabled yes Enabled decoders: aasc fraps qdraw ac3 gif qpeg adpcm_4xm h261 qtrle adpcm_adx h263 ra_144 adpcm_ct h263i ra_288 adpcm_ea h264 rawvideo adpcm_ea_maxis_xa huffyuv rl2 adpcm_ea_r1 idcin roq adpcm_ea_r2 imc roq_dpcm adpcm_ea_r3 indeo2 rpza adpcm_ea_xas indeo3 rv10 adpcm_g726 interplay_dpcm rv20 adpcm_ima_amv interplay_video sgi adpcm_ima_dk3 jpegls shorten adpcm_ima_dk4 kmvc smackaud adpcm_ima_ea_eacs loco smacker adpcm_ima_ea_sead mace3 smc adpcm_ima_qt mace6 snow adpcm_ima_smjpeg mdec sol_dpcm adpcm_ima_wav mimic sonic adpcm_ima_ws mjpeg sp5x adpcm_ms mjpegb sunrast adpcm_sbpro_2 mmvideo svq1 adpcm_sbpro_3 mp2 svq3 adpcm_sbpro_4 mp3 targa adpcm_swf mp3adu theora adpcm_thp mp3on4 thp adpcm_xa mpc7 tiertexseqvideo adpcm_yamaha mpc8 tiff alac mpeg1video truemotion1 amv mpeg2video truemotion2 ape mpeg4 truespeech asv1 mpegvideo tscc asv2 msmpeg4v1 tta atrac3 msmpeg4v2 txd avs msmpeg4v3 ulti bethsoftvid msrle vb bfi msvideo1 vc1 bmp mszh vcr1 c93 nellymoser vmdaudio cinepak nuv vmdvideo cljr pcm_alaw vmnc cook pcm_mulaw vorbis cscd pcm_s16be vp3 cyuv pcm_s16le vp5 dca pcm_s16le_planar vp6 dnxhd pcm_s24be vp6a dsicinaudio pcm_s24daud vp6f dsicinvideo pcm_s24le vqa dvbsub pcm_s32be wavpack dvdsub pcm_s32le wmav1 dvvideo pcm_s8 wmav2 dxa pcm_u16be wmv1 eightbps pcm_u16le wmv2 eightsvx_exp pcm_u24be wmv3 eightsvx_fib pcm_u24le wnv1 escape124 pcm_u32be ws_snd1 ffv1 pcm_u32le xan_dpcm ffvhuff pcm_u8 xan_wc3 flac pcm_zork xl flashsv pcx xsub flic png zlib flv ptx zmbv fourxm qdm2 Enabled encoders: ac3 mjpeg pcm_u8 adpcm_adx mp2 pcm_zork adpcm_g726 mpeg1video pgm adpcm_ima_qt mpeg2video pgmyuv adpcm_ima_wav mpeg4 png adpcm_ms msmpeg4v1 ppm adpcm_swf msmpeg4v2 qtrle adpcm_yamaha msmpeg4v3 rawvideo asv1 pam roq asv2 pbm roq_dpcm bmp pcm_alaw rv10 dnxhd pcm_mulaw rv20 dvbsub pcm_s16be sgi dvdsub pcm_s16le snow dvvideo pcm_s24be sonic ffv1 pcm_s24daud sonic_ls ffvhuff pcm_s24le svq1 flashsv pcm_s32be targa flv pcm_s32le tiff gif pcm_s8 vorbis h261 pcm_u16be wmav1 h263 pcm_u16le wmav2 h263p pcm_u24be wmv1 huffyuv pcm_u24le wmv2 jpegls pcm_u32be zlib ljpeg pcm_u32le zmbv Enabled parsers: aac dvdsub mpeg4video ac3 h261 mpegaudio cavsvideo h263 mpegvideo dca h264 pnm dirac mjpeg vc1 dvbsub mlp Enabled demuxers: aac iff pcm_u8 ac3 image2 pva aiff image2pipe rawvideo amr ingenient redir apc ipmovie rl2 ape lmlm4 rm asf m4v roq au matroska rpl avi mjpeg rtsp avs mm sdp bethsoftvid mmf segafilm bfi mov shorten c93 mp3 siff daud mpc smacker dirac mpc8 sol dsicin mpegps str dts mpegts swf dv mpegtsraw thp dxa mpegvideo tiertexseq ea msnwc_tcp tta ea_cdata mtv txd ffm mxf vc1 flac nsv vc1t flic nut vmd flv nuv voc fourxm ogg wav gif pcm_alaw wc3 gsm pcm_mulaw wsaud gxf pcm_s16be wsvqa h261 pcm_s16le wv h263 pcm_s8 xa h264 pcm_u16be yuv4mpegpipe idcin pcm_u16le Enabled muxers: ac3 image2 nut adts image2pipe ogg aiff ipod pcm_alaw amr m4v pcm_mulaw asf matroska pcm_s16be asf_stream matroska_audio pcm_s16le au mjpeg pcm_s8 avi mmf pcm_u16be avm2 mov pcm_u16le crc mp2 pcm_u8 dirac mp3 psp dts mp4 rawvideo dv mpeg1system rm ffm mpeg1vcd roq flac mpeg1video rtp flv mpeg2dvd swf framecrc mpeg2svcd tg2 gif mpeg2video tgp gxf mpeg2vob voc h261 mpegts wav h263 mpjpeg yuv4mpegpipe h264 null Enabled protocols: file pipe tcp http rtp udp Enabled filters: crop Enabled bsfs: dump_extradata mov2textsub noise h264_mp4toannexb mp3_header_compress remove_extradata imx_dump_header mp3_header_decompress text2movsub mjpega_dump_header Enabled indevs: dv1394 v4l v4l2 oss Enabled outdevs: oss License: GPL Creating config.mak and config.h... Now type 'make' to compile gst-ffmpeg. I think there's quite a bit of stuff that should be disabled, no?
The reason we add it is because of postprocessing : Here is what happens when you configure with --disable-gpl: === configuring in gst-libs/ext/ffmpeg (/home/bilboed/work/devel/gst-ffmpeg/gst-libs/ext/ffmpeg) configure: running /bin/sh ./configure --disable-option-checking '--prefix=/usr' '--disable-ffmpeg' '--disable-vhook' '--disable-ffserver' '--disable-ffplay' '--enable-postproc' '--disable-gpl' '--enable-static' '--enable-shared' '--disable-encoder=flac' '--disable-decoder=cavs' --cache-file=/dev/null --srcdir=. Unknown option "--disable-option-checking". See ./configure --help for available options. Unknown option "--cache-file=/dev/null". See ./configure --help for available options. Unknown option "--srcdir=.". See ./configure --help for available options. The Postprocessing code is under GPL and --enable-gpl is not specified. If you think configure made a mistake, make sure you are using the latest version from SVN. If the latest version fails, report the problem to the ffmpeg-user@mplayerhq.hu mailing list or IRC #ffmpeg on irc.freenode.net. Include the log file "config.err" produced by configure as this will help solving the problem. configure: error: ./configure failed for gst-libs/ext/ffmpeg configure failed
In fact... there's only a very small amount of GPL code in the libavcodec/libavformat/libavutil libraries (the one used for the main ffmpeg gstplugin). Ideally... we want to build those 3 libraries as LGPL (without any GPL code), and still build postproc... which'll obviously be GPL.
Bringing severity down after chatting with tim.
*** Bug 654037 has been marked as a duplicate of this bug. ***
Patch from duplicate bug #654037 looks valid to fix this issue.
Module: gst-ffmpeg Branch: master Commit: 77fa4072ee70f26e3182517b952392d71233c5db URL: http://cgit.freedesktop.org/gstreamer/gst-ffmpeg/commit/?id=77fa4072ee70f26e3182517b952392d71233c5db Author: Martin Storsjo <martin@martin.st> Date: Tue Jul 5 21:35:46 2011 +0300 Allow building a LGPL only gst-ffmpeg plugin This removes --enable-gpl and --enable-postproc from the ffmpeg configure line, and disables building the postproc gstreamer plugin. https://bugzilla.gnome.org/show_bug.cgi?id=654037