[Ffmpeg-devel] The "Intermingled Mess" issue.

Colin Ward lists
Tue Sep 20 02:55:10 CEST 2005

Christian Iversen wrote:


> Just my 5c, but wouldn't something like "make menuconfig" from the Linux 
> kernel be the perfect way to configure ffmpeg? For instance, MP3_DECODER 
> could depend on COMMON_MPEG_ROUTINES which could pull in SOME_IDCT_ROUTINE, 
> etc. All this would happen automatically, and the user would have no problem 
> configuring this library. 
> This is just a loose idea, of course - any comments?

   This is a good idea, but one thing to keep in mind is that FFMPEG 
runs on many, many different systems.  So we can't assume that all of 
those systems will have these tools for making makefiles, that people 
have talked about elsewhere in this thread.  For instance, my Amiga 
operating system has very primitive build tools compared to say, Linux.

   Also, what tool is used to make the makefile is actually a separate 
conversation.  Before *any* tool can be used we need to ensure that the 
source code has an adequate number of #ifdef CONFIG_* and #ifdef HAVE_* 
and #ifdef USE_* (or whatever) so that it can be built to target 
different uses.  Currently it doesn't have quite enough of those 
#ifdefs, so things can be interdependent.

   I once wrote an audio/video engine in my work that could be 
configured with #ifdefs to compile as something as small as a 64k video 
player, and which could then scale right up to a 350k multimedia system 
with support for multiple video and audio codecs, Flash style 
functionality, vector graphics and text.  Plus you could configure it to 
use any combination of this functionality.  So it can be done, but it 
requires a much smaller configuration granularity than including or not 
including certain modules.

   I noticed in the "[Ffmpeg-devel] [PATCH] disabling encoders in 
libavformat" thread someone else submitted a (rejected) patch to disable 
encoders, so obviously I am not the only one having problems.  I will 
try to find time to make a patch myself tonight.

[Hitman/Code HQ - 6502/z80/68000/604e/80x86/ARM coder - Amiga rulez!]
[VZ-200/VIC-20/MZ-700/c16/c64*10/c128*8/Plus-4/CPC464/CD32/500*2    ]
[600/1000/1200*2/A4000/SNES/N64/Dreamcast/Athlon 1100/AmigaOne      ]
[Assembly Language: The most fun you can have with your clothes on! ]

More information about the ffmpeg-devel mailing list