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

Aurelien Jacobs aurel
Wed Sep 3 01:39:03 CEST 2008


On Wed, 3 Sep 2008 01:29:15 +0200
Diego Biurrun <diego at biurrun.de> wrote:

> On Wed, Sep 03, 2008 at 01:21:13AM +0200, Aurelien Jacobs wrote:
> > On Wed, 3 Sep 2008 00:57:57 +0200
> > Diego Biurrun <diego at biurrun.de> 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?
> > 
> > There isn't much reason to do this on purpose, except for controling
> > precisely which CODEC_ID you want that lavc accept decoding or not.
> > But this is not the point. Users don't know about all of that.
> > And some users will triger this situation, especially by disabling
> > everything and only enabling eac3 decoder. And I can't imagine
> > any valid argument why we should fail such a request. Is there any ?
> 
> I think that users would expect this to eliminate some code.

And this will actually eliminate *lots* of code when users do
--disable-decoders --enable-decoder=eac3
Here the user don't care whether all the ac3 decoding code is
still present or note. He just want to enable eac3 and elminate
as much code as possible.

> > Oh, and you propose to make eac3 depends on ac3, but why wouldn't
> > it be the opposit ? Why placing one of them in a favored situation ?
> > They should IMO be treated in a stricly equal way.
> 
> No, my proposition is to just have an AC-3 decoder and mention that it
> supports E-AC-3 as well.

That's the way it was when Justin commited the last part of the eac3
decoder. But This didn't allowed proper muxing of eac3 in various
containers.

Aurel




More information about the ffmpeg-cvslog mailing list