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.
Recent Posts
11
FLAC / Re: FLAC v1.4.x Performance Tests
Last post by jaro1 -
First of all thanks for the binary file, Wombat!
I know this is a discussion primarily about encoder code optimization and not about the features and impact of different compilers on the result, so I don't want to clutter it up with a proxy issue here, sorry for that.
So just in short.. somehow it is going crazy on my side, as i'm unable to reproduce the previous results with same setup anymore.. everything is simply slower today.. anyway, the speed-up from "Release 1.4.3" to last git with GCC14.1 does not seem to happen in case of Clang. Rather your binary has the same encoding performance as NetRanger's Clang binary of "Release 1.4.3", at best.
I've to look, whats wrong here and repeat it later.. There doesn't seem to be any background stuff issue, nor fb2k converter settings impact this.
14
Polls / Re: Sound colors of codecs
Last post by Meowdori -
If i wanted to hear something in shitty, degraded quality for some weird reason i'd use a realtime processing software rather than purposefully storing low-quality files on my disk. What if i wanted to use the high quality original material later?
15
MP3 - General / Re: Resurrecting/Preserving the Helix MP3 encoder
Last post by maikmerten -
My best guess right now is that there's some kind of memory corruption going on. Float is twice as big as short, so the encoder falling apart in various places (mostly when accessing lookup tables) might indicate that resampling is trampling over memory somewhere.

C be like that.

Lame is a completely different (and more readable, IMO) code base and I don't expect to find something there that applies to the Helix MP3 encoder.

It's theoretically possible to replace the resampler, but one needs to be careful about licensing. The Helix MP3 Encoder has a very exotic open-source license, which *is* recognized as Free Software license, but it makes it quite a bit more complicated to figure out what other code can be legally mixed in.

edit:

Some more digging in, when resampling 44100 to 32000, the resampler can produce vastly "out of bounds" values... just ploppin in a 'printf("u: %f   v: %f\n", u, v);' into Csrc::src_filter_dual_case4 shows that output values can be completely out of whack...

Code: [Select]
u: -10339643495273183456589268008304640.000000   v: -0.000000
u: 407311519258318227550806361505792.000000   v: 0.000000
u: 9921843064804505112641775729639424.000000   v: 0.000000
u: 1551401312512909985066881267007488.000000   v: 0.000000
u: 35341039057689407428212771715547136.000000   v: 0.000000
u: -85764139298480145538534354483937280.000000   v: -0.000000
u: 682444216638130611362993002619338752.000000   v: 0.000000
u: 358179272327912044724473916228108288.000000   v: 0.000000
u: -165015089812987648412178647898652672.000000   v: -0.000000
u: 75186501211684328081405592394006528.000000   v: 0.000000
u: -16369631476501701137608916066107392.000000   v: -0.000000
u: 42112486892657766126052288080379904.000000   v: 0.000000
u: -6317488413892193681442495566708736.000000   v: -0.000000
u: 0.000000   v: 0.000000
u: 0.000000   v: 0.000000
u: 0.000000   v: 0.000000
u: 0.000000   v: 0.000000
u: 0.000000   v: 0.000000
u: 0.000000   v: 0.000000
u: 0.000000   v: 0.000000
u: 0.000000   v: 0.000000
u: 0.000000   v: 0.000000
u: 0.000000   v: 0.000000
u: 0.000000   v: 0.000000
u: 0.000000   v: 0.000000
u: -0.000000   v: -0.000000
u: 0.000000   v: 0.000000
u: 0.000000   v: 0.000000
u: 0.000000   v: 0.000000
u: 0.000000   v: 0.000000
u: 0.000000   v: 0.000000
u: -nan   v: -nan
u: -nan   v: -nan
u: -nan   v: -nan
u: -nan   v: -nan
u: -nan   v: -nan
u: -nan   v: -nan
u: -nan   v: -nan
u: -nan   v: -nan
u: -nan   v: -nan
u: -nan   v: -nan
u: -nan   v: -nan
u: -nan   v: -nan
u: -nan   v: 0.000024
u: -nan   v: -0.000036
u: 0.000000   v: -0.000000
u: -0.000000   v: 0.000000
u: 0.000000   v: 0.000000
u: 0.000000   v: 0.000000
u: 0.000000   v: 0.000000

(and yeah, my insane C debugging skills mostly are printf-based... ewww...)
17
3rd Party Plugins - (fb2k) / Re: NEW ESLyric v0.5 - an alternative lyric show component
Last post by sveakul -
The changelog on your page looks to be Chinese, which I cannot read. Do I oversee something?
The developer is Chinese.  Just copy/paste the log into DeepL; for example the log for 0.5.4.1028 looks like this:

Changes
    Fix the problem that layout modifications do not take effect in real time
    Repair the problem that the search window displays the wrong right-click menu
    Optimize some high DPI related experiences
    Optimize(?) Lyrics search result filtering
    Optimize the display of lyrics processing rules in the context menu.
    Optimize the experience of some settings in Advanced Settings UI
    Add the rule of removing the blank character at the beginning of a line in lyrics content.
18
3rd Party Plugins - (fb2k) / Re: foo_truepeak True Peak Scanner
Last post by regor -
I don't know what you mean. Of course you can work in TF with floats, calculations and proper rounding with a selectable number of digits behind the dot. You just have to shift the value to a much larger integer value to work with. Since I decided I don't ever want more than 9 digits after the dot in the result that means the original float (eg text consisting of only digits and only one dot somewhere) has to be enlarged inside the routine by adding 10x 0 to work with.
That's exactly my point:  "TF doesn't work with floats in a natural way without 40 lines of code", not sure what's your point showing exactly what I said xd We already know it "can be done" and anyway you are using integers in the end.

Doing all that every-time you have to operate with 1 float number is ridiculous (what about needing 10?)