oggenc2.42 and oggenc2.5 released |
![]() ![]() |
oggenc2.42 and oggenc2.5 released |
Apr 2 2005, 22:30
Post
#1
|
|
![]() xcLame and OggDropXPd Developer Group: Developer Posts: 3708 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!! Both now at Rarewares. -------------------- John
---------------------------------------------------------------- My compiles and utilities are at http://www.rarewares.org/ |
|
|
|
Apr 2 2005, 22:35
Post
#2
|
|
![]() Group: Members Posts: 3620 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/
|
|
|
|
Apr 2 2005, 23:48
Post
#3
|
|
![]() xcLame and OggDropXPd Developer Group: Developer Posts: 3708 Joined: 30-September 01 From: Bracknell, UK Member No.: 111 |
QUOTE (Sebastian Mares @ Apr 2 2005, 09:35 PM) Yep, that's it. -------------------- John
---------------------------------------------------------------- My compiles and utilities are at http://www.rarewares.org/ |
|
|
|
Apr 3 2005, 01:27
Post
#4
|
|
![]() Group: Members Posts: 114 Joined: 8-January 03 Member No.: 4467 |
oggenc2.42 seems preferable.
-------------------- It's My Life,
It's Now Or Never, I Ain't Gonna Live Forever, I Just Want To Live While I'm Alive. |
|
|
|
Apr 3 2005, 10:59
Post
#5
|
|
![]() Group: Members Posts: 3620 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) Yep, that's it. 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. -------------------- http://listening-tests.hydrogenaudio.org/sebastian/
|
|
|
|
Apr 3 2005, 11:18
Post
#6
|
|
![]() xcLame and OggDropXPd Developer Group: Developer Posts: 3708 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/ |
|
|
|
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. 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... |
|
|
|
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 |
|
|
|
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 |
|
|
|
Apr 3 2005, 14:21
Post
#10
|
|
![]() Group: Members Posts: 3620 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. Edit: Anyways, still doesn't work. This post has been edited by Sebastian Mares: Apr 3 2005, 14:24 -------------------- http://listening-tests.hydrogenaudio.org/sebastian/
|
|
|
|
Apr 3 2005, 14:28
Post
#11
|
|
![]() xcLame and OggDropXPd Developer Group: Developer Posts: 3708 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/ |
|
|
|
Apr 3 2005, 14:34
Post
#12
|
|
![]() Group: Members Posts: 324 Joined: 26-June 02 From: Marseille,France 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 ;-)
|
|
|
|
Apr 3 2005, 15:40
Post
#13
|
|
![]() Group: Members Posts: 3620 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/
|
|
|
|
Apr 3 2005, 16:33
Post
#14
|
|
![]() Group: Members Posts: 324 Joined: 26-June 02 From: Marseille,France 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 ;-)
|
|
|
|
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) 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? |
|
|
|
Apr 3 2005, 17:06
Post
#16
|
|
![]() Group: Members Posts: 3620 Joined: 14-May 03 From: Bad Herrenalb Member No.: 6613 |
QUOTE (ErikS @ Apr 3 2005, 05:59 PM) Dunno. -------------------- http://listening-tests.hydrogenaudio.org/sebastian/
|
|
|
|
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.
|
|
|
|
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 |
|
|
|
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
|
|
|
|
Apr 4 2005, 09:12
Post
#20
|
|
![]() xcLame and OggDropXPd Developer Group: Developer Posts: 3708 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/ |
|
|
|
Apr 4 2005, 10:28
Post
#21
|
|
![]() xcLame and OggDropXPd Developer Group: Developer Posts: 3708 Joined: 30-September 01 From: Bracknell, UK Member No.: 111 |
OK, I've heard back from Mike, as follows:
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/ |
|
|
|
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) 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 |
|
|
|
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) 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 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 |
|
|
|
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 |
|
|
|
Apr 5 2005, 18:01
Post
#25
|
|
![]() xcLame and OggDropXPd Developer Group: Developer Posts: 3708 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. -------------------- John
---------------------------------------------------------------- My compiles and utilities are at http://www.rarewares.org/ |
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 22nd May 2013 - 04:53 |