Skip to main content

Topic: Open Source Fraunhofer AAC Encoder (fdk-aac) (Read 180950 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • D404
  • [*]
Open Source Fraunhofer AAC Encoder (fdk-aac)
Android 4.1 has included an AAC encoding library by Fraunhofer, and Libav/FFmpeg support for this library is in the works (that is, in a day or two, it will be official.)

From the release announcement:
Quote
As part of the Android Jelly Bean source code released recently, a new AAC
library was released as well, developed by Fraunhofer:
https://android.googlesource.com/platform/external/aac

To ease using this library on platforms other than Android, I have added
an autotools based build system and done a minor portability fix, and
released this code as fdk-aac 0.1.0 today.

This project is hosted at sourceforge, under the opencore-amr project,
acting as an umbrella project for these codecs that are repackaged from
Android as standalone libraries, just as opencore-amr, vo-amrwbenc and
vo-aacenc before this one.

The release file is available at
http://sourceforge.net/projects/opencore-amr/files/fdk-aac/
and the code is available in git at
git://opencore-amr.git.sourceforge.net/gitroot/opencore-amr/fdk-aac.

This library is licensed under a custom copyleft style license:
http://opencore-amr.git.sourceforge.net/gi...a=blob;f=NOTICE

I in general intend to limit this project to minor tweaks and portability
fixes - for anything larger than that, I'd prefer if it first is
contributed upstream, to keep the difference between the upstream code and
this library as small as possible.


Edit: Obvious patent violation removed.

It can be used as such:

Bitrate Mode
Code: [Select]
avconv -i <input> -c:a libfdk_aac -b:a <bitrate> -afterburner 1 <output>


VBR Mode
Code: [Select]
aconv -i <input> -c:a libfdk_aac -flags +qscale -global_quality [1-5] -afterburner 1 <output>


VBR modes 1-5 correspond to roughly:
  • about 32 kbps/channel
  • about 40 kbps/channel
  • about 48-56 kbps/channel
  • about 64 kbps/channel
  • about 80-96 kbps/channel

-afterburner 1 enabkes "improved quality" mode.

Cheers.

Edit: This should be moved to the Tech forum.
  • Last Edit: 11 July, 2012, 02:30:35 PM by Garf

  • Garf
  • [*][*][*][*][*]
  • Developer (Donating)
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #1
Heh, interesting. It was pointed out that the previous encoder they had had very questionable licensing because it appeared to be 3GPP code with the copyright notice of another firm slapped on it: http://www.hydrogenaudio.org/forums/index....showtopic=88183

I guess Google "fixed" that.

  • IgorC
  • [*][*][*][*][*]
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #2
I wonder if it's the same or similar encoder as Winamp FhG AAC. It has the same number of VBR modes (the last version of past year).  If it's the case then it will be a first high quality open source AAC encoder. 
  • Last Edit: 11 July, 2012, 02:16:42 PM by IgorC

  • LithosZA
  • [*][*][*]
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #3
Quote
I wonder if it's the same or similar encoder as Winamp FhG AAC. It has the same number of VBR modes. If it's the case then it will be a first high quality open source AAC encoder. w00t.gif

I hope this is true

  • Garf
  • [*][*][*][*][*]
  • Developer (Donating)
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #4
Quote
I wonder if it's the same or similar encoder as Winamp FhG AAC. It has the same number of VBR modes. If it's the case then it will be a first high quality open source AAC encoder. w00t.gif

I hope this is true


It certainly looks like the real thing to me... (I don't know if this is Winamps encoder, but it's certainly a full-featured encoder not based on any code I've seen, with full psymodel, smart bitallocation etc)
  • Last Edit: 11 July, 2012, 02:24:25 PM by Garf

  • IgorC
  • [*][*][*][*][*]
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #5
Can anyone run this encoder in high quality mode (-afterburner 1) with VBR let's say at 96 kbps compare it to Winamp FhG  encoder VBR 3  in wave editor?

  • Brand
  • [*][*][*][*]
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #6
I wonder if it's the same or similar encoder as Winamp FhG AAC. It has the same number of VBR modes (the last version of past year).

But the bitrates are much lower than those from Winamp's FhG AAC. (Mode 4 in Winamp's encoder is ~130kbps, for example.)
Or maybe those are not the same kind of VBR modes?

  • IgorC
  • [*][*][*][*][*]
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #7
Winamp FhG encoder: VBR 4  130 kbps stereo.
This new encoder: VBR 4  64 kbps/channel, 130 kbps stereo.
  • Last Edit: 11 July, 2012, 03:39:14 PM by IgorC

Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #8
Interesting! I look forward to try it.

  • Brand
  • [*][*][*][*]
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #9
Winamp FhG encoder: VBR 4  130 kbps stereo.
This new encoder: VBR 4  64 kbps/channel, 130 kbps stereo.

Oh, I see.

It would be nice if it's the same encoder then. To me it sounded like the best AAC encoder when I was testing them (only tested with one sample, tho..).
  • Last Edit: 11 July, 2012, 03:53:48 PM by Brand

  • 06_taro
  • [*]
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #10
libfdk-aac also has an aac decoder, which can decode AAC-LD/AAC-ELD, though limited to 16-bit integer output.

  • IgorC
  • [*][*][*][*][*]
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #11
as well as ELD/LD-AAC encoder.

  • saratoga
  • [*][*][*][*][*]
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #12
libfdk-aac also has an aac decoder, which can decode AAC-LD/AAC-ELD, though limited to 16-bit integer output.


Not much in the way of ARM assembly code though, so probably no faster then existing arm decoders.

  • hlloyge
  • [*][*][*][*][*]
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #13
Is this available on windows?

  • D404
  • [*]
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #14
Is this available on windows?


I had posted one but it was removed due to :patents: (even though the VisualOn binary is still allowed... I dunno why.)

Looks like you'll have to compile from source yourself, of use the magic of the Internet to find one.

  • Garf
  • [*][*][*][*][*]
  • Developer (Donating)
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #15
even though the VisualOn binary is still allowed... I dunno why.


Fixed, thanks for pointing this out.
  • Last Edit: 12 July, 2012, 11:40:50 AM by Garf

  • 2012
  • [*][*][*]
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #16
It looks like low pass decisions are broken in CBR for bitrates >192kbps (2 channels/ 44100Hz).
It seems to never go above 17kHz even if the bitrate is set to 512kbps.
saldl: A lightweight well-featured CLI downloader optimized for speed and early preview.
https://saldl.github.io

  • D404
  • [*]
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #17
It looks like low pass decisions are broken in CBR for bitrates >192kbps (2 channels/ 44100Hz).
It seems to never go above 17kHz even if the bitrate is set to 512kbps.


Seems to be settable in the API, and should be added as an option to avconv soon, I think.

  • benski
  • [*][*][*][*][*]
  • Developer
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #18
Is this available on windows?


I had posted one but it was removed due to :patents: (even though the VisualOn binary is still allowed... I dunno why.)

Looks like you'll have to compile from source yourself, of use the magic of the Internet to find one.


I am not a lawyer, but here is the part of the license that is problematic for use of this source code in other projects
Code: [Select]
  51 3.    NO PATENT LICENSE
  52
  53 NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
  54 ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
  55 respect to this software.
  56
  57 You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
  58 by appropriate patent licenses.
  • Last Edit: 12 July, 2012, 03:32:18 PM by benski

  • saratoga
  • [*][*][*][*][*]
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #19
I am not a lawyer, but here is the part of the license that is problematic for use of this source code in other projects
Code: [Select]
  51 3.    NO PATENT LICENSE
  52
  53 NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
  54 ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
  55 respect to this software.
  56
  57 You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
  58 by appropriate patent licenses.



I don't think that would be a problem for most open source licenses.  Off hand I can't think of any that force you to also provide patent licenses to go with the software license, since in practice that would be almost impossible to know which patents were covered and which were not.  IIUC, that basically leaves you in the same place as the GPL, you're allowed under copyright law but patent law is up to you and your country.

  • Garf
  • [*][*][*][*][*]
  • Developer (Donating)
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #20
The extra statements in the license are there because it's a BSD-style license, and there's some line of legal arguing (not confirmed in court. and quite arguable, but still) that says that BSD licensed software comes with an implicit patent license. FhG especially doesn't want to give you such a license because they make money from AAC patents, which is why they add that clarification.

(Note that even if FhG had given an implicit or explicit license, there are still many AAC patents they don't own. So you can't distribute AAC encoder binaries without a patent license. Please don't post illegal stuff here, which means no encoder binaries unless you have an actual licensing deal.)
  • Last Edit: 12 July, 2012, 04:58:49 PM by Garf

  • hlloyge
  • [*][*][*][*][*]
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #21
How do I fit it into foobar2000 for encoding?

  • ExUser
  • [*][*][*][*][*]
  • Read-only
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #22
How do I fit it into foobar2000 for encoding?
It needs to be compiled and released somewhere first. Whether Rarewares is an acceptable site to host such material seems to be a topic of discussion right now.

  • skamp
  • [*][*][*][*][*]
  • Developer
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #23
I'd settle for instructions on how to compile avconv (libav) with support for fdk-aac. Or would that be illegal too?
See my profile for measurements, tools and recommendations.

  • Garf
  • [*][*][*][*][*]
  • Developer (Donating)
Open Source Fraunhofer AAC Encoder (fdk-aac)
Reply #24
I'd settle for instructions on how to compile avconv (libav) with support for fdk-aac. Or would that be illegal too?


Nothing wrong with that. Publishing source code is OK, talking about patented technologies is OK too (we wouldn't have much to discuss if it wasn't :-)