IPB

Welcome Guest ( Log In | Register )

6 Pages V  « < 4 5 6  
Reply to this topicStart new topic
Open Source Fraunhofer AAC Encoder (fdk-aac)
nu774
post Nov 4 2013, 03:25
Post #126





Group: Developer
Posts: 537
Joined: 22-November 10
From: Japan
Member No.: 85902



QUOTE (eahm @ Nov 4 2013, 04:43) *
nu774, does Fraunhofer manage multichannel better on fdk than its premium encoder (the one that comes with Winamp/fhgaacenc)?

I don't know. I have no access to it's source code or something.

QUOTE
Also, do we need to keep libfdk-aac-0.dll for anything?

If you are using fdkaac_autobuild, no. FDK library is statically linked to the executable.
DLL is built just in case people want to use it.
Go to the top of the page
+Quote Post
Pulstar
post Nov 6 2013, 05:39
Post #127





Group: Members
Posts: 35
Joined: 26-January 10
Member No.: 77550



I'm using FDK now for all SBR encodes.. But I wonder how it stacks against Apple's encoder in terms of LC efficiency at lower bitrates.
Go to the top of the page
+Quote Post
halb27
post Dec 15 2013, 15:46
Post #128





Group: Members
Posts: 2439
Joined: 9-October 05
From: Dormagen, Germany
Member No.: 25015



Thank you very much, nu774, for this great automatic fdkaac.exe creating tool.

I got a lot of warnings and -fno-exceptions when compiling. Do I have to care about it?


--------------------
lame3100m -V1 --insane-factor 0.75
Go to the top of the page
+Quote Post
nu774
post Dec 15 2013, 17:01
Post #129





Group: Developer
Posts: 537
Joined: 22-November 10
From: Japan
Member No.: 85902



QUOTE (halb27 @ Dec 15 2013, 23:46) *
Thank you very much, nu774, for this great automatic fdkaac.exe creating tool.

I got a lot of warnings and -fno-exceptions when compiling. Do I have to care about it?

Although Makefile in that automatic script is hand-written by me, libfdk-aac is not my project and it's out of my controll, and -fno-exceptions (and -fno-rtti) is specified in upstream Makefile.am anyway
(I guess that's because they want to avoid dependency to libstdc++ and also some of overheads, but I dunno).
In short, I don't care, and you don't have to ... unless something really went wrong when running the encoder, of course.
Go to the top of the page
+Quote Post
halb27
post Dec 15 2013, 17:12
Post #130





Group: Members
Posts: 2439
Joined: 9-October 05
From: Dormagen, Germany
Member No.: 25015



Thank you. So I feel fine.


--------------------
lame3100m -V1 --insane-factor 0.75
Go to the top of the page
+Quote Post
lithopsian
post Feb 27 2014, 23:21
Post #131





Group: Members
Posts: 203
Joined: 27-February 14
Member No.: 114718



I built this front end on Debian (after writing my own because I wanted input on stdin, not nearly as good as the one from nu774!), also the libraries. Works very well. The Linux build, at least for my architecture, uses shared libraries although nothing else on my system uses them. ffmpeg might I suppose, but I don't use that.

Playing the files through Deadbeef I get a tiny jump between tracks. Deadbeef is known not to play Nero files gapless, although it does play faac files perfectly. The fdk-aac tracks have a much smalled gap than Nero. Audacious plays files encoded with the fdk-aac library just about perfectly (is there the tiniest skip on some tracks?)
Go to the top of the page
+Quote Post
raducutzu
post May 4 2014, 11:23
Post #132





Group: Members
Posts: 6
Joined: 4-May 14
Member No.: 115917



QUOTE (nu774 @ Nov 2 2013, 10:22) *
It seems just an issue of white space in the path.
It didn't work in your first example, where fdkaac_autobuild is located at "C:\Program Files (x86)\Utilities\fdkaac_autobuild"
It went on the second example, this time "d:\Tools\fdkaac_autobuild" was used.


It happened to me, as well. For it to work, it has to be installed in a folder without a blank in the path, C:\Program Files (x86) does have one in between.

Thanks for this great tool.
Go to the top of the page
+Quote Post
nu774
post May 4 2014, 14:09
Post #133





Group: Developer
Posts: 537
Joined: 22-November 10
From: Japan
Member No.: 85902



White-space-in-the-path issue basically comes from mingw/msys restriction, and there's nothing I can do for it.
Anyway nice to hear that you enjoyed it.
Go to the top of the page
+Quote Post
gottogo99
post Jun 21 2014, 01:22
Post #134





Group: Members
Posts: 109
Joined: 13-April 07
Member No.: 42452



I've been experimenting with using this encoder for video encodes. Is there any way to eliminate the delay, like the --no-delay option in qaac? Thanks.
Go to the top of the page
+Quote Post
nu774
post Jun 21 2014, 01:37
Post #135





Group: Developer
Posts: 537
Joined: 22-November 10
From: Japan
Member No.: 85902



QUOTE (gottogo99 @ Jun 21 2014, 09:22) *
I've been experimenting with using this encoder for video encodes. Is there any way to eliminate the delay, like the --no-delay option in qaac? Thanks.

No. However, you can trim out certain amount of unnecessary start padding by m4acut.
CODE
fdkaac -b 128 foo.wav -o tmp.m4a && m4acut tmp.m4a -o result.m4a

In case of FDK LC-AAC encoder, the amount of delay is 2048(=whole 2 AAC frames).
m4acut will cut it down to 1024
(Since 1 frame is enough as priming for AAC decoder, m4acut will discard frames beyond that).
Go to the top of the page
+Quote Post
gottogo99
post Jun 27 2014, 23:05
Post #136





Group: Members
Posts: 109
Joined: 13-April 07
Member No.: 42452



Belated thanks, I've been out of town.
Go to the top of the page
+Quote Post
bp0
post Aug 9 2014, 20:22
Post #137





Group: Members
Posts: 15
Joined: 24-July 14
Member No.: 116788



There is a HAK wiki page with collected information for Fraunhofer FDK AAC, and at Wikipedia Fraunhofer FDK AAC.
Go to the top of the page
+Quote Post
smok3
post Sep 15 2014, 22:45
Post #138


A/V Moderator


Group: Moderator
Posts: 1734
Joined: 30-April 02
From: Slovenia
Member No.: 1922



@nu774,
a. Should fdkaac compile into a static binary?
(On Debian I have this:
CODE
ldd ./fdkaac
    linux-vdso.so.1 =>  (0x00007fffa6e58000)
    libfdk-aac.so.0 => /usr/local/lib/libfdk-aac.so.0 (0x00007fc586100000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc585e7e000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc585af2000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fc5863d6000)
)
b. Is it compilable on OSX (Mountain Lion)?

This post has been edited by smok3: Sep 15 2014, 22:45


--------------------
PANIC: CPU 1: Cache Error (unrecoverable - dcache data) Eframe = 0x90000000208cf3b8
NOTICE - cpu 0 didn't dump TLB, may be hung
Go to the top of the page
+Quote Post
lithopsian
post Sep 15 2014, 23:46
Post #139





Group: Members
Posts: 203
Joined: 27-February 14
Member No.: 114718



When I build libfdk from source on Linux I get a static library as well as a shared library. Look in .libs.

I haven't built libfdk on OSX, but the build files are set up for a wide range of platforms, just about everything you can imagine.

This post has been edited by lithopsian: Sep 15 2014, 23:47
Go to the top of the page
+Quote Post
nu774
post Sep 16 2014, 01:55
Post #140





Group: Developer
Posts: 537
Joined: 22-November 10
From: Japan
Member No.: 85902



QUOTE (smok3 @ Sep 16 2014, 06:45) *
@nu774,
a. Should fdkaac compile into a static binary?
b. Is it compilable on OSX (Mountain Lion)?

a. Both of libfdk-aac and fdkaac are GNU autotools based, so you can follow the general rule for it.
If you configure libfdk-aac with --disable-shared then static only libfdk-aac library will be generated, and it will be picked when building fdkaac. If both of static and shared libs are present, shared one will be picked by default.

b. Yes, haven't tried it myself, but some users seem to have succeeded in it.
Go to the top of the page
+Quote Post
Dynamic
post Sep 16 2014, 11:18
Post #141





Group: Members
Posts: 824
Joined: 17-September 06
Member No.: 35307



QUOTE (bp0 @ Aug 9 2014, 20:22) *
There is a HAK wiki page with collected information for Fraunhofer FDK AAC, and at Wikipedia Fraunhofer FDK AAC.


The tables in that HA Wiki page look the wrong way round.

Firstly, 48kHz low-pass for VBR mode 5 - is plausible given 96kHz sampling rate is allowed, but seems like a big leap.

Then, higher low-pass for CBR modes in stereo than in mono ?!?

I don't have the correct figures to check this myself.
Go to the top of the page
+Quote Post
bp0
post Sep 26 2014, 23:22
Post #142





Group: Members
Posts: 15
Joined: 24-July 14
Member No.: 116788



QUOTE (Dynamic @ Sep 16 2014, 05:18) *
QUOTE (bp0 @ Aug 9 2014, 20:22) *
There is a HAK wiki page with collected information for Fraunhofer FDK AAC, and at Wikipedia Fraunhofer FDK AAC.


The tables in that HA Wiki page look the wrong way round.

Firstly, 48kHz low-pass for VBR mode 5 - is plausible given 96kHz sampling rate is allowed, but seems like a big leap.

Then, higher low-pass for CBR modes in stereo than in mono ?!?

I don't have the correct figures to check this myself.


The sentence above the table explains it a bit:
"The default bandwidth (or low-pass filter cutoff) for each bitrate mode will be the minimum of the appropriate value in the tables below or half the sample rate. This can be overridden, but the maximum value is 20000 Hz"

In the case of mode 5, I think it is simply that there is no filter applied. 48kHz in this case is the "half the sample rate" for the maximum input sample rate of 96kHz, which means it is the maximum possible. If you were only encoding something from a CD that was 44.1kHz, then you're limited to 22kHz anyway, and maybe only 20kHz (but it seems like that 20kHz limit seems to only be applied if a specific bandwidth was requested).

The effect is that mode 5 is just the full frequency range.

My understanding of it could be completely wrong, though. Feel free to correct me. smile.gif

As to why there is a higher filter for multi-channel, I don't know. I'm just using the values in the table in bandwidth.cpp

Edit: I looked into it a little more, and edited the HAK wiki page to reflect the understanding that VBR mode 5 effectively has no filter applied. I'm pretty sure that is right.

This post has been edited by bp0: Sep 26 2014, 23:43
Go to the top of the page
+Quote Post
bp0
post Sep 27 2014, 04:55
Post #143





Group: Members
Posts: 15
Joined: 24-July 14
Member No.: 116788



QUOTE (bp0 @ Sep 26 2014, 17:22) *
Edit: I looked into it a little more, and edited the HAK wiki page to reflect the understanding that VBR mode 5 effectively has no filter applied. I'm pretty sure that is right.

Posts #34 (with pictures!) and #89 in this thread seem to confirm it as well.

This post has been edited by bp0: Sep 27 2014, 05:33
Go to the top of the page
+Quote Post
bp0
post Oct 2 2014, 04:58
Post #144





Group: Members
Posts: 15
Joined: 24-July 14
Member No.: 116788



QUOTE (Dynamic @ Sep 16 2014, 05:18) *
Then, higher low-pass for CBR modes in stereo than in mono ?!?

I think I have an answer for this. Since a channel that is combined stereo with another channel takes much fewer bits to encode, they allow more frequency on those channels, since they've got the extra space for it anyway in CBR.
FDK Bandwith (low-pass filter defaults)

I've also updated the VBR bitrate mode table to show that they actually limit a "stereo" channel more than a full "mono" channel, so the VBR stream bitrate calculations are slightly more complicated than just bitrate*channels. This is again because the a stereo channel doesn't need as many bits because it shares alot with the channel it is combined with.
FDK Bitrate Modes, with examples

EDIT: Additional note: It was Garf who explained this in IRC.

This post has been edited by bp0: Oct 2 2014, 04:59
Go to the top of the page
+Quote Post

6 Pages V  « < 4 5 6
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 21st October 2014 - 02:40