[FFmpeg-cvslog] r15151 - in trunk: configure libavcodec/Makefile

Aurelien Jacobs aurel
Wed Sep 3 02:06:59 CEST 2008


On Tue, 02 Sep 2008 19:37:47 -0400
Justin Ruggles <justin.ruggles at gmail.com> wrote:

> Diego Biurrun wrote:
> > On Wed, Sep 03, 2008 at 12:45:18AM +0200, Aurelien Jacobs wrote:
> >> On Wed, 3 Sep 2008 00:27:56 +0200
> >> Diego Biurrun <diego at biurrun.de> wrote:
> >>
> >>> On Tue, Sep 02, 2008 at 10:54:53PM +0200, Aurelien Jacobs wrote:
> >>>> On Tue, 2 Sep 2008 19:06:29 +0200
> >>>> Diego Biurrun <diego at biurrun.de> wrote:
> >>>>
> >>>>> On Tue, Sep 02, 2008 at 06:04:27AM +0200, jbr wrote:
> >>>>>> Log:
> >>>>>> add a separate line in Makefile for E-AC-3 decoder and only compile it when
> >>>>>> GPL is enabled. fixes building without GPL or with liba52.
> >>>>>>
> >>>>>> --- trunk/configure	(original)
> >>>>>> +++ trunk/configure	Tue Sep  2 06:04:26 2008
> >>>>>> @@ -848,6 +848,7 @@ byteswap_h_deps="!armv4l"
> >>>>>>  # decoders / encoders
> >>>>>>  ac3_decoder_deps="gpl !liba52"
> >>>>>>  dxa_decoder_deps="zlib"
> >>>>>> +eac3_decoder_deps="gpl"
> >>>>>>
> >>>>>> --- trunk/libavcodec/Makefile	(original)
> >>>>>> +++ trunk/libavcodec/Makefile	Tue Sep  2 06:04:26 2008
> >>>>>> @@ -63,6 +63,7 @@ OBJS-$(CONFIG_DVDSUB_ENCODER)          +
> >>>>>>  OBJS-$(CONFIG_DXA_DECODER)             += dxa.o
> >>>>>> +OBJS-$(CONFIG_EAC3_DECODER)            += eac3dec.o ac3dec.o ac3tab.o ac3dec_data.o ac3.o mdct.o fft.o
> >>>>> I think it's easier to just make the E-AC-3 decoder depend on the AC-3
> >>>>> decoder.
> >>>> ./configure --enable-gpl --enable-decoder=eac3 --disable-decoder=ac3
> >>>> works fine, and I see no valid reason to prevent it
> >>> Small wonder - these flags have no effect at all.
> >> They have an effect !
> >> With this configure line the ac3_decoder won't be registered with
> >> register_avcodec().
> >> And thus CODEC_ID_AC3 won't be handled by any decoder.
> > 
> > Let me rephrase: They are pointless since the code is compiled, but the
> > codec is not registered.  What for?  Disabling codecs makes sense when
> > you wish to reduce libavcodec's size.
> 
> I could reduce the size of the code for those who don't want E-AC-3
> decoding by splitting it up some more.  I would basically put #ifdefs
> around the parts in ac3dec.c that call functions in eac3dec.c so that
> eac3dec.c does not have to be built.

That would definitely be welcome (even if it's probably not a high
priority thing).
And you may also consider using if(ENABLE_EAC3_DECODER && ...)
instead of #ifdef CONFIG_EAC3_DECODER, at least at some places.
This can make the code considerably more readable.

> I don't completely agree with Aurel that they should be treated equally.
>  E-AC-3 is a superset of AC-3.  The user may want to disable that
> superset to save size, but keep the base AC-3 support.

But I still think that a user don't need to know that they both
share code. And in that sens, a user will treat them equally.
Even if we, developpers, know that there is a hierarchy at the
code level.

Now, if we can decrease the code size in some situation, with
so configuration combination, that's always welcome !

Aurel




More information about the ffmpeg-cvslog mailing list