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

Justin Ruggles justin.ruggles
Wed Sep 3 01:37:47 CEST 2008


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.

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.

-Justin




More information about the ffmpeg-cvslog mailing list