Comments (6)
Sounds like a good approach to me, especially because it trivially un-nests the history and weight data.
As for better quantization: sqrt only seems to be a better solution because of integer math (for -1 <-> 1 floats sqrt(x) ~= x
) but is not worth the added complexity in my opinion. I could not find a simple algorithm for square roots, at least not a non-iterative one. As said, the only approximation known to me only works for normalized rational sample representations.
from qoa.
lolremez is very good at approximating with only a few multiplications.
from qoa.
Btw. in Nuklear we use inverse square root as its usage results in faster generated assembly.
from qoa.
lolremez is very good at approximating with only a few multiplications.
But it requires floating-point math, which QOA explicitly avoids
from qoa.
But it requires floating-point math, which QOA explicitly avoids
It does not. lolremez generates C code with floating point data types but the principle works for integers too (with a small additional effort, of course).
from qoa.
I went ahead and did the obvious thing now.
lolremez looks amazing. I wish I had know about this earlier to different things on the residuals. For this case, the added complexity of yet another encoding scheme is certainly not worth saving 1kbit/s
from qoa.
Related Issues (20)
- `qoaplay` returns garbage output on Windows 10 HOT 1
- qoa_test_samples doesn't match the code HOT 2
- Undefined behavior in the encoder: error * error overflows int HOT 3
- Mention SerenityOS QOA loader
- Remove dependence on 64-bit integers (for ANSI-C Compilers without a 64 bit integer type) HOT 14
- What's the justification for using big-endian? HOT 3
- Increase total sample count limit HOT 2
- Specification Draft HOT 16
- Frame header: frame size is calculable and can be used for other data, suggestion: improved seekability HOT 17
- One more implementation
- Why replicate sample rate and num channels in each frame? HOT 3
- [REQ] Windows Binaries x86 & x64
- Divide by 0 undefined in C99
- Some audio data seems to trigger a bug in the encoder/decoder HOT 15
- QOA applications in pipewire
- char * should be const in qoaplay_open
- Converted files have a "beep" at the beginning HOT 3
- qoa_read_u64 optimizations HOT 1
- Noise Shaping HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qoa.