[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:

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

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

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).


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

Thanks a lot for any help!


Daniel M. German                  
dmg (at) uvic (dot) ca
replace (at) with @ and (dot) with .

More information about the ffmpeg-devel mailing list