[FFmpeg-devel] [RFC] no longer marking native aac encoder as experimental

Andreas Cadhalpun andreas.cadhalpun at googlemail.com
Tue Dec 2 01:32:10 CET 2014


On 02.12.2014 00:09, Michael Niedermayer wrote:
> On Mon, Dec 01, 2014 at 11:09:47PM +0100, Andreas Cadhalpun wrote:
>> On 01.12.2014 04:37, Michael Niedermayer wrote:
>>> this would result in the native encoder being used even when libfaac
>>> is enabled and linked in
>>> is that intended ?
>> Yes, even though this could/should be improved further.
>> Currently ffmpeg already tries to use the native aac encoder even if
>> libfaac is available, but then fails without '-strict -2':
>> "The encoder 'aac' is experimental but experimental codecs are not
>> enabled, add '-strict -2' if you want to use it.
>> Alternatively use the non experimental encoder 'libfaac'."
>> It would be nice if ffmpeg would automatically choose the best aac
>> encoder available (libfdk_aac > libfaac > aac > libvo_aacenc), but
> does this require anything more than changing the order of
> registration in allcodecs.c ?

Now I understand which change you meant above: the aac encoder used for 
something like:
ffmpeg -i input.wav output.aac

It seems this uses the first non-experimental encoder and thus could 
indeed change e.g. from libfaac to aac. That's not intended.

I had thought about something like:
ffmpeg -i input.mpg -c:a aac output.mpg

That always uses the native encoder, because it's name is just 'aac'.
Trying to be smart in that case and selecting the best available aac 
encoder automatically is probably not feasible.

Best regards,

More information about the ffmpeg-devel mailing list