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

Måns Rullgård mans
Wed Sep 3 01:56:20 CEST 2008


Justin Ruggles <justin.ruggles at gmail.com> writes:

> 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.  I would revert to the old behavior
> if E-AC-3 is passed to the decoder when it's not enabled.  Also, I would
> split out those tables (especially the VQ tables) which are only used
> for E-AC-3.

IMO, the decoder should accept both variants, whichever codec id is
used, if both are enabled.

> 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.  It is
> fairly easy thing to do if we choose to allow it.

Having the option to disable E-AC-3 only might be useful.

-- 
M?ns Rullg?rd
mans at mansr.com




More information about the ffmpeg-cvslog mailing list