happyseafox / sail Goto Github PK
View Code? Open in Web Editor NEWThe missing small and fast image decoding library for humans (not for machines) ⛵ https://sail.software
License: MIT License
The missing small and fast image decoding library for humans (not for machines) ⛵ https://sail.software
License: MIT License
Hey there,
I just found this project. I had ksquirrel in my local database for programs; ruby handles this.
I noticed I have not updated ksquirrel in 7 years so I checked whether it was still alive.
That was how I found sail. Now I have not yet tried to compile sail, will do in a bit,
but do you think it may be possible to briefly mention the main differences between
ksquirrel and sail in the FAQ?
https://github.com/smoked-herring/sail/blob/master/FAQ.md
This does not have to be long; just perhaps a sentence or two explaining the main
differences (I assume qt version and kde version?) and perhaps any other larger
difference between the two projects. Thank you for reading and perhaps considering!
Ideas:
It looks like these keys partially duplicate SAIL_CODEC_FEATURE_META_DATA
and SAIL_IO_OPTION_META_DATA
.
Fix CMakeLists.txt in the tiff codec.
config.h shows that the codecs should be stored in path "...\vcpkg\packages\sail_x64-windows-static\lib\sail\codecs"
However no such folder or file named sail\codecs exists in path "...\vcpkg\packages\sail_x64-windows-static\lib\"
I am just trying to read a jpg or png file, but I keep getting the codec not found error. I have only tried x64-windows-static and x64-windows versions however.
Hello, I fail to see how I could extract the alpha channel from a PNG. I need to get the raw bits of only the alpha channel. Any idea is welcome, thanks
Now it's required to open sail-codecs.dll
on Windows and the current module on Linux to enumerate codec functions. What about building a list of these functions during build and generating a source file with them? This way we can avoid opening any DLLs. Like that
{
"JPEG", { jpeg_sail_read_init_v5, ...},
}
For example: BMP compression, etc.
It seems that when installing using vcpkg, the headers expect that the include root is in the sail
directory, but vcpkg places the includes under sail
. To include something in your own project, you need
#include <sail/sail-c++/sail-c++.h>
but the sail headers includes other sail headers as
#include <sail-c++/...>
Am I missing something here? Was this project updated since it was set up for vcpkg that caused this?
Tried a search for alloc but that brought up a lot of junk results that didn't match what I was looking for, when lua is first initialised in C it provides the option of setting a custom allocator and user data where the allocator is of the form void * Alloc( void *ud, void *ptr, size_t size, size_t want )
where ud is ignored by the default allocator and only used by a user supplied allocator, this is helpful when multi-threading as I can pass the threads object to the ud parameter which can then communicate the desire for memory to the main thread which handles the allocations instead, avoiding potential collisions when 2 or more threads try to re-allocate memory as they can just all have the same pointer & size reported to them after each re-allocation request is processed, also makes garbage collection easier.
Does SAIL have something similar? If not I'll have to write my own custom image loading functions, I'd prefer to not do that though as I'm trying to keep my graphic studies to just the graphics and not the formats (only recently learned how to use index buffers and am now trying to learn how to use textures).
Will introduce a new entry in the .plugin.info files and a new set of functions like
sail_plugin_info_from_magic()
Possibly using https://github.com/AOMediaCodec/libavif
The notes in image-c++.h indicate that, with this function, shallow data is not deleted upon image destruction
.
It's a natural assumption that this would include reuse of the image
object.
(SHA 6250cce)
Use-case: sail list -v
to list all the installed codecs. Merge sail-probw and sail-convert into it.
By reusing appropriate C structs (sail_resolution etc.) and not duplicating their fields?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.