Skip to main content


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.
Recent Posts
AAC - General / Re: "Target Quality" vs. "True VBR"?
Last post by radorn -
When Vorbis came out, in my ignorance at the time (and until much later), it's then novel vbr-based "quality" setting led me to think, and I guess most people, including the OP here, that what it did was aim at some sort of target perceptual transparency level (before I even knew to use such fancy technobabble), towards which goal it would dedicate as much or as little bandwidth as strictly required for each part of the audio track. This seemed to mean anything between 0kbps and whatever the top was for the format.
It wasn't until Opus arrived with its -b setting (which, at that point, seemed to like a weird return to "the old handfisted bitrate settings of the past"), that someone corrected me explaining that Vorbis' -q setting was also an abstraction, so to speak, of a set of constraints around bitrate. I was told that this perception of an absolute perceptual quality target didn't in fact exist, and that all that -q# did was an approximation based on tuned bitrate allocations and weights and other techniques.
That sure bursted my bubble. Everyone and his dog back then were spreading my same perception about Vorbis' "quality" based encoding: "Choose a quality level that sounds right to you and stick to it so that any source material you throw at it sounds exactly as good. The encoder will take care of using just the necessary ammount of bits to achieve that target quality. qX will always be qX and the improvements are about improving bandwidth efficiency to reach the same target quality"

To be honest, It's kind of frustrating that this mythical "quality" setting doesn't actually exist. It seemed so neat and... oh well.
Quite removed from the actual reality of lossy codecs, where it's the perceptual efficiency that's improved upon for different bitrate ranges.
FLAC / Re: FLAC v1.4.x Performance Tests
Last post by bennetng -
GCC 12.2.0 john33 vs Case, plus Xiph build:
Zero Wing OST, VGM format rendered by foo_gep at 16/44

case -8p
Total encoding time: 0:14.562, 113.62x realtime

case -8p -b2304
Total encoding time: 0:17.172, 96.35x realtime

john33 -8p
Total encoding time: 0:14.890, 111.12x realtime

john33 -8p -b2304
Total encoding time: 0:17.297, 95.65x realtime

xiph -8p
Total encoding time: 0:14.969, 110.53x realtime

xiph -8p -b2304
Total encoding time: 0:17.203, 96.18x realtime

The OST is not very long (27m53s) so others can do a longer test, perhaps with some temperature tests too.

File size:
Code: [Select]
wav         291,876,908   100.000%
-8p         164,386,268   56.3204%
-8p -b2304  163,492,544   56.0142%

Decoding speed:
Code: [Select]
  CPU: 12th Gen Intel(R) Core(TM) i3-12100, features: MMX SSE SSE2 SSE3 SSE4.1 SSE4.2
  App: foobar2000 v1.6.12
  High priority: yes
  Buffer entire file into memory: yes
  Warm-up: yes
  Passes: 5
  Threads: 1
  Postprocessing: none

Speed (x realtime): 1430.445 min, 1433.292 max, 1432.189 average

-8p -b2304
Speed (x realtime): 1467.472 min, 1469.977 max, 1468.835 average
3rd Party Plugins - (fb2k) / Spider Monkey Panel - Help please
Last post by to-us -
Hi, I am new here and a beginner in javascript. Step by step I created a dui-theme with the help of SMP, I learned a lot,  but there is one thing I don't understand: In my "on_paint(gr)" I have lot of things like
    let h_artist = gr.CalcTextHeight(txt_artist, fontM);
    let w_artist = gr.CalcTextWidth(txt_artist, fontM, ); ...
and I think it would be better to put them in a separate function like "CalculateStrings" wich is called at start or when switching the playlists, etc.

I tried a lot, got error messages all the time and searching didn't help. It makes me mad.

Please, how can I use the "gr."-functions in my eg "function calculatestrings()"? - An example would be nice... :-[