IPB

Welcome Guest ( Log In | Register )

Open Source Fraunhofer AAC Encoder (fdk-aac)
D404
post Jul 11 2012, 17:02
Post #1





Group: Members
Posts: 7
Joined: 30-July 08
Member No.: 56482



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
avconv -i <input> -c:a libfdk_aac -b:a <bitrate> -afterburner 1 <output>


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


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

-afterburner 1 enabkes "improved quality" mode.

Cheers.

Edit: This should be moved to the Tech forum.

This post has been edited by Garf: Jul 11 2012, 19:30
Go to the top of the page
+Quote Post
 
Start new topic
Replies
pps83
post Aug 26 2012, 20:21
Post #2





Group: Members
Posts: 3
Joined: 26-August 12
Member No.: 102671



Hello HA,

I'm a pro developer and I've worked on some audio related projects as well (using ffmpeg and aac libs). I didn't use fdk yet, but I used the one from vo. I short, the one from vo looks like a joke. They basically took the 3gpp source and dropped the sbr part. I guess the logic was to drop HE part from AAC-HE to get AAC encoder wink.gif The funny thing is that the AAC part runs before sbr and the AAC part allocates buffer for the bitstream. It writes aac part in the buffer and then sbr part appends into that same buffer. They dropped the sbr part and as a result the voaac generates bitstream full of zeros. You can easily see that it's full of nullshit in a hex editor. Otherwise, it's similar to libaacplus I guess, but it has some minor cpu optimizations (pretty badly done as well). Google could have hired a good dev and that voaac could have been fixed in a couple of months (some bestest dudes from ffmpeg could have done that in a couple of weeks I guess). Overall, all pv or vo codecs that google bought from packetvideo or visual on are clear ripoffs from 3gpp code and they aren't even well done. Looks like some graduates from china worked on the 3gpp code.

About patents. Some view source code as explanation of the patent itself, that is, source code that implements patented technology infringes on it as much as the patent description. Source code might be converted to a tool that uses patented technology using a compiler. Patent description might be converted just the same way to a tool that uses patented technology using a developer with a compiler. But source code does not use patented technology. I think there were cases of successful defense that source code implementation cannot be blocked on grounds of free speech, something like: you can't prevent me to express this technology using some computer language. There is one guy who went to us court against the US and he was pretty successful representing himself without having any background in law training. I've stumbled upon this dude by reading his one of the fastest fft algorithms. I think he is also the person who wrote qmail. I don't know why I wrote the paragraph smile.gif I just realized that binaries were blocked from HA, not the source code...

I'm no sound expert, but why don't you guys start pushing OPUS all over the place? Personally, from my code review and study of the codec it's not worse that AAC. It's just insane how it's impossible to get any license to all that AAC bs, plus the price is ridiculous. My personal opinion is that they invent new crap not because there is a need, but because they want to prevent from new players coming into the big game. If you look at HEVC git history: all of the commits by employees from all these well known companies (rim, qualcomm, sony etc etc). They simply put a few developers full time on codec development project and a legal team that checks daily on progress and patents every incarnation of the bubble sort with the only intention to increase number of the patents related to the "new" technology so that it would practically be impossible to prove anything before all these patents actually expire. Just the idea that all these companies suddenly collaborate on a publicly available BSD licensed library is really fishy. To me it's clear what their intentions are. It's not only my guesses, I kind of worked on similar project by similar company and biggest expense was not the developers but the legal team that was working with us along the way. Their job was to check with us if there is something new was created and explore all angles from where they could patent it as an "invention". It all looked like dirty scam from inside, and from outside it's presented as research with all bells and marketing whistles.

(usual mambo-jumbo that i'm no legal expert is omitted).
Go to the top of the page
+Quote Post

Posts in this topic
- D404   Open Source Fraunhofer AAC Encoder (fdk-aac)   Jul 11 2012, 17:02
- - Garf   Heh, interesting. It was pointed out that the prev...   Jul 11 2012, 19:02
- - IgorC   I wonder if it's the same or similar encoder a...   Jul 11 2012, 19:14
|- - Brand   QUOTE (IgorC @ Jul 11 2012, 20:14) I wond...   Jul 11 2012, 20:31
- - LithosZA   QUOTE I wonder if it's the same or similar enc...   Jul 11 2012, 19:21
|- - Garf   QUOTE (LithosZA @ Jul 11 2012, 20:21) QUO...   Jul 11 2012, 19:23
- - IgorC   Can anyone run this encoder in high quality mode (...   Jul 11 2012, 19:23
- - IgorC   Winamp FhG encoder: VBR 4 130 kbps stereo. This n...   Jul 11 2012, 20:37
- - punkrockdude   Interesting! I look forward to try it.   Jul 11 2012, 20:49
- - Brand   QUOTE (IgorC @ Jul 11 2012, 21:37) Winamp...   Jul 11 2012, 20:52
- - 06_taro   libfdk-aac also has an aac decoder, which can deco...   Jul 11 2012, 22:33
|- - saratoga   QUOTE (06_taro @ Jul 11 2012, 17:33) libf...   Jul 12 2012, 00:04
- - IgorC   as well as ELD/LD-AAC encoder.   Jul 11 2012, 22:38
- - hlloyge   Is this available on windows?   Jul 12 2012, 09:37
|- - D404   QUOTE (hlloyge @ Jul 12 2012, 04:37) Is t...   Jul 12 2012, 16:01
|- - Garf   QUOTE (D404 @ Jul 12 2012, 17:01) even th...   Jul 12 2012, 16:40
|- - benski   QUOTE (D404 @ Jul 12 2012, 11:01) QUOTE (...   Jul 12 2012, 20:31
|- - saratoga   QUOTE (benski @ Jul 12 2012, 15:31) I am ...   Jul 12 2012, 21:01
- - 2012   It looks like low pass decisions are broken in CBR...   Jul 12 2012, 17:45
|- - D404   QUOTE (2012 @ Jul 12 2012, 12:45) It look...   Jul 12 2012, 20:22
- - Garf   The extra statements in the license are there beca...   Jul 12 2012, 21:48
- - hlloyge   How do I fit it into foobar2000 for encoding?   Jul 13 2012, 17:29
|- - Canar   QUOTE (hlloyge @ Jul 13 2012, 09:29) How ...   Jul 13 2012, 18:42
- - skamp   I'd settle for instructions on how to compile ...   Jul 13 2012, 19:55
|- - Garf   QUOTE (skamp @ Jul 13 2012, 20:55) I...   Jul 13 2012, 20:15
|- - skamp   QUOTE (skamp @ Jul 13 2012, 20:55) I...   Jul 13 2012, 21:33
|- - 2012   QUOTE (skamp @ Jul 13 2012, 22:33) QUOTE ...   Jul 13 2012, 21:50
- - lvqcl   I downloaded avconv and latest Winamp and encoded ...   Jul 13 2012, 20:38
|- - D404   QUOTE (lvqcl @ Jul 13 2012, 15:38) I down...   Jul 13 2012, 21:27
|- - 2012   QUOTE (lvqcl @ Jul 13 2012, 21:38) I down...   Jul 13 2012, 21:46
- - lvqcl   Ok then. Winamp encoder: 37; 64; 103; 142; 215; 26...   Jul 13 2012, 21:59
- - IgorC   lvqcl, Can You post some frequency graphs of both...   Jul 13 2012, 22:09
- - lvqcl   It turns that avconv adds 2048 null samples to the...   Jul 13 2012, 22:47
|- - kode54   QUOTE (lvqcl @ Jul 13 2012, 14:47) It tur...   Jul 14 2012, 01:58
- - lvqcl   Spectrograms for VBR modes in avconv: 37 kbps, HE...   Jul 13 2012, 22:48
- - Brazil2   QUOTE (D404 @ Jul 11 2012, 18:02) VBR Mod...   Jul 14 2012, 10:29
- - IgorC   lvqcl Thank You. So it's not extacly the sam...   Jul 15 2012, 17:39
- - jossilint   Hello, do anyone knows where to get ffmpeg.exe x64...   Aug 2 2012, 12:26
- - smok3   playing around, testing with new ffmpeg (from git)...   Aug 7 2012, 00:32
- - qbast   It is also quite buggy: I found 4 different places...   Aug 8 2012, 13:52
|- - D404   QUOTE (qbast @ Aug 8 2012, 08:52) It is a...   Aug 8 2012, 16:56
|- - qbast   QUOTE (D404 @ Aug 8 2012, 17:56) QUOTE (q...   Aug 9 2012, 17:01
|- - D404   QUOTE (qbast @ Aug 9 2012, 12:01) I uploa...   Aug 10 2012, 21:09
|- - qbast   QUOTE (D404 @ Aug 10 2012, 22:09) QUOTE (...   Aug 13 2012, 19:11
- - smok3   is there a "compile this git for dummies...   Aug 13 2012, 11:21
|- - 2012   QUOTE (smok3 @ Aug 13 2012, 11:21) neverm...   Aug 13 2012, 13:31
- - pps83   Hello HA, I'm a pro developer and I've wo...   Aug 26 2012, 20:21
|- - db1989   QUOTE (pps83 @ Aug 26 2012, 20:21) Overal...   Aug 26 2012, 20:46
|- - pps83   QUOTE (db1989 @ Aug 26 2012, 20:46) QUOTE...   Aug 27 2012, 00:18
|- - Garf   QUOTE (pps83 @ Aug 27 2012, 01:18) The th...   Aug 27 2012, 12:39
- - m45t3r   QUOTE (db1989 @ Aug 26 2012, 16:46) QUOTE...   Aug 26 2012, 23:48
|- - Garf   QUOTE (m45t3r @ Aug 27 2012, 00:48) This ...   Aug 27 2012, 12:43
- - pps83   QUOTE (m45t3r @ Aug 26 2012, 23:48) This ...   Aug 27 2012, 00:27
- - Garf   QUOTE Overall, all pv or vo codecs that google bou...   Aug 27 2012, 12:49
|- - westgroveg   QUOTE (Garf @ Aug 28 2012, 00:49) QUOTE M...   Aug 27 2012, 13:15
|- - Garf   QUOTE (westgroveg @ Aug 27 2012, 14:15) T...   Aug 30 2012, 07:14
- - ShotCaller   Can anyone provide a link to instructions for comp...   Aug 28 2012, 06:21
|- - Brazil2   QUOTE (ShotCaller @ Aug 28 2012, 07:21) C...   Aug 28 2012, 11:05
- - Tiger Uppercut   QUOTE (ShotCaller @ Aug 27 2012, 20:21) C...   Aug 30 2012, 02:12
- - darkbyte   I've spent a hour trying to compile this with ...   Aug 31 2012, 12:16
- - gottogo99   So, this encoder is in the new ffmpeg 1.0. Anyone...   Oct 9 2012, 00:57
- - jossilint   I would like to know too is there someone tested f...   Dec 15 2012, 21:35
|- - eahm   QUOTE (jossilint @ Dec 15 2012, 13:35) I ...   Dec 15 2012, 23:08
|- - IgorC   QUOTE (jossilint @ Dec 15 2012, 17:35) .....   Dec 15 2012, 23:30
|- - eahm   QUOTE (IgorC @ Dec 15 2012, 15:30) QUOTE ...   Dec 15 2012, 23:38
- - kode54   Too bad ffmpeg hasn't sorted gapless encoding ...   Dec 16 2012, 08:42
- - jossilint   What about quality of FDK compared to closed? is i...   Dec 16 2012, 15:08
|- - Garf   QUOTE (jossilint @ Dec 16 2012, 15:08) Wh...   Dec 17 2012, 12:15
- - nu774   Out of curiosity, I tested this codec with various...   Dec 21 2012, 07:15
- - sluggy   https://github.com/nu774/fdkaac Has anyone tried ...   Jan 5 2013, 23:18
|- - bat_guano   QUOTE (sluggy @ Jan 5 2013, 23:18) Has an...   Jan 7 2013, 04:58
|- - Takla   QUOTE (sluggy @ Jan 5 2013, 22:18) https:...   Mar 19 2013, 00:48
- - eahm   Thanks nu774, the compiler runs perfectly. Now I h...   Mar 1 2013, 04:21
|- - nu774   fdkaac requires -o before %d (same as qaac).   Mar 1 2013, 05:40
- - eahm   Of course ... Thanks.   Mar 1 2013, 06:12
- - hellosky   Does anyone knows how to build the fdk acc as a sh...   Mar 1 2013, 11:16
- - sluggy   https://sites.google.com/site/qaacpage/news...scri...   Mar 1 2013, 12:05
- - kode54   @nu774: Very nice! Now, if anyone finds any sa...   Mar 1 2013, 16:19
- - LithosZA   Are there any freely available decoders than can d...   Mar 2 2013, 11:45
|- - bat_guano   QUOTE (LithosZA @ Mar 2 2013, 12:45) Are ...   Mar 3 2013, 15:05
||- - nu774   I don't feel like writing decoder frontend onl...   Mar 3 2013, 15:47
|- - bat_guano   QUOTE (LithosZA @ Mar 2 2013, 11:45) Are ...   Oct 20 2013, 01:28
- - db1989   Split: Copyright vs. patents, source code vs. comp...   Mar 2 2013, 17:51
- - kareha   Just wondering if there's any need to use this...   Mar 2 2013, 20:58
- - [JAZ]   @kareha: That rather depends if you consider ...   Mar 3 2013, 11:36
- - LithosZA   QUOTE Do you really need it? Nope I just wanted t...   Mar 3 2013, 16:08
|- - nu774   QUOTE (LithosZA @ Mar 4 2013, 00:08) QUOT...   Mar 3 2013, 16:21
- - kode54   I ran these samples by Case, with various encoding...   Mar 15 2013, 00:51
|- - nu774   QUOTE (kode54 @ Mar 15 2013, 08:51) I ran...   Mar 15 2013, 02:44
- - Takla   QUOTE (D404 @ Jul 11 2012, 16:02) It can ...   Mar 20 2013, 00:49
- - sluggy   Yes i thought the vbr modes were a bit strange too...   Mar 22 2013, 14:41
|- - Takla   QUOTE (sluggy @ Mar 22 2013, 13:41) ... w...   Mar 22 2013, 19:43
|- - sluggy   QUOTE (Takla @ Mar 22 2013, 18:43) QUOTE ...   Mar 22 2013, 19:49
|- - Takla   Thanks for that. It's right there in front of...   Mar 22 2013, 20:09
- - eahm   nu774, your news page has the changelog for fdkaac...   Sep 7 2013, 02:59
|- - nu774   QUOTE (eahm @ Sep 7 2013, 10:59) nu774, y...   Sep 7 2013, 03:33
- - eahm   fdkaac_autobuild.zip from https://sites.google.com...   Oct 19 2013, 22:02
- - IgorC   Does ffmpeg support decoding of low delay SBR? ht...   Oct 25 2013, 00:30
- - eahm   I can't get the .exe with fdkaac_autobuild.zip...   Oct 30 2013, 23:32
- - sluggy   QUOTE (eahm @ Oct 30 2013, 22:32) I can...   Oct 30 2013, 23:39
2 Pages V   1 2 >


Reply to this topicStart new topic
2 User(s) are reading this topic (2 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 19th April 2014 - 16:34