HydrogenAudio

Lossy Audio Compression => AAC => AAC - Tech => Topic started by: shreya_pathak on 2005-01-31 07:00:00

Title: Enhanced AAC plus free source code
Post by: shreya_pathak on 2005-01-31 07:00:00
Hi All,
    I want to know where I can get the publicly available free source code of Enhanced AAC plus. Also I want to know where can I get the standard for Enhanced AAC plus or some documents related to Enhanced AAC plus.
Thanks and Regards
Shreya
Title: Enhanced AAC plus free source code
Post by: dev0 on 2005-01-31 07:02:02
http://www.audiocoding.com/ (http://www.audiocoding.com/) is the home of FAAD2, a free (GPLed) AAC decoder with HE-AAC support.
Title: Enhanced AAC plus free source code
Post by: shreya_pathak on 2005-01-31 08:20:05
Quote
http://www.audiocoding.com/ (http://www.audiocoding.com/) is the home of FAAD2, a free (GPLed) AAC decoder with HE-AAC support.
[a href="index.php?act=findpost&pid=269617"][{POST_SNAPBACK}][/a]


I wanted the source code of Enhanced HE-AAC and not HE-AAC.
Can I get it from here. Has it been supported in FAAD2.
Thanks and Regards
Shreya
Title: Enhanced AAC plus free source code
Post by: Gabriel on 2005-01-31 08:50:23
An encoder can be downloaded from 3gpp.
Title: Enhanced AAC plus free source code
Post by: Latexxx on 2005-01-31 11:45:45
http://www.3gpp.org/ftp/Specs/html-info/26410.htm (http://www.3gpp.org/ftp/Specs/html-info/26410.htm)
http://www.3gpp.org/ftp/Specs/archive/26_series/26.410/ (http://www.3gpp.org/ftp/Specs/archive/26_series/26.410/)
Title: Enhanced AAC plus free source code
Post by: Garf on 2005-01-31 12:11:40
Quote
Quote
http://www.audiocoding.com/ (http://www.audiocoding.com/) is the home of FAAD2, a free (GPLed) AAC decoder with HE-AAC support.
[a href="index.php?act=findpost&pid=269617"][{POST_SNAPBACK}][/a]


I wanted the source code of Enhanced HE-AAC and not HE-AAC.
Can I get it from here. Has it been supported in FAAD2.
Thanks and Regards
Shreya
[a href="index.php?act=findpost&pid=269626"][{POST_SNAPBACK}][/a]


FAAD2 has supported "Enhanced HE-AAC" (HE-AAC v2), or in other words, parametric stereo, for quite a while.
Title: Enhanced AAC plus free source code
Post by: shreya_pathak on 2005-02-01 05:06:17
Quote
http://www.3gpp.org/ftp/Specs/html-info/26410.htm (http://www.3gpp.org/ftp/Specs/html-info/26410.htm)
http://www.3gpp.org/ftp/Specs/archive/26_series/26.410/ (http://www.3gpp.org/ftp/Specs/archive/26_series/26.410/)
[a href="index.php?act=findpost&pid=269652"][{POST_SNAPBACK}][/a]


Hi,
  Thanks for your response.
          I have downloaded the code from 3gpp but i am not able to debug the code. Have you come accross such error.
Waiting for ur reply
Thanks and Regards
Shreya
Title: Enhanced AAC plus free source code
Post by: Wolverine5 on 2005-02-02 20:01:27
Quote
Quote
Quote
http://www.audiocoding.com/ (http://www.audiocoding.com/) is the home of FAAD2, a free (GPLed) AAC decoder with HE-AAC support.
[a href="index.php?act=findpost&pid=269617"][{POST_SNAPBACK}][/a]


I wanted the source code of Enhanced HE-AAC and not HE-AAC.
Can I get it from here. Has it been supported in FAAD2.
Thanks and Regards
Shreya
[a href="index.php?act=findpost&pid=269626"][{POST_SNAPBACK}][/a]


FAAD2 has supported "Enhanced HE-AAC" (HE-AAC v2), or in other words, parametric stereo, for quite a while.
[a href="index.php?act=findpost&pid=269660"][{POST_SNAPBACK}][/a]

FAAD is decompresor, but how to make Enhanced HE-AAC files?
3gpp.org gives only sources:|
Title: Enhanced AAC plus free source code
Post by: Latexxx on 2005-02-02 20:08:23
Quote
Hi,
   Thanks for your response.
           I have downloaded the code from 3gpp but i am not able to debug the code. Have you come accross such error.
Waiting for ur reply
Thanks and Regards
Shreya
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=269933")

I haven't tried to debug. I've only compiled using ICL. My binaries can be found at [a href="http://kotisivu.mtv3.fi/ware.purkki/]http://kotisivu.mtv3.fi/ware.purkki/[/url] .
Title: Enhanced AAC plus free source code
Post by: Robredo on 2005-02-16 09:16:45
The 3G code works perfectly, including debug, when compiled in VC++. Linux I haven't tried.
Title: Enhanced AAC plus free source code
Post by: Dan Nelson on 2005-02-22 03:44:56
The problem is the "source" distribution actually includes two binary libraries: libaudio.a, and libisomediafile.a.  Not much source in there..

To build libisomediafile, you need to download http://www.iso.ch/iso/en/ittf/PubliclyAvai...nce/systems.zip (http://www.iso.ch/iso/en/ittf/PubliclyAvailableStandards/ISO_IEC_14496-5_2001_Software_Reference/systems.zip) and build the systems/mp4_file_format/ directory.  I haven't found where the source to libaudio.a is yet (NAS probides a libaudio library, but it's not the same).
Title: Enhanced AAC plus free source code
Post by: shreya_pathak on 2005-02-22 04:40:05
Quote
The problem is the "source" distribution actually includes two binary libraries: libaudio.a, and libisomediafile.a.  Not much source in there..

To build libisomediafile, you need to download http://www.iso.ch/iso/en/ittf/PubliclyAvai...nce/systems.zip (http://www.iso.ch/iso/en/ittf/PubliclyAvailableStandards/ISO_IEC_14496-5_2001_Software_Reference/systems.zip) and build the systems/mp4_file_format/ directory.  I haven't found where the source to libaudio.a is yet (NAS probides a libaudio library, but it's not the same).
[a href="index.php?act=findpost&pid=275831"][{POST_SNAPBACK}][/a]


I want to what does these libraries consist of ?
Thanks and Regards
Shreya
Title: Enhanced AAC plus free source code
Post by: Dan Nelson on 2005-02-22 04:55:46
Quote
I want to what does these libraries consist of ?
Thanks and Regards
Shreya
[a href="index.php?act=findpost&pid=275840"][{POST_SNAPBACK}][/a]


I assume libisomediafile is responsible for creating the mp4 container, and libaudio is for reading the input file, since without either library, I get link errors like:

./src/main.o(.text+0x273): In function `main':
: undefined reference to `AuChannelOpen'
: undefined reference to `AuChannelClose'
: undefined reference to `AuChannelReadShort'
./src/mp4file.o(.text+0x21d): In function `MP4FileAddFrame':
: undefined reference to `MP4GetHandleSize'
./src/mp4file.o(.text+0x3a5): In function `WriteMP4File':
: undefined reference to `MP4WriteMovieToFile'
./src/mp4file.o(.text+0x491): In function `CloseMP4File':
: undefined reference to `MP4DisposeHandle'


, and if I build libisomediafile and link with that, the MP4* functions link okay, and the only errors that are left are the AuChannel* functions.
Title: Enhanced AAC plus free source code
Post by: shreya_pathak on 2005-02-22 05:00:52
Quote
Quote
I want to what does these libraries consist of ?
Thanks and Regards
Shreya
[a href="index.php?act=findpost&pid=275840"][{POST_SNAPBACK}][/a]


I assume libisomediafile is responsible for creating the mp4 container, and libaudio is for reading the input file, since without either library, I get link errors like:

./src/main.o(.text+0x273): In function `main':
: undefined reference to `AuChannelOpen'
: undefined reference to `AuChannelClose'
: undefined reference to `AuChannelReadShort'
./src/mp4file.o(.text+0x21d): In function `MP4FileAddFrame':
: undefined reference to `MP4GetHandleSize'
./src/mp4file.o(.text+0x3a5): In function `WriteMP4File':
: undefined reference to `MP4WriteMovieToFile'
./src/mp4file.o(.text+0x491): In function `CloseMP4File':
: undefined reference to `MP4DisposeHandle'


, and if I build libisomediafile and link with that, the MP4* functions link okay, and the only errors that are left are the AuChannel* functions.
[a href="index.php?act=findpost&pid=275844"][{POST_SNAPBACK}][/a]


These libraries are precompiled. If I want to port this code on say Arm processor, then I need the source code of these libraries so as to compile it for Arm.Can I get this source code or these libraries can itself be used for porting on Arm ?
Title: Enhanced AAC plus free source code
Post by: Dan Nelson on 2005-02-25 22:32:35
Quote
These libraries are precompiled. If I want to port this code on say Arm processor, then I need the source code of these libraries so as to compile it for Arm.  Can I get this source code or these libraries can itself be used for porting on Arm ?[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=275846")
As I said in a previous post:
Quote
To build libisomediafile, you need to download [a href="http://www.iso.ch/iso/en/ittf/PubliclyAvailableStandards/ISO_IEC_14496-5_2001_Software_Reference/systems.zip]http://www.iso.ch/iso/en/ittf/PubliclyAvai...nce/systems.zip[/url] and build the systems/mp4_file_format/ directory. I haven't found where the source to libaudio.a is yet (NAS probides a libaudio library, but it's not the same).[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=275831")
I would guess that the source to libaudio is available somwhere at either [a href="http://www.3gpp.org/ftp/Specs/html-info/26-series.htm]http://www.3gpp.org/ftp/Specs/html-info/26-series.htm[/url] or http://www.iso.ch/iso/en/ittf/PubliclyAvailableStandards (http://www.iso.ch/iso/en/ittf/PubliclyAvailableStandards) , but I wouldn't know where to start looking.  Maybe someone should email the 3gpp people and ask them...
Title: Enhanced AAC plus free source code
Post by: matthieu.laurent@purplelabs.com on 2006-03-17 10:56:36
Has someone found the source code of libaudia.a?
If yes, could he/she tell me where to find it?

Thanks

Matthieu
matthieu.laurent@purplelabs.com
Title: Enhanced AAC plus free source code
Post by: loophole on 2006-03-17 11:51:01
I hope somebody works out what's going on here...I'd love a native OS X HE-AACv2 encoder - having to use Virtual PC is downright painful.
Title: Enhanced AAC plus free source code
Post by: kurtnoise on 2006-03-17 15:38:26
Quote
Has someone found the source code of libaudia.a?
If yes, could he/she tell me where to find it?

With the last 3gp sources, these libs are in lib/linux folder. This encoder works fine with my Linux distro.



@loophole :: compilation under MacOS should work with gcc...
Title: Enhanced AAC plus free source code
Post by: Gabriel on 2006-03-17 16:00:11
Unfortunately those libs are not provided for OSX/PPC.

A very nice thing would be to replace those binaries libs by some source code.
Title: Enhanced AAC plus free source code
Post by: Dan Nelson on 2006-03-17 17:43:52
Quote
Unfortunately those libs are not provided for OSX/PPC.

A very nice thing would be to replace those binaries libs by some source code.
[a href="index.php?act=findpost&pid=372149"][{POST_SNAPBACK}][/a]

The encoder's requirements as far as processing the input file are pretty light; the only functions it needs are AuChannelOpen, AuChannelClose, and AuReadShort.  It should be easy to write wrappers for those that call your favorite soundfile-reading library.
Title: Enhanced AAC plus free source code
Post by: rootkit on 2006-06-05 12:01:35
I've edited a bit the source code and i've written missing Au* functions.
I had to keep in mind endianness to make the encoder works on powerpc and other big endian machines.
You can get it here: http://teknoraver.campuslife.it/software/mp4tools/ (http://teknoraver.campuslife.it/software/mp4tools/)

Cheers
Title: Enhanced AAC plus free source code
Post by: loophole on 2006-06-05 12:12:00
OMG - you rule!! checking it out now.
Code: [Select]
cc -O3 -I/Users/hexley/Downloads/aacplusenc-0.2/libaacenc -I/Users/hexley/Downloads/aacplusenc-0.2/libbitbuf -I/Users/hexley/Downloads/aacplusenc-0.2/libfr -I/Users/hexley/Downloads/aacplusenc-0.2/libresamp -I/Users/hexley/Downloads/aacplusenc-0.2/libsbrenc -I/Users/hexley/Downloads/aacplusenc-0.2/libisomediafile -I/Users/hexley/Downloads/aacplusenc-0.2/libaudio   -c -o src/main.o src/main.c
In file included from /Users/hexley/Downloads/aacplusenc-0.2/libisomediafile/MP4Movies.h:29,
                 from /Users/hexley/Downloads/aacplusenc-0.2/libisomediafile/ISOMovies.h:9,
                 from src/main.c:13:
/Users/hexley/Downloads/aacplusenc-0.2/libisomediafile/MP4OSMacros.h:33:20: error: malloc.h: No such file or directory
src/main.c: In function 'main':
src/main.c:237: warning: pointer targets in passing argument 4 of 'IsSbrSettingAvail' differ in signedness
make: *** [src/main.o] Error 1


Get this trying to compile on OS X, do i need to manually tell make the target platform or anything, as there's on configure script or anything. Sorry I'm pretty new to this
Title: Enhanced AAC plus free source code
Post by: rootkit on 2006-06-05 12:34:42
OMG - you rule!! checking it out now.
Code: [Select]
cc -O3 -I/Users/hexley/Downloads/aacplusenc-0.2/libaacenc -I/Users/hexley/Downloads/aacplusenc-0.2/libbitbuf -I/Users/hexley/Downloads/aacplusenc-0.2/libfr -I/Users/hexley/Downloads/aacplusenc-0.2/libresamp -I/Users/hexley/Downloads/aacplusenc-0.2/libsbrenc -I/Users/hexley/Downloads/aacplusenc-0.2/libisomediafile -I/Users/hexley/Downloads/aacplusenc-0.2/libaudio   -c -o src/main.o src/main.c
In file included from /Users/hexley/Downloads/aacplusenc-0.2/libisomediafile/MP4Movies.h:29,
                 from /Users/hexley/Downloads/aacplusenc-0.2/libisomediafile/ISOMovies.h:9,
                 from src/main.c:13:
/Users/hexley/Downloads/aacplusenc-0.2/libisomediafile/MP4OSMacros.h:33:20: error: malloc.h: No such file or directory
src/main.c: In function 'main':
src/main.c:237: warning: pointer targets in passing argument 4 of 'IsSbrSettingAvail' differ in signedness
make: *** [src/main.o] Error 1


Get this trying to compile on OS X, do i need to manually tell make the target platform or anything, as there's on configure script or anything. Sorry I'm pretty new to this


I have compiled it on Linux PPC, not MacOSX PPC.
You culd try this CFLAGS: -I.. -I../../src -Wall -W -ansi -pedantic -Wno-long-long
The error was in libisomediafile, that had two subdirs, win32 and linux, so i've stripped the win32 out.
Dunno about OS X, never had it, but i suggest you to use the latest gcc compiler, since i'm using gcc 4.1.0 under linux.
What gcc -v says about his version?
Title: Enhanced AAC plus free source code
Post by: krmathis on 2006-06-05 12:38:19
I've edited a bit the source code and i've written missing Au* functions.
I had to keep in mind endianness to make the encoder works on powerpc and other big endian machines.
You can get it here: http://blueangel.us/aacplusenc/ (http://blueangel.us/aacplusenc/)

Compiled and running on Mac OS 10.4.6 (PowerPC). But testing remains...
Thanks!
Title: Enhanced AAC plus free source code
Post by: rootkit on 2006-06-05 12:42:16
I've edited a bit the source code and i've written missing Au* functions.
I had to keep in mind endianness to make the encoder works on powerpc and other big endian machines.
You can get it here: http://teknoraver.campuslife.it/software/mp4tools/ (http://teknoraver.campuslife.it/software/mp4tools/)

Compiled and running on Mac OS 10.4.6 (PowerPC). But testing remains...
Thanks!


Isn't Mac OS 10.4.6 64-bit?
I have an issue with AMD64 that i haven't under i386, can you reproduce it?
issue samples are there: http://blueangel.us/mp4tools/ct-he-aac/ (http://blueangel.us/mp4tools/ct-he-aac/)
It seems a CT bug.

Cheers
Title: Enhanced AAC plus free source code
Post by: krmathis on 2006-06-05 12:47:36
Isn't Mac OS 10.4.6 64-bit?

Parts of it might be dual architecture, since the G5 processor is 64-bit. But the G4 processor in my PowerBook is 32-bit. Perhaps you can tell me how to possible reproduce this, so I can give it a try?

@loophole. It complains about the missing malloc.h file. I just copied the malloc.h file from the 10.4u SDK into the libisomediafile folder and it compiled successfully
Title: Enhanced AAC plus free source code
Post by: loophole on 2006-06-05 12:48:30
http://purrrr.net/tmp/aacplusenc.zip (http://purrrr.net/tmp/aacplusenc.zip)

Nevermind worked it out

PPC OS X binary there.
Title: Enhanced AAC plus free source code
Post by: rootkit on 2006-06-05 13:00:36
@loophole. It complains about the missing malloc.h file. I just copied the malloc.h file from the 10.4u SDK into the libisomediafile folder and it compiled successfully


Nope, on BSD malloc.h is replaced by stdlib.h IIRC
Title: Enhanced AAC plus free source code
Post by: krmathis on 2006-06-05 13:08:02
Nope, on BSD malloc.h is replaced by stdlib.h IIRC
Well, I had the same compile error as 'loophole' the first time. But after copying the malloc.h file it compiled successfully. 

Edit: I have compressed a couple of tracks to 32 and 48kbps. The sound quality is really impressive for the bitrate.
rootkit, the problem sample sound fine to me. So I guess it don affect Mac OS X on 32-bit either...
Title: Enhanced AAC plus free source code
Post by: loophole on 2006-06-05 14:02:02
I just changed #include <malloc.h> to #include <malloc/malloc.h> in MP4OSMacros.h
Title: Enhanced AAC plus free source code
Post by: rootkit on 2006-06-08 00:50:32
i've edited the program to save raw AAC streams with ADTS header instead of mp4 files.
stay tuned
Title: Enhanced AAC plus free source code
Post by: rootkit on 2006-06-09 02:20:37
Here it is: http://teknoraver.net/software/mp4tools/ (http://teknoraver.net/software/mp4tools/)

It doesn't works under AMD64, but still should under powerpc.
Feedback is welcome!
Title: Enhanced AAC plus free source code
Post by: danchr on 2006-07-12 17:55:13
I just changed #include <malloc.h> to #include <malloc/malloc.h> in MP4OSMacros.h

The Right Thing? to do is to include "stdlib.h". According to the C89 standard (http://www.utas.edu.au/infosys/info/documentation/C/CStdLib.html), this is where malloc() must be. It's safe to assume that any system and compiler you'll ever come across implements C89. Using "malloc.h" is an unportable Linux-ism.

Another good porability reference is The Single UNIX Specification (http://www.opengroup.org/onlinepubs/007908799/). When in doubt, assume what it says, and consider anything else odd. (By this definition, yes, Windows is very odd indeed.)
Title: Enhanced AAC plus free source code
Post by: chandra on 2006-12-22 12:24:31
Hi all,

I see a libisomedia.lib in the decoder module. I extracted the files from system.zip from www.publiclyavailablestandards.com. My problem is how can i port this on ARM processor. i see that it is being compiled for intel platform. for win32 platform there is a file named w32filemappingobject.c , what should be the corresponding file for ARM core.  I am using RVDS and win32 can  not be used. Some one who knows the solution give me a mail at sateeshchandra@gmail.com.



Thank you,

Sateesh









Quote
Quote
I want to what does these libraries consist of ?
Thanks and Regards
Shreya
[a href="index.php?act=findpost&pid=275840"][{POST_SNAPBACK}][/a]


I assume libisomediafile is responsible for creating the mp4 container, and libaudio is for reading the input file, since without either library, I get link errors like:

./src/main.o(.text+0x273): In function `main':
: undefined reference to `AuChannelOpen'
: undefined reference to `AuChannelClose'
: undefined reference to `AuChannelReadShort'
./src/mp4file.o(.text+0x21d): In function `MP4FileAddFrame':
: undefined reference to `MP4GetHandleSize'
./src/mp4file.o(.text+0x3a5): In function `WriteMP4File':
: undefined reference to `MP4WriteMovieToFile'
./src/mp4file.o(.text+0x491): In function `CloseMP4File':
: undefined reference to `MP4DisposeHandle'


, and if I build libisomediafile and link with that, the MP4* functions link okay, and the only errors that are left are the AuChannel* functions.
[a href="index.php?act=findpost&pid=275844"][{POST_SNAPBACK}][/a]


These libraries are precompiled. If I want to port this code on say Arm processor, then I need the source code of these libraries so as to compile it for Arm.Can I get this source code or these libraries can itself be used for porting on Arm ?
Title: Enhanced AAC plus free source code
Post by: rootkit on 2007-03-14 23:54:08
site moved to: http://teknoraver.net/software/mp4tools/ (http://teknoraver.net/software/mp4tools/)
Title: Enhanced AAC plus free source code
Post by: gettingair on 2007-08-06 22:26:06
http://purrrr.net/tmp/aacplusenc.zip (http://purrrr.net/tmp/aacplusenc.zip)

Nevermind worked it out

PPC OS X binary there.

Hello loophole, Any way to get the files? That site is down...
Title: Enhanced AAC plus free source code
Post by: hyeewang on 2007-08-09 04:44:12
Hello! I downloaded  the aacplus source code from 3gpp & test it. Float code is fine. But the fixed code (after 26411-630.zip) is terrible. Bad nosie spring  with normal audio signal all along. Noise--hundreds of horses are running.  Surprised , the fixed code before 630 is fine. Also , I found the problem happen in encoder code ,not decoder code. Maybe Coding technology release it before testing. ? The difference between 26411-630 & 26411-620? Anyone is kind to tell it?
Title: Enhanced AAC plus free source code
Post by: LaserSokrates on 2007-08-09 14:47:22
...the fixed code (after 26411-630.zip) is terrible. Bad nosie spring  with normal audio signal all along. Noise--hundreds of horses are running.  Surprised , the fixed code before 630 is fine. Also , I found the problem happen in encoder code ,not decoder code. Maybe Coding technology release it before testing. ? The difference between 26411-630 & 26411-620? Anyone is kind to tell it?

IIRC it's the same with MP3 encoders. Shine, also fixed point, produces files with a bad quality too.
Title: Enhanced AAC plus free source code
Post by: rootkit on 2007-11-09 14:06:56
CT fixed the AMD64 bugs, new url is: http://teknoraver.campuslife.it/software/mp4tools/ (http://teknoraver.campuslife.it/software/mp4tools/)

Cheers