IPB

Welcome Guest ( Log In | Register )

2 Pages V   1 2 >  
Reply to this topicStart new topic
oggenc2.42 and oggenc2.5 released
john33
post Apr 2 2005, 22:30
Post #1


xcLame and OggDropXPd Developer


Group: Developer
Posts: 3726
Joined: 30-September 01
From: Bracknell, UK
Member No.: 111



Pretty much the same deal as with the latest oggdropXPd compiles.

2.42 = aoTuVb3 compile, SRC libsamplerate resampler replaces standard Xiph resampler.
2.5 = Post 1.1.0 SVN compile, incorporating new resampler and including the Hard Min and Max bitrate limits options that now work!! wink.gif

Both now at Rarewares. smile.gif


--------------------
John
----------------------------------------------------------------
My compiles and utilities are at http://www.rarewares.org/
Go to the top of the page
+Quote Post
Sebastian Mares
post Apr 2 2005, 22:35
Post #2





Group: Members
Posts: 3629
Joined: 14-May 03
From: Bad Herrenalb
Member No.: 6613



How exactly do I use -q5 and a min bitrate of 96 kbps and a max bitrate of 224 kbps? Do I have to use --managed, or is it OK if I use -q5 -m96 -M224


--------------------
http://listening-tests.hydrogenaudio.org/sebastian/
Go to the top of the page
+Quote Post
john33
post Apr 2 2005, 23:48
Post #3


xcLame and OggDropXPd Developer


Group: Developer
Posts: 3726
Joined: 30-September 01
From: Bracknell, UK
Member No.: 111



QUOTE (Sebastian Mares @ Apr 2 2005, 09:35 PM)
......, or is it OK if I use -q5 -m96 -M224
*

Yep, that's it. smile.gif


--------------------
John
----------------------------------------------------------------
My compiles and utilities are at http://www.rarewares.org/
Go to the top of the page
+Quote Post
Hyperion
post Apr 3 2005, 01:27
Post #4





Group: Members
Posts: 115
Joined: 8-January 03
Member No.: 4467



oggenc2.42 seems preferable. wink.gif


--------------------
It's My Life,
It's Now Or Never,
I Ain't Gonna Live Forever,
I Just Want To Live While I'm Alive.
Go to the top of the page
+Quote Post
Sebastian Mares
post Apr 3 2005, 10:59
Post #5





Group: Members
Posts: 3629
Joined: 14-May 03
From: Bad Herrenalb
Member No.: 6613



QUOTE (john33 @ Apr 3 2005, 12:48 AM)
QUOTE (Sebastian Mares @ Apr 2 2005, 09:35 PM)
......, or is it OK if I use -q5 -m96 -M224
*

Yep, that's it. smile.gif
*



Doesn't seem to work. I tried setting a maximum bitrate of 172 kbps and a minimum bitrate of 96 kbps with both oggdropxpd and oggenc2, but the resulting file still had frames with bitrates of 188 kbps and higher according to foobar2000. sad.gif


--------------------
http://listening-tests.hydrogenaudio.org/sebastian/
Go to the top of the page
+Quote Post
john33
post Apr 3 2005, 11:18
Post #6


xcLame and OggDropXPd Developer


Group: Developer
Posts: 3726
Joined: 30-September 01
From: Bracknell, UK
Member No.: 111



Well, the only comment I can make is that it is supposed to work, according to this comment extract from oggenc/encode.c:
CODE
           /* libvorbis 1.1 (and current svn) doesn't actually fill this in,
              which looks like a bug. It'll then reject it when we call the
              SET version below. So, fill it in with the values that libvorbis
              would have used to fill in this structure if we were using the
              bitrate-oriented setup functions. Unfortunately, some of those
              values are dependent on the bitrate, and libvorbis has no way to
              get a nominal bitrate from a quality value. Well, except by doing
              a full setup... So, we do that.
              Also, note that this won't work correctly unless you have a very
              recent (2005/03/04 or later) version of libvorbis from svn).
            */

If this continues to be a problem for people, I can only suggest raising it on the vorbis/vorbis-dev mailing lists. The guy responsible for the oggenc code is Michael Smith. He is currently travelling, so any response may be subject to a slight delay.


--------------------
John
----------------------------------------------------------------
My compiles and utilities are at http://www.rarewares.org/
Go to the top of the page
+Quote Post
ErikS
post Apr 3 2005, 11:35
Post #7





Group: Members
Posts: 757
Joined: 8-October 01
Member No.: 247



QUOTE (Sebastian Mares @ Apr 3 2005, 11:59 AM)
Doesn't seem to work. I tried setting a maximum bitrate of 172 kbps and a minimum bitrate of 96 kbps with both oggdropxpd and oggenc2, but the resulting file still had frames with bitrates of 188 kbps and higher according to foobar2000. sad.gif
*


Maybe the averaging window used to calculate the average bitrate has different sizes in oggenc and foobar.

ai.bitrate_average_kbps = bitrate/1000;
ai.bitrate_average_damping = 1.5;
ai.bitrate_limit_reservoir_bits = bitrate * 2;
ai.bitrate_limit_reservoir_bias = .1;

The size of the reservoir seems to indicate that a 2 second window is used in oggenc. In foobar I can choose between every frame and every 2^n:th frame. Don't know how long each frame is though...
Go to the top of the page
+Quote Post
guruboolez
post Apr 3 2005, 11:51
Post #8





Group: Members (Donating)
Posts: 3474
Joined: 7-November 01
From: Strasbourg (France)
Member No.: 420



I've tried with an extreme (artificial) sample, known as short_blocks_2 (15 sec long):
-q4 -m96 -M192
-q4 -m96 -M160
-q4 -m96 -M150

=> all encodings generate the same output bitrate (161 kbps). I can see frames > 200 kbps with foobar2000, and as you can see, an average bitrate of 161 kbps for encoding that shouldn't exceed 150 and 160 kbps reveals that the function is still not working properly.



EDIT: file is available here (wavpack sfx format).

This post has been edited by guruboolez: Apr 3 2005, 11:53
Go to the top of the page
+Quote Post
Aoyumi
post Apr 3 2005, 13:46
Post #9





Group: Members
Posts: 236
Joined: 14-January 04
From: Kanto, Japan
Member No.: 11215



It seems that "-b" must be specified in order to use full bit rate management engine correctly by oggenc.

[example]
oggenc -b128 -m96 -M224 filename.wav
Go to the top of the page
+Quote Post
Sebastian Mares
post Apr 3 2005, 14:21
Post #10





Group: Members
Posts: 3629
Joined: 14-May 03
From: Bad Herrenalb
Member No.: 6613



QUOTE (Aoyumi @ Apr 3 2005, 02:46 PM)
It seems that "-b" must be specified in order to use full bit rate management engine correctly by oggenc.

[example]
oggenc -b128 -m96 -M224 filename.wav
*


Well, as far as I understood the concept, it should be possible to use the quality mode and limit the bitrate with the -m and -M switches. unsure.gif

Edit: Anyways, still doesn't work. sad.gif

This post has been edited by Sebastian Mares: Apr 3 2005, 14:24


--------------------
http://listening-tests.hydrogenaudio.org/sebastian/
Go to the top of the page
+Quote Post
john33
post Apr 3 2005, 14:28
Post #11


xcLame and OggDropXPd Developer


Group: Developer
Posts: 3726
Joined: 30-September 01
From: Bracknell, UK
Member No.: 111



QUOTE (ErikS @ Apr 3 2005, 10:35 AM)
            ai.bitrate_limit_reservoir_bits = bitrate * 2;

The size of the reservoir seems to indicate that a 2 second window is used in oggenc. In foobar I can choose between every frame and every 2^n:th frame. Don't know how long each frame is though...
*

Yes, 2 seconds is the default.


--------------------
John
----------------------------------------------------------------
My compiles and utilities are at http://www.rarewares.org/
Go to the top of the page
+Quote Post
kurtnoise
post Apr 3 2005, 14:34
Post #12





Group: Members
Posts: 326
Joined: 26-June 02
From: Aix-en-Provence
Member No.: 2400



Hi,

I've tried with many samples at -q4 -m96 -M160 & -q6 -m96 -M192 and all seems to work fine here.

I've checked my encoded samples with oggspot and upper/higher bitrate values are correctly in the header.


--------------------
http://www.unite-video.com/phpbb/viewtopic.php?t=5412 :: An overview of all lossless Audio Formats (in french language ;-)
Go to the top of the page
+Quote Post
Sebastian Mares
post Apr 3 2005, 15:40
Post #13





Group: Members
Posts: 3629
Joined: 14-May 03
From: Bad Herrenalb
Member No.: 6613



QUOTE (kurtnoise @ Apr 3 2005, 03:34 PM)
Hi,

I've tried with many samples at -q4 -m96 -M160  & -q6 -m96 -M192 and all seems to work fine here.

I've checked my encoded samples with oggspot and upper/higher bitrate values are correctly in the header.
*


Well, in the header, yes, but when looking at the dynamic bitrate display of fb2k, some frames have bitrates greater than the maximum value specified.


--------------------
http://listening-tests.hydrogenaudio.org/sebastian/
Go to the top of the page
+Quote Post
kurtnoise
post Apr 3 2005, 16:33
Post #14





Group: Members
Posts: 326
Joined: 26-June 02
From: Aix-en-Provence
Member No.: 2400



erff, yes...You are completely right. Sorry...


--------------------
http://www.unite-video.com/phpbb/viewtopic.php?t=5412 :: An overview of all lossless Audio Formats (in french language ;-)
Go to the top of the page
+Quote Post
ErikS
post Apr 3 2005, 16:59
Post #15





Group: Members
Posts: 757
Joined: 8-October 01
Member No.: 247



QUOTE (john33 @ Apr 3 2005, 03:28 PM)
Yes, 2 seconds is the default.
*


Ok. So then it means over a window of 2 seconds it must not use more than 256 kbit if I specify -M 128, right? But if a frame (the "frame" other people here talk about) is shorter than 2 seconds, then it may go over that as long as the average stays under the limit...?

Sebastian: How long are those frames in foobar?
Go to the top of the page
+Quote Post
Sebastian Mares
post Apr 3 2005, 17:06
Post #16





Group: Members
Posts: 3629
Joined: 14-May 03
From: Bad Herrenalb
Member No.: 6613



QUOTE (ErikS @ Apr 3 2005, 05:59 PM)
Sebastian: How long are those frames in foobar?
*


Dunno. unsure.gif I only know that foobar updates the dynamic info every 16 frames, but I am not sure if that applies to MP3 only or Vorbis, too.


--------------------
http://listening-tests.hydrogenaudio.org/sebastian/
Go to the top of the page
+Quote Post
guruboolez
post Apr 3 2005, 17:11
Post #17





Group: Members (Donating)
Posts: 3474
Joined: 7-November 01
From: Strasbourg (France)
Member No.: 420



You can change the 'frame' size in the preference/input/standard input. 128 frames seems to be the maximum.
Go to the top of the page
+Quote Post
ErikS
post Apr 3 2005, 17:17
Post #18





Group: Members
Posts: 757
Joined: 8-October 01
Member No.: 247



QUOTE (guruboolez @ Apr 3 2005, 12:51 PM)
I've tried with an extreme (artificial) sample, known as short_blocks_2 (15 sec long):
-q4 -m96 -M192
-q4 -m96 -M160
-q4 -m96 -M150

=> all encodings generate the same output bitrate (161 kbps). I can see frames > 200 kbps with foobar2000, and as you can see, an average bitrate of 161 kbps for encoding that shouldn't exceed 150 and 160 kbps reveals that the function is still not working properly.
*


Are you sure you used 2.5? It doesn't work with aoyumi's code (yet smile.gif )...
Go to the top of the page
+Quote Post
guruboolez
post Apr 4 2005, 09:06
Post #19





Group: Members (Donating)
Posts: 3474
Joined: 7-November 01
From: Strasbourg (France)
Member No.: 420



Yes, oggenc 2.5
Go to the top of the page
+Quote Post
john33
post Apr 4 2005, 09:12
Post #20


xcLame and OggDropXPd Developer


Group: Developer
Posts: 3726
Joined: 30-September 01
From: Bracknell, UK
Member No.: 111



Just to let you know, I've emailed Mike Smith asking for his comments. I'll report back what he has to say.


--------------------
John
----------------------------------------------------------------
My compiles and utilities are at http://www.rarewares.org/
Go to the top of the page
+Quote Post
john33
post Apr 4 2005, 10:28
Post #21


xcLame and OggDropXPd Developer


Group: Developer
Posts: 3726
Joined: 30-September 01
From: Bracknell, UK
Member No.: 111



OK, I've heard back from Mike, as follows:
  1. As I suspected, the method of applying hard min/max limits to the quality setting is simply another way of setting up ABR with limits. So, if ABR doesn't work for you, this won't either.
  2. Quote from Mike:
    QUOTE
    All the bitrate controls operate over a sliding window (I think it defaults to 2 seconds?), so yes - the bitrate can drop below this* within that period.
    (Yes, it is 2 seconds) Whether there is any mileage in trying to play with the Advanced Encoder Options relating to reservoir bias and reservoir bits, I don't know. I've played with both a little, but it seems to make little difference.
* This was in relation to a bitrate min/max limit of 96-224kbps.

For reference, Reservoir Size: The size of the minimum/maximum bitrate tracking reservoir, set in bits. The reservoir is used as a 'bit bank' to average out localized surges and dips in bitrate while providing predictable, guaranteed buffering behavior for streams to be used in situations with constrained transport bandwidth. The default setting is two seconds of average bitrate.

When a single frame is larger than the maximum allowed overall bitrate, the bits are 'borrowed' from the bitrate reservoir; if the reservoir contains insufficient bits to cover the defecit, the encoder must find some way to reduce the frame size.

When a frame is under the minimum limit, the surplus bits are placed into the reservoir, banking them for future use. If the reservoir is already full of banked bits, the encoder is forced to find some way to make the frame larger.

If the frame size is between the minimum and maximum rates (thus implying the minimum and maximum allowed rates are different), the reservoir gravitates toward a fill point configured by the reservoir bias setting described next. If the reservoir is fuller than the fill point (a 'surplus of surplus'), the encoder will consume a number bits from the reservoir equal to the number of the bits by which the frame exceeds minimum size. If the reservoir is emptier than the fillpoint (a 'surplus of defecit'), bits are returned to the reservoir equaling the current frame's number of bits under the maximum frame size. The idea of the fill point is to buffer against both underruns and overruns, by trying to hold the reservoir to a middle course.

And, Reservoir Bias: Reservoir bias is a setting between 0.0 and 1.0 that biases bitrate management toward smoothing bitrate spikes (0.0) or bitrate peaks (1.0); the default setting is 0.1.

Using settings toward 0.0 causes the bitrate manager to hoard bits in the bit reservoir such that there is a large pool of banked surplus to draw upon during short spikes in bitrate. As a result, the encoder will react less aggressively and less drastically to curtail framesize during brief surges in bitrate.

Using settings toward 1.0 causes the bitrate manager to empty the bit reservoir such that there is a large buffer available to store surplus bits during sudden drops in bitrate. As a result, the encoder will react less aggressively and less drastically to support minimum frame sizes during drops in bitrate and will tend not to store any extra bits in the reservoir for future bitrate spikes.


--------------------
John
----------------------------------------------------------------
My compiles and utilities are at http://www.rarewares.org/
Go to the top of the page
+Quote Post
ErikS
post Apr 4 2005, 23:52
Post #22





Group: Members
Posts: 757
Joined: 8-October 01
Member No.: 247



QUOTE (guruboolez @ Apr 4 2005, 10:06 AM)
Yes, oggenc 2.5
*


I don't get such high bitrates at all with my oggenc 2.5 unless I force it up with -m (which works here btw...)

>oggenc2
OggEnc v2.5 (libvorbis Post 1.1.0 SVN)


>oggenc2 -q4 -M160 Short_Block_Test_2.wav
at quality level 4,00 using constrained VBR (no min, max 160 kbps)
Average bitrate: 125,6 kb/s


>oggenc2 -q4 Short_Block_Test_2.wav
at quality 4,00
Average bitrate: 125,6 kb/s


>oggenc2 -q4 -m128 Short_Block_Test_2.wav
at quality level 4,00 using constrained VBR (min 128 kbps, no max)
Average bitrate: 145,8 kb/s

This post has been edited by ErikS: Apr 4 2005, 23:55
Go to the top of the page
+Quote Post
guruboolez
post Apr 5 2005, 07:22
Post #23





Group: Members (Donating)
Posts: 3474
Joined: 7-November 01
From: Strasbourg (France)
Member No.: 420



QUOTE (ErikS @ Apr 4 2005, 11:52 PM)
>oggenc2 -q4 Short_Block_Test_2.wav
at quality 4,00
        Average bitrate: 125,6 kb/s

*

I fear that you did something wrong. short_block_2 sample triggers a lot of short blocks and lead to amazing high bitrate with all VBR encoding. -q4 with vorbis can't be 125 kbps with this sample.


EDIT: I've tried, and you're right ohmy.gif That's weird!

EDIT2: try another time on my side with oggenc 2.5 -q4 -m96 -M150, and I obtained too 125 kbps as average bitrate. I'll see what I did last time when I'll return at home. Thanks for this correction.

This post has been edited by guruboolez: Apr 5 2005, 07:43
Go to the top of the page
+Quote Post
PatchWorKs
post Apr 5 2005, 08:09
Post #24





Group: Members
Posts: 498
Joined: 2-October 01
Member No.: 168



Just a question: is possible to integrate a DC offset correction algorithm that filters the soundwave before the encoding ?

This post has been edited by PatchWorKs: Apr 5 2005, 08:10
Go to the top of the page
+Quote Post
john33
post Apr 5 2005, 18:01
Post #25


xcLame and OggDropXPd Developer


Group: Developer
Posts: 3726
Joined: 30-September 01
From: Bracknell, UK
Member No.: 111



QUOTE (PatchWorKs @ Apr 5 2005, 07:09 AM)
Just a question: is possible to integrate a DC offset correction algorithm that filters the soundwave before the encoding ?
*

Yes, it is. smile.gif I added a little code to my current test version of WaveGain and the wave files that showed offsets in EAC prior to processing, showed zero offsets after processing. So, yes it could be added as an option if it's felt to be generally useful.


--------------------
John
----------------------------------------------------------------
My compiles and utilities are at http://www.rarewares.org/
Go to the top of the page
+Quote Post

2 Pages V   1 2 >
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: 19th April 2014 - 08:37