FDK HE-AAC V1 or HE-AAC v2, Which does HandBrake Have?

HandBrake for Windows support
Forum rules
An Activity Log is required for support requests. Please read How-to get an activity log? for details on how and why this should be provided.
Post Reply
ByteShare
Posts: 35
Joined: Fri Aug 07, 2015 1:21 am

FDK HE-AAC V1 or HE-AAC v2, Which does HandBrake Have?

Post by ByteShare »

https://en.wikipedia.org/wiki/High-Effi ... g#Versions

I know it is clear that at least the FDK HE-AAC V1 is in the source code. I know that it is disabled by default now.
What I'm trying to figure out is which version does it have.

I was just learning about HE-AAC v2 (sometimes called xHE-AAC) and wanted to know if HandBrake doesn't have it how I might ago about updating it manually?

I know that the Mac Version still has HE-AAC, and even that version I'm not sure which it uses. I wasn't sure if it would be so obvious that the HandBrake team would put HE-AAC v1 and HE-AAC v2 (if the options were available)?

Update 1: Doing some digging, found "HE-AAC version 2 only handles stereo" so it seems 99.9% unlikely HandBrake uses V2 since I can do 5.1 audio.
Update 2: "Although it would be logical that HE-AAC v2 is only specified for stereo signals, the
MPEG-4 standard includes the multichannel option for HE-AAC v2. In case of a multichan-
nel signal, the PS tool is not used and the profile definition of HE-AAC v2 is equivalent
to HE-AAC. The reason to specify HE-AAC v2 for multichannel signals is to make it easier
for application standards to reference all options of AAC, HE-AAC, and HE-AAC v2. By
specifying HE-AAC v2 including multichannel support, all possibilities of the three above
described profiles can be utilized" http://www.iis.fraunhofer.de/content/da ... ableTV.pdf
July 2013

The first update is from FFMPEG, so maybe they're using out dated info, or maybe they just believe it isn't good for multi-channels?
Last edited by ByteShare on Thu Feb 25, 2016 8:27 pm, edited 1 time in total.
Woodstock
Veteran User
Posts: 4619
Joined: Tue Aug 27, 2013 6:39 am

Re: FDK HE-AAC V1 or HE-AAC v2, Which does HandBrake Have?

Post by Woodstock »

Well, if you're typing about the latest version 0.10.5, FDK AAC is removed, unless you compile it yourself.
mduell
Veteran User
Posts: 8198
Joined: Sat Apr 21, 2007 8:54 pm

Re: FDK HE-AAC V1 or HE-AAC v2, Which does HandBrake Have?

Post by mduell »

I don't know the answer, but why does it matter?
arcuser
Bright Spark User
Posts: 183
Joined: Mon Mar 09, 2015 5:55 am

Re: FDK HE-AAC V1 or HE-AAC v2, Which does HandBrake Have?

Post by arcuser »

ByteShare wrote: I know it is clear that at least the FDK HE-AAC V1 is in the source code. I know that it is disabled by default now.
What I'm trying to figure out is which version does it have.
Any 5.1 encodes I look at with MediaInfo seem to indicate it is indeed HE-AAC (v1)

I am pretty sure that HB (in version 0.10.3) was compiled using FDK-AAC 0.1.4
nhyone
Bright Spark User
Posts: 252
Joined: Fri Jul 24, 2015 4:13 am

Re: FDK HE-AAC V1 or HE-AAC v2, Which does HandBrake Have?

Post by nhyone »

ByteShare, are you going to use very low bitrate, such as 64 kbps or lower? If not, then just use the normal LC-AAC.
ByteShare
Posts: 35
Joined: Fri Aug 07, 2015 1:21 am

Re: FDK HE-AAC V1 or HE-AAC v2, Which does HandBrake Have?

Post by ByteShare »

Woodstock wrote:Well, if you're typing about the latest version 0.10.5, FDK AAC is removed, unless you compile it yourself.
I complied it myself, and I'm using the night lines. But in 10.5 it is still in the hb.dll just set to disabled.
mduell wrote:I don't know the answer, but why does it matter?
Because there is a quality/size difference
arcuser wrote:
ByteShare wrote: I know it is clear that at least the FDK HE-AAC V1 is in the source code. I know that it is disabled by default now.
What I'm trying to figure out is which version does it have.
Any 5.1 encodes I look at with MediaInfo seem to indicate it is indeed HE-AAC (v1)
I am pretty sure that HB (in version 0.10.3) was compiled using FDK-AAC 0.1.4
I looked at MediaInfo as well, but it didn't say HE-AAC V1, and wasn't sure if V1 or V2 would even show up in that info.
nhyone wrote:ByteShare, are you going to use very low bitrate, such as 64 kbps or lower? If not, then just use the normal LC-AAC.
There is a size benefit to using HE-AAC even at higher bitrates.
arcuser
Bright Spark User
Posts: 183
Joined: Mon Mar 09, 2015 5:55 am

Re: FDK HE-AAC V1 or HE-AAC v2, Which does HandBrake Have?

Post by arcuser »

ByteShare wrote: I looked at MediaInfo as well, but it didn't say HE-AAC V1, and wasn't sure if V1 or V2 would even show up in that info.
In MediaInfo HE-AAC v1 just appears as HE-AAC. Anything using v2 on the other hand will actually show up as HE-AAC v2.
nhyone
Bright Spark User
Posts: 252
Joined: Fri Jul 24, 2015 4:13 am

Re: FDK HE-AAC V1 or HE-AAC v2, Which does HandBrake Have?

Post by nhyone »

ByteShare wrote: There is a size benefit to using HE-AAC even at higher bitrates.
Perhaps, but you will be using it out of its design intent.

Take a look at Apple's iOS Technical Note TN2236 High-Efficiency Advanced Audio Coding (HE-AAC)

Recommendation:
  1. HE-AAC v2 for lower bitrates between 16 - 40 kb/s
  2. HE-AAC v1 for bitrates between 32 - 80 kb/s
  3. AAC-LC for bitrates higher than 80 kb/s
My understanding of HE-AAC: cuts off high frequencies (above 16k?) and recreates them on playback. HE-AACv2: encodes in mono and recreates stereo on playback.

I definitely won't use them at high bitrates if fidelity is important.
User avatar
BradleyS
Moderator
Posts: 1860
Joined: Thu Aug 09, 2007 12:16 pm

Re: FDK HE-AAC V1 or HE-AAC v2, Which does HandBrake Have?

Post by BradleyS »

nhyone wrote:My understanding of HE-AAC: cuts off high frequencies (above 16k?) and recreates them on playback. HE-AACv2: encodes in mono and recreates stereo on playback. I definitely won't use them at high bitrates if fidelity is important.
HE-AAC uses AAC-LC to encode low frequencies and SBR to encode high frequencies. It's similar to mp3PRO. Compression efficiency is improved even at higher bitrates, but AAC-LC may be preferable to better reproduce the entire audio spectrum when using higher bitrates. SBR is not the highest quality sounding codec, it's just really efficient at compressing high frequencies at lower bitrates than typical AAC-LC.

HE-AAC v2 adds Parametric Stereo, which is similar to joint stereo where a mono signal is encoded and then stereo bits (differences between the left and right channels) are added where necessary and omitted where less noticeable. This is another cool trick to produce higher quality audio at lower bitrates. It's mostly a bad idea at higher bitrates.

In short, use AAC-LC at higher bitrates. The underlying "high efficiency" techniques in HE-AAC v1 and v2 are not designed for high quality audio reproduction and thus are not as transparent as vanilla AAC-LC at higher bitrates.
Post Reply