Log in

View Full Version : Nero Releases FREE Reference Quality MPEG-4 Audio Command Line Encoder


Pages : 1 [2] 3 4 5 6 7 8 9

layer3maniac
5th May 2006, 04:12
Negative, he said he hopes to get the fixed version uploaded tomorrow. BTW, my understanding is that it isn't an AMD problem, it's an SSE2 (or lack thereof, actually) problem. It affects PIII's too, but not AMD's which do have SSE2 support (like Athlon64's).

The (currently available) encoder requires an SSE2 capable processor. It has nothing to do with AMD, other than that the AMD Athlon XP doesn't have SSE2 capability (but neither does the Pentium III, whereas the Athlon64 or Opteron does and works with the published package).

Teegedeck
5th May 2006, 07:51
I couldn't believe my eyes when I saw that - three cheers and everything! ^_^

A full-blown CLI encoder. This makes things so much easier. Man... Thanks!:thanks:

Latexxx
5th May 2006, 08:13
Just curious; has work started on integrating this encoder with Exact Audio Copy & MeGUI?
No special integration is required with eac. Just select command line encoder, pick nero's encoder, and use -if %s -of %d as parameters.

dimzon
5th May 2006, 08:14
First of all, I would kindly ask you to stop this FUD - Nero Command Line encoder has absolutely no limits and it has highest possible quality - in fact, it has more options than Nero 7.2 plug-in, aimed for professionals.

- This is the first in the world, completely legal, and unlimited command line encoder (it is not a hack of third-party application)
Thanx a lot!!!
Still waiting for AMD XP fixed encoder (maybe you can temporaly upload it @ mytempdir.com or rapidshare.de ?)
Now some technical questions:

How does You detect source length ? Does You use appropriate field from WAV header structure or just read source until EOF? If You are using field from WAV header it means there are possible problems with long streams (WAV field is 32bit only ) Ups, there are ignorelength option, sorry
Is it possible to make special 2-pass mode for STDIN? In this case caller must provide double-length stream as source (repeat original source twice) and provide samplecount in original via special command-line parameter
Any chance to be able encode raw pcm ( headerless wav)? In this case caller must provide bitspersample/channelcount/samplerate and optional samplecount (for 2-pass from STDIN) via command-line.
Any chance to be able to encode to ADTS AAC (some muxers reque AAC without container).

BTW/Offtopic.
As I said before I'm even ready to paid for full Nero package to be able to encode without GUI (via command-line) so thanx You a lot for free solution
And I want same for AVC (I'm NOT asking for FREE solution, I'm ready to paid for full Nero package) but I want to be able to encode WITHOUT Your GUI too. Please, forward this statement to appropriate ppls from Nero team. I believe, development of the small cli wrapper around AVC DS encoding filter will be cost mostly nothing for You but will get great satisfaction for expirienced users!

BTW/Offtopic. I'm still banned @ HA forum - NOBODY contacted me Yet :scared:

is there a GUI available I'm not good with command lines i hate writing it in and all that
It is possible to write BeHappy extension for this encoder. I will write it right after AMD XP fix will be avaluable.

shon3i
5th May 2006, 08:59
Once again...
This is NOT "the same encoder from nero 7.2.03b but in exe file".
What is the different, this encoder have only 2pass. Or if this completly new codec comparing to 7.2.0.3b then congratulate to Ivan for writing totality new codec from scratch in this short period about 3 days.

Ivan Dimkovic
5th May 2006, 09:19
shon3i
About CBR. I think at last public test @48 nero uses ABR vs CT CBR and prove that ABR is better than CBR, everyone know that ABR is much better in any case. So Nero now have real CBR then if we have a real winner of some test we need to compare codec with same settings. Nero CBR vs CT CBR

Your claim 'ABR is much better in any case' is dead flat wrong. There was a listening test, comparing Nero ABR, Nero CBR and Nero VBR here:

http://www.hydrogenaudio.org/forums/index.php?showtopic=41191&hl=

And you can see that ABR is certainly not "much better in any case" but "just a little bit better" at least when it comes to 48 kbps bit rate.



What is the different, this encoder have only 2pass. Or if this completly new codec comparing to 7.2.0.3b then congratulate to Ivan for writing totality new codec from scratch in this short period about 3 days.

May 1st version contains:

- Slight improvement in Mid/Side coding
- Fixed LFE channel handling for 5.1 material (important!)
- Fixed HE-AAC v2 bug (small quality improvement)

So, for 5.1 content it should be a bit better ;)

SeeMoreDigital
5th May 2006, 09:23
Hi SMD,

Check out Belight next rev, Kurtnoise is stating (in a french forum) that he is working on it :)Thanks for the heads up Did.... I'll keep a watch out ;)

shon3i
5th May 2006, 09:28
Your claim 'ABR is much better in any case' is dead flat wrong. There was a listening test, comparing Nero ABR, Nero CBR and Nero VBR here:

http://www.hydrogenaudio.org/forums/...opic=41191&hl=

And you can see that ABR is certainly not "much better in any case" but "just a little bit better" at least when it comes to 48 kbps bit rate.ABR is always good than CBR, and i see that graphs milion times, You are use one sample to test differents, but different sample different case but always good for ABR ;

So, for 5.1 content it should be a bit betterI am wroting this post from my friend. And i now tested this cli and 5.1 CBR comparing to 5.1 CT CBR - not sounds good, 2pass 5.1 comaring to 5.1 CT CBR - sounds good but i think to hear some artefatcs in center channel when come some speech.

Ivan Dimkovic
5th May 2006, 09:31
ABR is always good than CBR, and i see that graphs milion times, You are use one sample to test differents, but different sample different case but always good for ABR ;

If you saw the graphs million times, I am somehow surprised that you haven't seen the test conditions at least half million times ;)

http://www.hydrogenaudio.org/forums/index.php?showtopic=40858



ftp://ftp.morbo.org/pub/Nero_48_Test/test1.rar -- Test 1 SETUP
ftp://ftp.morbo.org/pub/Nero_48_Test/test1_atrain.rar -- Test 1, Sample 1
ftp://ftp.morbo.org/pub/Nero_48_Test/test1_biniou.rar -- Test 1, Sample 2
ftp://ftp.morbo.org/pub/Nero_48_Test/test1_clapton_44k.rar -- Test 1, Sample 3
ftp://ftp.morbo.org/pub/Nero_48_Test/test1_es02.rar -- Test 1, Sample 4
ftp://ftp.morbo.org/pub/Nero_48_Test/test1_french_ad.rar -- Test 1, Sample 5
ftp://ftp.morbo.org/pub/Nero_48_Test/test1_harp40_1.rar -- Test 1, Sample 6
ftp://ftp.morbo.org/pub/Nero_48_Test/test1_mahler.rar -- Test 1, Sample 7
ftp://ftp.morbo.org/pub/Nero_48_Test/test1_sandman.rar -- Test 1, Sample 8
ftp://ftp.morbo.org/pub/Nero_48_Test/test1_si02.rar -- Test 1, Sample 9
ftp://ftp.morbo.org/pub/Nero_48_Test/test1_sm01.rar -- Test 1, Sample 10
ftp://ftp.morbo.org/pub/Nero_48_Test/test1_sympathy.rar -- Test 1, Sample 11
ftp://ftp.morbo.org/pub/Nero_48_Test/test1_te09_44k.rar -- Test 1, Sample 12
ftp://ftp.morbo.org/pub/Nero_48_Test/test1_yello.rar -- Test 1, Sample 13
ftp://ftp.morbo.org/pub/Nero_48_Test/test1_youcantdothat.rar -- Test 1, Sample 14

So it is 14 various samples, with different kinds of artifacts not a single sample.


I am wroting this post from my friend. And i now tested this cli and 5.1 CBR comparing to 5.1 CT CBR - not sounds good, 2pass 5.1 comaring to 5.1 CT CBR - sounds good but i think to hear some artefatcs in center channel when come some speech.

Would be good to have a listening test actually :)

Ivan Dimkovic
5th May 2006, 09:33
New Encoder is Uploaded!

shon3i
5th May 2006, 09:34
So it is 14 various samples, with different kinds of artifacts not a single sample.
Yes but ABR is always better, so we then use CBR instead right.


Would be good to have a listening test actually I am always on

Ivan Dimkovic
5th May 2006, 09:40
Yes but ABR is always better, so we then use CBR instead right.

It is always better, but if you take a look at the test results of 48 kbps tests, you would find out that the relative difference was smaller than relative difference between Nero ABR and CT CBR.

This does not mean too much, except the fact that Nero ABR scored little bit better than CT CBR, but not better enough to be called statistically significant.

If you wish to test Nero CBR vs CT CBR - please go on :) But I personally do not see too much point in such test - I dunno who would use inferior mode (CBR) when there is better mode available (ABR) - except for streaming, of course.

shon3i
5th May 2006, 09:49
This does not mean too much, except the fact that Nero ABR scored little bit better than CT CBR, but not better enough to be called statistically significant.No is much better in scores, but in practice it is. I am not participate in this test, but i listen all of this samples and i can only say that nero sounds better than CT in all cases. Sound like encoded in much bigger rate about 56,64kbs.

If you wish to test Nero CBR vs CT CBR - please go on But I personally do not see too much point in such test - I dunno who would use inferior mode (CBR) when there is better mode available (ABR) - except for streaming, of course.I think to new public test, if you want to find right winner. in other case like you say this no have sense. I think that will be Orban very fast add answer for this nero step

shon3i
5th May 2006, 09:54
@Ivan Dimkovic why i always get oversize when use boost. Bigger boost bigger oversize. In CT i use doble bigger bost newer get oversize.

GmorG McRoth
5th May 2006, 09:55
Hi I just downloaded updated encoder, could you explain why in package are 5 exes? 3 in win32 folder and 2 in root. what is diffrent in those 2 in root? are they there by accident?

Ivan Dimkovic
5th May 2006, 10:04
@Ivan Dimkovic why i always get oversize when use boost. Bigger boost bigger oversize. In CT i use doble bigger bost newer get oversize.

I don't understand what exactly do you mean:

- What bit-rate mode are you using? (abr/cbr/vbr/2-pass)

If you are using anything else than CBR expect the bit rate to change with the psychoacoustic properties of the signal - if your 'boost' operation increased the volume of the file, it could also mean than some parts that were judged to be below the threshold of hearing (and, hence, not coded) are now coded.

- CT is a Constant Bit Rate encoder - you can encode digital silence and you will still get the same size - if you want to use the same mode in Nero - use the -cbr switch, and the results are going to be exactly the same.

@GmorG McRoth, it seems exes were copied to two locations, they are the same - we'll replace this asap.

shon3i
5th May 2006, 10:09
- CT is a Constant Bit Rate encoder - you can encode digital silence and you will still get the same size - if you want to use the same mode in Nero - use the -cbr switch, and the results are going to be exactly the same.I am now encoded ac3(6ch) to mp4(6ch) via CT @ 96kbs HE and i get 88MB of final filesize, which is calculated by calculator from megui for that bitrate.

I do a same thing with nero using -cbr switch as you recommend and i get 97MB.

Boost applyed is +4.5dB.

I aslo tryed with 2pass mode. his downed file size to 93MB

Ivan Dimkovic
5th May 2006, 10:12
MPEG-4 file format can bring additional overhead to the file size. We calculate the bit rate of the elementary stream (AAC) inside the file, and excluding the anything else in the MPEG-4 container.

dimzon
5th May 2006, 10:12
New Encoder is Uploaded!
BeHappy extension to support this perfect cli encoder is uploaded @ BeHappy Workspace @ gotDotNet (http://gotdotnet.com/Workspaces/Workspace.aspx?id=1bb59ddf-901b-43a5-bd54-b0999e8e223e)

shon3i
5th May 2006, 10:15
Thanks A Lot dimzon, and Ivan of course for encoder

MPEG-4 file format can bring additional overhead to the file size. We calculate the bit rate of the elementary stream (AAC) inside the file, and excluding the anything else in the MPEG-4 container.You think when i extract mp4 file to aac i get correct size.

Ivan Dimkovic
5th May 2006, 10:18
Yes - elementary stream should be fully compatible with the definition of 'constant bit rate' in ISO/14496-3 criteria.

BUT - you have to extract to headerless or ADIF aac elementary stream - if you extract it to ADTS AAC, extraction tool with add additional overhead of 7 bytes to each frame - which can be quite a lot if we are talking about a movie - since there can be e.g. 40 frames per second :)

shon3i
5th May 2006, 10:23
BUT - you have to extract to headerless or ADIF aac elementary stream - if you extract it to ADTS AAC, extraction tool with add additional overhead of 7 bytes to each frame - which can be quite a lot if we are talking about a movie - since there can be e.g. 40 frames per second OMG, so what to do then, im just extracted from mp4 to ADTS AAC i get for 97 to 95, 93 to 90MB

Ivan Dimkovic
5th May 2006, 10:49
I think that mp4creator from MPEG4IP has the option to extract to headerless AAC tracks - there you can get the exact bit-rate of AAC stream, without any overhead.

But I am not sure why do you need that for? Headerless AAC is almost useless.

dimzon
5th May 2006, 10:54
@Ivan Dimkovic
Any response on this post?
http://forum.doom9.org/showthread.php?p=823740#post823740

Thanx


Add:
Can You post here link to NeroDigitalAudio logo? Thanx!

Ivan Dimkovic
5th May 2006, 11:00
@Dimzon,

I just forwarded this message to the developers working on the frontend.

I can only answer for ADTS AAC - and the answer is, no. We do not plan to support ADTS AAC as many of the encoder features are impossible with this outdated transport multiplex format.

SeeMoreDigital
5th May 2006, 11:03
But I am not sure why do you need that for? Headerless AAC is almost useless.Indeed...

I can't ever remember having sync issues with my AAC streams... and I've de-muxed them from MP4 files containing ASP video and re-muxed them into MP4 files containg AVC video.

I've even generated 6Ch AAC streams (from the same AC3 source) using different encoders (Nero, FAAC, WinAMP) and muxed them into the same MP4 file (with video), so I can flick thru' them to compare any differences...

I do it all now with YAMB (before that it was mp4UI) and they are always in sync ;)

shon3i
5th May 2006, 11:12
I think that mp4creator from MPEG4IP has the option to extract to headerless AAC tracks - there you can get the exact bit-rate of AAC stream, without any overhead.

But I am not sure why do you need that for? Headerless AAC is almost useless.I must down file size to mux vith video stream right. I get final filesize about 10mb larger instead 695mb i get 707MB which can fit on standard CD.

btw. Ivan why 2pass not work with stdin. This is powerfull option for long encodings can't be used for movies. I am not crazy to convert ac3->5.1wav

btw. i do some other test with 5.1 CBR encoding en i get good quality, with 2pass i get litle bit better quality than CT

Ivan Dimkovic
5th May 2006, 11:13
I must down file size to mux vith video stream right. I get final filesize about 10mb larger instead 695mb i get 707MB which can fit on standard CD.


If you are muxing from MP4 file, you can be sure that only elementary AAC packets are being muxed - not the whole MP4 file, so you do not to worry if you selected -cbr switch.

btw. Ivan why 2pass not work with stdin. This is powerfull option for long encodings can't be used for movies. I am not crazy to convert ac3->5.1wav

It does not work ATM as it would be somewhat complicated to support that - but we will see if there is a way to do it.

shon3i
5th May 2006, 11:17
If you are muxing from MP4 file, you can be sure that only elementary AAC packets are being muxed - not the whole MP4 file, so you do not to worry if you selected -cbr switch.Yes i use cbr switch but get oversize instead 88 i get 97 which in final file result 707MB.

It does not work ATM as it would be somewhat complicated to support that - but we will see if there is a way to do it.I hope is that soon, but VBR mode can change becouse is very good. Is there any chance to integrate ReplyGain, and M/S on/of

killerhex
5th May 2006, 11:35
anyone have a GUI for this or can make one hving trouble wih comandline

dimzon
5th May 2006, 11:40
It does not work ATM as it would be somewhat complicated to support that - but we will see if there is a way to do it.
As I said before caller can send double-sized original to encoder's stdin (repeat original twice) and provide valid samplecount via command line. So You can write something like this


readWavHeaderFromStdIn();
int64 sampleCount = getInt64ArgumentFromCommandLine("sampleCount")
Initialize1stPassEncoder();
for(i=0;i<sampleCount;i++)
{
readSampleFromStdInAndFeedItTo1stPassEncoder()
}
Finalize1stPassEncoder();
Initialize2ndPassEncoder();
for(i=0;i<sampleCount;i++)
{
readSampleFromStdInAndFeedItTo2ndPassEncoder()
}
Finalize2ndPassEncoder();

dimzon
5th May 2006, 11:46
anyone have a GUI for this or can make one hving trouble wih comandline
BeHappy ;)

GmorG McRoth
5th May 2006, 11:56
I have problem with behappy when I try to encode ac3 file (using nicaudio plugin from behappy site) to ND AAC CBR @ 224 kbps it fails on me with this log
nero encoder and decoder are in same dir as BeHappy
Starting job King Kong T01 3_2ch 448Kbps DELAY 0ms.ac3->audio.m4a
Found Audio Stream
Channels=6, BitsPerSample=16, SampleRate=48000Hz
neroAacEnc.exe -cbr 224000 -ignorelength -if - -of "D:\Moje wideo\DVD\King Kong\audio.m4a"
Writing RIFF header to encoder's StdIn
Writing PCM data to encoder's StdIn
Error: System.IO.IOException: Potok został zakończony.

at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.FileStream.Write(Byte[] array, Int32 offset, Int32 count)
at BeHappy.Encoder.encode()
#### Encoder StdOut ####
ERROR: could not parse WAV file

#### Encoder StdErr ####
*************************************************************
* *
* Nero Digital Audio Reference MPEG-4 & 3GPP Audio Encoder *
* Copyright (C) 2006 Nero AG *
* All Rights Reserved Worldwide *
* *
* Package build date: May 1 2006 *
* *
* See -help for a complete list of available parameters. *
* *
*************************************************************

Sirber
5th May 2006, 12:09
woot woot!

thanks! :D

dimzon
5th May 2006, 12:12
ERROR: could not parse WAV file

Hmmm... Seems like something is wrong in Nero encoder itself! Because BeHappy produce 100% valid WAV HEADER (and it was tested multiple times!)

Ivan, can You check it or at least provide binary wich produce additional diagnostic output (not only "could not parse WAV file")

Add: this is some code wich I'm using to create WAV header: http://forum.doom9.org/showthread.php?p=758659#post758659
take look @ FAAD_MAGIC_VALUE usage. Maybe it's a reason (according source filename "King Kong T01 3_2ch 448Kbps DELAY 0ms.ac3" I think it produce WAV > 4GB so 0xFFFFFF00 is used instead actual data size).

Ivan Dimkovic
5th May 2006, 12:16
Dimzon,

We will look into the issue - please send us the wave file itself that causes problems (you can dump it to the file) and we will check

Sirber
5th May 2006, 12:20
Added on digg:
http://www.digg.com/technology/Nero_Releases_FREE_Reference_Quality_MPEG-4_Audio_Command_Line_Encoder

@Ivan Dimkovic
I used a bit of your first post :D

dimzon
5th May 2006, 12:23
Dimzon,

We will look into the issue - please send us the wave file itself that causes problems (you can dump it to the file) and we will check
please read this post again (it was updated) http://forum.doom9.org/showthread.php?p=823850#post823850
I beleive reason is bcz uncompressed ac3 file is bigger than 4GB!
This is the problem for the wav limit 4 GB. And 2 GB limit is for soft using 'signed long int' for these fields.
The faad decoder (aac) can generate 'invalid' wav's > 4 GB, and fill these fields (RiffLength and DataLength) with 0xFFFFFF00.
Foobar also make 'invalid' wav's > 4 GB, and fill these fields with the 4 low order bytes.
I prefer the faad method (0xFFFFFF00) because Foobar method can be confused with valid fields.

GmorG McRoth
5th May 2006, 12:35
please read this post again (it was updated) http://forum.doom9.org/showthread.php?p=823850#post823850
I beleive reason is bcz uncompressed ac3 file is bigger than 4GB!
This is the problem for the wav limit 4 GB. And 2 GB limit is for soft using 'signed long int' for these fields.
The faad decoder (aac) can generate 'invalid' wav's > 4 GB, and fill these fields (RiffLength and DataLength) with 0xFFFFFF00.
Foobar also make 'invalid' wav's > 4 GB, and fill these fields with the 4 low order bytes.
I prefer the faad method (0xFFFFFF00) because Foobar method can be confused with valid fields.
yes I decompressed it to wav and file has over 6GB size and is not properly played by foobar (shows only 2 hours run time and ac3 is 3 hours).

Ivan Dimkovic
5th May 2006, 12:47
Are you using -ignorelength for setting up the AAC encoder commandline in case of this file?

GmorG McRoth
5th May 2006, 13:01
Are you using -ignorelength for setting up the AAC encoder commandline in case of this file?
No actually did not used that switch when I was experimenting with that file, but it's not the case since I probably won't use direct from wav encoding since it's not convenient. I'm more interested in making BeHappy work (and BeHappy uses this switch).

I just made a test just for fun with this command line

"C:\Program Files\Moje Programy\AAC nero\neroAacEnc.exe" -br 224000 -2pass -ignorelength -if "D:\Moje wideo\DVD\King Kong\King Kong T01 3_2ch 448Kbps DELAY 0ms.wav" -of "D:\Moje wideo\DVD\King Kong\King Kong T01 3_2ch 448Kbps DELAY 0ms.m4v"

and there is "could not parse the wav file" error

sidenote (I renamed sse2 version to not sse2 version name to not need to change all settings I made in foobar2000)

Ivan Dimkovic
5th May 2006, 13:03
@Dimzon,

Could you please confirm that you set -ignorelength in case of this file? Because if the -ignorelength is specified, encoder ignores the WAV headers with regards to length.

buzzqw
5th May 2006, 13:12
could be possible to implement direct ac3 input support ?

:thanks:

BHH

dimzon
5th May 2006, 13:15
@Dimzon,

Could you please confirm that you set -ignorelength in case of this file?
Yes. As You can see above in BeHappy log actual command line is
neroAacEnc.exe -cbr 224000 -ignorelength -if - -of "D:\Moje wideo\DVD\King Kong\audio.m4a"

Ivan Dimkovic
5th May 2006, 13:17
could be possible to implement direct ac3 input support ?

No this is not possible - it is very hard to provide free codecs when there are royalties that have to be paid - please take into consideration that Nero Command Line AAC encoder is licensed AAC distribution - we do pay for that.

@Dimzon, thx - I informed the engineers about this problem.

Sharktooth
5th May 2006, 13:25
Great work Ivan!
Nice to see Nero is still a friendly company:)

dimzon
5th May 2006, 13:25
could be possible to implement direct ac3 input support ?
Use foobar2000 or behappy to transcode ac3
or (if You need 100% CLI solution) pipeline decoding via ffmpeg to neroaacenc ;)

buzzqw
5th May 2006, 14:30
thanks to both Ivan and Dimzon

(if You need 100% CLI solution) pipeline decoding via ffmpeg to neroaacenc

nice tips (but is ffmpeg supporting 5ch to stdout?, i will try)

BHH

Rockaria
5th May 2006, 14:46
btw. Ivan why 2pass not work with stdin. This is powerfull option for long encodings can't be used for movies. I am not crazy to convert ac3->5.1wav
It does not work ATM as it would be somewhat complicated to support that - but we will see if there is a way to do it.
The ideal way would be 1st pass analysis-> rewind -> 2nd pass encoding like what avisynth is doing with 2 pass volume gain.
For a temporary gui integration work around, foobar2k's %s(instead of -) input file definition for the cli encoding(-br 128000 -2pass -if %s -of %d) will use a temporary wav in the destination folder, which would be a lot faster if you can use the ram disk large enough depending on the available extra ram(the virtual memory use would be a lot smoother though).

- What bit-rate mode are you using? (abr/cbr/vbr/2-pass)
-br/-cbr but no -abr/-vbr
-2pass/-2passperiod but why no -1passperiod for -br?
-segment/period size for -cbr(the segment seems not be 1 sample)/-abr/-vbr(entire length segmented abr?) The reason why I asked for the clarification of the bit rate options in my previous post is that we seem to use different terms for the unclarified similar phenomena.
As both quality based & bitrate based options are widely used for VBR(ie. vorbis, lame...). The difference between the ABR and VBR for the bitrate based option seems to be lying in the segment/period size(samples/ms).
Also check, the CBR for AAC seems to be natively ABR(nSamples for the unit segment), which can be verified watching the dynamic bit rate status within the foobar2k or ffdshow. Any inputs?

dimzon
5th May 2006, 14:49
The ideal way would be 1st pass analysis-> rewind -> 2nd pass encoding like what avisynth is doing with 2 pass volume gain.
It's impossible for STDIN...