[FFmpeg-devel] a potential licensing conflict in libavfilter

D M German dmg at uvic.ca
Sat Jul 2 11:00:40 CEST 2011


hi everybody,

I am a researcher who specializes in licensing of software (for example
we have developed a licensing identification tool called ninka:
http://ninka.turingmachine.org)

My collaborators and I are currently trying to develop a tool to try to
understand what sources are used to create a binary. We felt that ffmpeg
was a good candidate to test our tool due to the fact that its binaries
can be generated under different licenses (each with different
contents).

We compiled ffmpeg with the default parameters, and found that one file:
libavfilter/x86/gradfun.c (GPLv2+) appears to be used to create the LGPL
libavfilter library.

Looking at the build files. The bottom of libavfilter/Makefile contains:

----------------------------------------------------------------------
DIRS = x86 libmpcodecs
----------------------------------------------------------------------

The directory libmpcodecs does not contain a Makefile (hence it is
ignored). But x86 contains a Makefile:

MMX-OBJS-$(CONFIG_YADIF_FILTER)              += x86/yadif.o
MMX-OBJS-$(CONFIG_GRADFUN_FILTER)            += x86/gradfun.o

libavfilter/x86/gradfun.c and libavfilter/x86/yadif.c are GPLv2+ 

We have traced the building of the library;

- libavfilter/x86/yadif.c does not get compiled. But
- libavfilter/x86/gradfun.c does, and it seems to be incorporated into the
  library.

And the symbol is in the output library:

dmg at i:/tmp/ffmpeg$ nm -a ./libavfilter/libavfilter.a  | grep ff_gradfun_filter_line_mmx2
         U ff_gradfun_filter_line_mmx2
00000250 T ff_gradfun_filter_line_mmx2


Here is the dependency graph for the library (libavfilter.a) we have
built. The file in question (libavfilter/x86/gradfun.c) is shown in
red. Files in ffmpeg are in blue, the library in green (far right).

http://turingmachine.org/~dmg/temp/ffmpeg_no_gpl_libavfilter.pdf


Did we find a potential bug or are we missing something?

Thanks a lot for any help!

--daniel



--
Daniel M. German                  
http://turingmachine.org/
http://silvernegative.com/
dmg (at) uvic (dot) ca
replace (at) with @ and (dot) with .


More information about the ffmpeg-devel mailing list