Some of this article'slisted sourcesmay not bereliable. Please help improve this article by looking for better, more reliable sources. Unreliable citations may be challenged and removed.(March 2019) (Learn how and when to remove this message) |
| Fraunhofer FDK AAC | |
|---|---|
| Developer | Fraunhofer IIS |
| Initial release | 9 July 2012; 13 years ago (2012-07-09) |
| Stable release(s) | |
| Written in | C++,C |
| Operating system | Android |
| Available in | English |
| Type | Codec |
| License | "Fraunhofer FDK AAC license" (afree software license without a patent grant)[3][4] |
| Website | www |
| Repository | |
Fraunhofer FDK AAC is anopen-source[5]library forencoding and decoding digital audio in theAdvanced Audio Coding (AAC) format.Fraunhofer IIS developed this library forAndroid 4.1.[6][7] It supports severalAudio Object Types includingMPEG-2 andMPEG-4 AAC LC, HE-AAC (AAC LC +SBR), HE-AACv2 (LC + SBR +PS) as wellAAC-LD (low delay) and AAC-ELD (enhanced low delay) for real-time communication. The encoding library supportssample rates up to 96 kHz and up toeight channels (7.1 surround).[8]
The Android-targeted implementation of the Fraunhofer AAC encoder usesfixed-point math and is optimized for encoding on embedded devices/mobile phones. The library is currently limited to 16-bitPCM input. Other versions of the Fraunhofer encoder, like the one included inWinamp, are optimized for encoding music on desktop-class processors. Those versions of the encoder, however, are not open-source and require a commercial license.[9] Version 2 of the library, introduced with Android P, also includes support forxHE-AAC[10] andAAC-ELD v2.[11][12] xHE-AAC extends the operating range of the codec from 12 to 300 kb/s for stereo signals and allows seamless switching between bitrates over this range for adaptive bitrate delivery (using standards such asMPEG-DASH orHLS for example).[12] xHE-AAC also includes MPEG-D DRC mandatory loudness control to playback content at a consistent volume and offers new dynamic range control profiles for listening in noisy situations.[12]
The FDK AAC encoder employs a more aggressive defaultlow-pass filter than is used in other codecs. Higher frequencies are removed so that more bits are available to better describe sounds of lower frequencies, improving the overall quality for most combinations of recordings and listeners. In some, not completely rare, combinations the missing high frequencies are noticeable. The library allows overriding the low-pass filter setting, and in the highestVBR mode effectively applies no filter at all.[13][unreliable source]
A cross-platform source distribution is maintained by Martin Storsjö as part of the opencore-amr project under the name fdk-aac.[14] The code compiles into a shared library, libfdk-aac. The media frameworksFFmpeg andLibav support audio encoding through libfdk-aac.[15][16]
| Profile name | MPEG-4 Objects involved | FDK | FDK 2 |
|---|---|---|---|
| Low-Complexity (AAC-LC) | 2 | Yes | Yes |
| High-Efficiency (HE-AAC) | 2, 5 | Yes | Yes |
| High-Efficiency version 2 (HE-AAC) | 2, 5, 29 | Yes | Yes |
| BaselineUSAC | 42 | ||
| Extended High-Efficiency (xHE-AAC) | 2, 5, 29, 42 | Decoding only | |
| Low-Delay (AAC-LD) | 23 | Yes | Yes |
| Enhanced Low-Delay (AAC-ELD) | 39 | Yes | Yes |
| Enhanced Low-Delay version 2 (AAC-ELDv2) | 44 | Yes |
The license included by Fraunhofer in the FDK library source code[17][3] allows redistribution in source or binary forms, but does not license patented technologies described by the code. The license states that the library may only be used for purposes as authorized by patent licenses. Via Licensing administers a patent pool that includes patent licenses for the AAC codecs, including xHE-AAC and MPEG-D DRC.[18] The FDK license also states that "most manufacturers of Android devices already license these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec software may already be covered under those patent licenses when it is used for those licensed purposes only."[17] There is no license fee required for using an AAC codec such as FDK AAC,[19] only for manufacturing an "end-user"codec such as producing a phone loaded with AAC software.[20][21]
Debian considers the FDK AAC license non-free because it prohibits people from charging a fee for distributing the library, which runs counter to the "No Discrimination Against Fields of Endeavor" rule inDebian Free Software Guidelines.[22] The license was classified asfree byFedora after a review by the legal department atRed Hat,[23] though it's no longer classified as "allowed" due Fedora adopting a more defensive posture toward patents. However, Fedora states that this will not affect the fdk-aac-free package, which enables only the commonly used "Low Complexity AAC" profile, which is what most people use. The US patents on LC-AAC have expired.[24] The FSF also considers it to be free, though discourages its use due to the explicit lack of a patent grant.[4][25]