Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Nero Releases FREE Reference Quality MPEG-4 Audio Encoder (Read 473203 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #300
Mono channels should be encoded as mono.

They are just decoded as stereo.

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #301
...to briefly change the subject, I've encoded my music from FLAC to AAC using Foobar and the neroAacEnc_sse2.exe encoder using the following parameters:

  -ignorelength -q 0.6 -if - -of %d

When listening to softer pieces on my iPod Shuffle, every 15-30 seconds I hear very brief but distinct dropouts. Playback via iTunes on my PC sounds fine.

Has anyone with a Shuffle heard the same?


Well, tested with a 2G iPod and it's fine. Must be a Shuffle thing. Sorry to interrupt.

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #302
Mono channels should be encoded as mono.

They are just decoded as stereo.

Ivan, when I play a "mono" iTunes encode in Winamp (using the AudioCoding "MP4 input plugin for Winamp" from RareWares) it shows up as one channel. But when I play a "mono" file from your encoder it shows up as two channels.

A single-channel *.wav was used to encode each *.m4a file. This isn't a case of CD-mono content (dual channels, even if the content is the same) being mistaken for subtle stereo; it appears the encoder is taking a single-channel source and storing it as two channels within the encoded file, even though that is not required by the MPEG-4 spec!

Unless I've horribly misunderstood the purpose of a mono channel, that just doesn't make any sense. 

    - M.

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #303
No, what Ivan said is exactly correct:

The file is mono, but it will be decoded as stereo.

The reason for this is that a mono file *may* in fact be a parametric stereo file (the decoder can't know for sure), so a mono file could possibly suddenly transform into a stereo file in the middle of decoding. For this reason, the FAAD2 decoder, and everything based on it, will decode them always as stereo, even if they are mono.



Normal and expected. If you force a quality profile, the -q scale changes.

Consider the following:

-q 0
-q 0 -lc
-q 1 -hev2

I don't see any way to make it behave consistently. Probably, the most reasonable thing to do would be to make the average bitrate equal, but of course that means that -q 0 -lc is very different quality from -q 0 -hev2.


But will -q .425 with no other params always give me a LC file?


Yes, unless it turns out that some improvement to SBR makes it useful for higher bitrates, or we manage to improve quality so much that you can get -q 0.425 quality at significantly lower bitrates.

But for the current encoder, it's always LC.

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #304
Hmm, this is odd.  When I use only the "-q 0.4" option, it produces a LC-AAC file at ~130kbps.  However, when the "-lc" option is added, the average bitrate jumps about 60kbps.

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #305
No, what Ivan said is exactly correct:

The file is mono, but it will be decoded as stereo.

The reason for this is that a mono file *may* in fact be a parametric stereo file (the decoder can't know for sure), so a mono file could possibly suddenly transform into a stereo file in the middle of decoding. For this reason, the FAAD2 decoder, and everything based on it, will decode them always as stereo, even if they are mono.

Okay, what you've said makes sense. iTunes "mono" files are *not* be parametric stereo, since they show up as mono regardless of how they are decoded, and are strictly channel-limited. You've basically chosen (for reasons of quality) to allow the encoder to parametrically determine the necessary separation, based on content. (Phrased redundantly, but you know what I mean.)

But to draw to the logical conclusion: If a Nero-codec "mono" file is parametric stereo, and -cbr 128000 (when used for streaming a stereo station) determines one set of frequency cutoff values and dynamic assumptions, does -cbr 64000 dynamically adjust those cutoffs and assumptions based on monaural content? Or will the apparent quality of the -cbr 64000 mono stream be significantly lower than its stereo -cbr 128000 counterpart?

    - M.

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #306
garf. why are you avoiding my question?

why not give me explanation of why PNS would be a "bad" idea.

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #307
Hmm, this is odd.  When I use only the "-q 0.4" option, it produces a LC-AAC file at ~130kbps.  However, when the "-lc" option is added, the average bitrate jumps about 60kbps.


I already explained this like 2 or 3 posts before yours 

http://www.hydrogenaudio.org/forums/index....ndpost&p=390899

garf. why are you avoiding my question?

why not give me explanation of why PNS would be a "bad" idea.


I already answered your question:

http://www.hydrogenaudio.org/forums/index....ndpost&p=390517



Yes, I realize that the quality scale changes when a quality profile is enforced as it is in your examples. However, the encoder choses LC for -q 0.425, therefore my guess was that adding the -lc switch when encoding with -q 0.425 wouldn't change the results.

[...]

But why should two LC files have different bit rates when aiming for the same quality?

But I guess my logic is somehow flawed, will remove the -lc. Thanks again.


You're still forcing it to a specific mode. If you do this, you end up on a different scale than with normal -q.

I thought some time about "fixing" this, but as explained in my previous answer, I don't think it's possible in general so I didn't bother too much. Don't force profiles unless you absolutely need to.

If you look at this graph for 6 channel encoding:

http://img183.imageshack.us/my.php?image=n...052006gerad.png

You can see what happens. Note how the two parts of VBR(free) are parellel with respenctive parts of LC(force) and HE(force). Also note that if there wasn't a remapping going on, you would't be able to make 300kbps encodes, because the encoder would jump from 200 to 400kbps.


Okay, what you've said makes sense. iTunes "mono" files are *not* be parametric stereo, since they show up as mono regardless of how they are decoded, and are strictly channel-limited. You've basically chosen (for reasons of quality) to allow the encoder to parametrically determine the necessary separation, based on content. (Phrased redundantly, but you know what I mean.)
    - M.


No, no, no, I absolutely did not say this anywhere. I didn't even mention the word encoder.

Encoding a mono file gives you a mono file.

Decoding a mono file can give you a stereo file. (depends on the decoder)

If it's still not clear now, I don't know how else to explain it.

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #308
I have WinMe. Is any way to launch it on this system?

Yes it's possible.  E-mail me, I teach you how to make it run... It's really simple.
NeroAACDec/Enc/Enc_sse2 runs under Win9x/Me without any problems. 

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #309
Yes it's possible.  E-mail me, I teach you how to make it run... It's really simple.
NeroAACDec/Enc/Enc_sse2 runs under Win9x/Me without any problems. 

Why don't you just share your knoledge here?

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #310
I just noticed that latest Foobar (9.2 beta 2) has a built-in converter option for "MP4 Nero" that includes a button to download this new encoder.

For this to work, what folder does the encoder have to be in?

And how does one specify the "SSE2" version?

Thanks.

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #311
Has anyone managed to make this work under Virtual PC? It just crashes for me immediately after displaying the copyright and build info.

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #312
Normal and expected. If you force a quality profile, the -q scale changes.

Consider the following:

-q 0
-q 0 -lc
-q 1 -hev2

I don't see any way to make it behave consistently. Probably, the most reasonable thing to do would be to make the average bitrate equal, but of course that means that -q 0 -lc is very different quality from -q 0 -hev2.

So is there a quality cut-off point where LC isn't used?  I just want to make sure to get the same quality LC file with a lower bitrate (by NOT using the -lc switch or any quality profile switch).  Don't want to end up encoding my collection and then find out that my iPod can't play the files because they ended being encoded to HE or HEv2.

Maybe the -lc switch should only "activate" if neroenc decides that the file will be encoded using HE or HEv2?  Considering that -lc gives higher bitrates for the same quality LC file.

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #313
PNS is an encoder internal?

then how come it is enabled in the GUI on NERO 7.2?

this does not seem like it should be some super top secret option, all i and many more ask for it a more decent lowpass for this encoder, and PNS can help this.

please take this into consideration when coding the next build, thanks.


Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #315

Yes it's possible.  E-mail me, I teach you how to make it run... It's really simple.
NeroAACDec/Enc/Enc_sse2 runs under Win9x/Me without any problems. 

Why don't you just share your knoledge here?

Well... Only one thing is really needed - emulation of CreateFileW function...
Like this:
-----------
char szName[MAX_PATH];
WideCharToMultiByte(GetACP(),CP_ACP,lpFileName,-1,szName,1023,NULL,NULL);
return CreateFile(szName,dwDesiredAccess,dwShareMode,lpSecurityAttributes,dwCreationDisposition,dwFlagsAndA
ttributes,hTemplateFile);
------------
(Other ~7 W-function... just ignore it) You need create dll and force encoder to use it instead of kernel32.dll.. It's all, any average programmer can do it.
def-file must contains other 84 kernel functions used by encoder. (Implementation needed only for CreateFileW)
It's works... and works about 10% faster under W9x compared to Win2k... I don't know why... and don't want to know  I'm compared results of W9x&W2k ecoding procceses... and it's match within round errors. And _SSE2 version match perfectly.

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #316
Hmm, this is odd.  When I use only the "-q 0.4" option, it produces a LC-AAC file at ~130kbps.  However, when the "-lc" option is added, the average bitrate jumps about 60kbps.


I already explained this like 2 or 3 posts before yours 

Another faux pas in the same thread!

But I'm still curious (considering that it is a quality-based system), why would adding the -lc command make the encoder think that it needs ~60 more kbps to achieve the same "quality" (even though everything else is the same)?  And though I haven't done any testing to prove it, it's doubtful that a ~54kbps -q 0.4 -hev2 file is of equal quality to a ~185kbps -q 0.4 -lc file.

So (I think I finally understand this ) the -q # setting when used with the profile switches isn't based on absolute quality, but rather relative quality for each specific profile.  -q 0.0 is the lowest quality that its respective profile is most optimal for, and -q 1.0 is the highest quality that its optimal for.

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #317
Maybe the -lc switch should only "activate" if neroenc decides that the file will be encoded using HE or HEv2?  Considering that -lc gives higher bitrates for the same quality LC file.
If I understand it correctly the -lc switch does not only give a higher bit rate but also higher quality (different quality scales are used). This should only be true for q values higher than the value where the encoder choses LC by itself.

My encodes seems to indicate that -q 0.31 -lc roughly equals -q 0.425.

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #318
its a different scale, thats it, i guess there is:

1. one scale for all (when just doing -q x.x) - that includes he, hev2, lc
2. 2nd scale for forced he
3. 3rd scale for forced hev2
4. 4th scale for forced lc

this 4 scales dont have any quality connections between them.

---
so 4 scales depending on the forced settings, hopefully devs can confirm or deny this?
PANIC: CPU 1: Cache Error (unrecoverable - dcache data) Eframe = 0x90000000208cf3b8
NOTICE - cpu 0 didn't dump TLB, may be hung

 

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #319
If the meaning of the -q quality level changes whether or not -lc is used it really says quality level is not the only target but considerations about bit rate drop in as well.
This has always been my suspicion with vbr mode of many encoders, but in principal shouldn't be like that: quality is quality, and bitrate is bitrate, and bitrate oriented operation modes are available anyway.

A direct consequence is for instance my own little listening test with -lc has turned out worthless as I had in mind those average bitrates given at the table in this thread or the settings thread. This also shows information about this encoder can lead to a lot of confusion due to this concept. BTW: is there a corresponding -lc table?

This problematic meaning of 'quality mode' hurts this encoder more than other ones as the quality level  of other encoders does not depend on further settings. With AAC however chosing the profile is essential as for targeting at playing systems.

In this sense a quality mode which choses the profile automatically (and when doing so can change choosing characteristics from version to version) is very questionable to me. And it looks like this is one of the major targets of current Nero AAC development: take a quality level as input and let the encoder choose all the other details like profile, PNS, etc.
While this is a good thing in theory in praxis we have to take into account what the target player is able to do.

I'd rather prefer to
  • require a profile as an input parameter. If it's missing, LC-AAC is defaulted.
  • give a quality level as an input parameter which tries to achieve a quality level in an absolute sense. This might be difficult to achieve in a general sense, but maybe a good-enough simplification is to do so for certain important quality values. Consistency of quality level throughout various versions is most important within the same profile, and should be roughly the same across the different profiles.
    As an alternative to quality mode, the bitrate oriented modes should also be available.
  • have a restricted set of additional parameters available for user choice (PNS for instance). This sure is a sensible thing, but I guess the current not wanting at all to do so results from the current motivation for this problematic one and only quality level as input and letting the encoder decide on everything else.
lame3995o -Q1.7 --lowpass 17

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #320
I just noticed that latest Foobar (9.2 beta 2) has a built-in converter option for "MP4 Nero" that includes a button to download this new encoder.

For this to work, what folder does the encoder have to be in?
Already answered.  Anywhere.  If foobar can't find the EXE where the preset says it is it will open a dialogue and ask you to specify the directory that contains the EXE.

And how does one specify the "SSE2" version?
Edit the preset and change the dropdown to "Custom".  You can then change the filename from neroAacEnc.exe to neroAacEnc_sse2.exe.

While you are doing this you may as well just use the dialogue to point to your EXE, negating the first question/answer.
I'm on a horse.

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #321
PNS is an encoder internal?

then how come it is enabled in the GUI on NERO 7.2?


A truly horrible mistake that I hope will be fixed in the next version.


If the meaning of the -q quality level changes whether or not -lc is used it really says quality level is not the only target


Wrong.

Quote
but considerations about bit rate drop in as well.


No.

Quote
BTW: is there a corresponding -lc table?


No. Feel free to generate one.

Quote
This problematic meaning of 'quality mode' hurts this encoder more than other ones as the quality level  of other encoders does not depend on further settings.


Completely wrong.


The only thing I agree with is that device compatibility plays an issue. Which is why the next version will have a set of 4 simple compatibility profiles. If it depends on me, the possibility for the user to select the encoding mode (LC/HE) also goes away at that point.

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #322
The reason for this is that a mono file *may* in fact be a parametric stereo file (the decoder can't know for sure), so a mono file could possibly suddenly transform into a stereo file in the middle of decoding. For this reason, the FAAD2 decoder, and everything based on it, will decode them always as stereo, even if they are mono.


This behaviour is actually a requirement in the MPEG-4 standard for PS capable decoders on mono files without explicit signalling of NO PS. Having said that, explicit signalling could be added to one of the next versions, we are considering this. However, "FAAD2, and everything based on it," does not have support for this explicit signalling.

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #323
But I'm still curious (considering that it is a quality-based system), why would adding the -lc command make the encoder think that it needs ~60 more kbps to achieve the same "quality" (even though everything else is the same)?  And though I haven't done any testing to prove it, it's doubtful that a ~54kbps -q 0.4 -hev2 file is of equal quality to a ~185kbps -q 0.4 -lc file.


As explained a few times already: forcing the encoder mode puts you on a different quality scale. How to achieve the same quality as at -q 0.5 -lc when switching to hev2? What's the equivalent LC quality for -q 0 -hev2? I don't think it's possible to make a scale that is and always consistent, and offers all quality/bitrate/mode options, even if it's possible to hack around the "-q 0.425 -lc" vs "-q 0.425" issue. So, I'd rather spend time to remove the need to use the "-lc/-he/-hev2" overrides instead.

Quote
So (I think I finally understand this  ) the -q # setting when used with the profile switches isn't based on absolute quality, but rather relative quality for each specific profile.  -q 0.0 is the lowest quality that its respective profile is most optimal for, and -q 1.0 is the highest quality that its optimal for.


Somewhat, but not entirely. -q is literally the switch that selects how "picky" or "sensitive" the psymodel is (are you hearing me, "-q is not quality mode and considers bitrate" trolls?). You can observe this for example by trying -q 1 -hev2. The encoder will just throw its hands in the air since it has no way to please the high demands when it has to use SBR and PS. Selecting for example -q 0.15 -lc, and then switching to -q 0.15 -he, will reduce in a large bitrate drop because the psymodel is only having to consider half of the spectrum anymore (the rest belongs to SBR).

Hence you get different quality scales.  This is evil, because
  • It's confusing (that much is clear  )
  • It's inconsistent with the expectation that same -q = same quality. (From the point of the psymodel it is true, but it isn't always seeing the entire spectrum.)
So, if you don't force the encoder to a specific mode, we internally remap everything to compensate for what the psymodel can't see, to present you with a single, fluid, consistent and correct quality scale which has optimal switching decisions between the modes and behaves like you'd expect.

If you do force the encoder to a specific mode, thereby indicating that you believe you are capable of handling the starship, be sure to understand that the Warp scale is not linear and that travelling at faster than light speeds brings unexpected results.

I'm wondering if I'm doing any good with these explanations, since it seems the more we explain, the more people keep asking the same thing over and over, or come up with totally weird theories which are entirely and completely wrong.

So, I think I'm going to have a bet with Ivan when the first person to explain to us that our encoder has a problem with it's dilithium crystals is going to show up.

Nero Releases FREE Reference Quality MPEG-4 Audio Encoder

Reply #324
"I'm giving it all she's got, Captain... but if I push her past -q 0.5, she's gonna overcompensate for too many command line switches..."

Does that make me the winner of the "Spot The Dilithium Crystal Encoder" contest?

Sorry, couldn't resist. Again, great work guys, I finally finished my 100 DVD FLAC > Nero mp4 conversion, boy that took a few days but it's nice to have a freshly formatted iPod with 9250+ songs on it all done nice and clean with the new encoder. And no, I won't be redoing it again just because an improved encoder might come out.

"It sounds fine to me as is, and that's all that matters."

Thanks...
bb
The difference between genius and stupidity?

Genius has limits.