sailv1.2.0
- Updated
The missing small and fast image decoding library for humans (not for machines)
- Project website: https://github.com/HappySeaFox/sail
#Usage
The package sail provides CMake targets:
C libraries:
find_package(Sail CONFIG REQUIRED)
target_link_libraries(main PRIVATE SAIL::sail)C++ bindings:
find_package(SailC++ CONFIG REQUIRED)
target_link_libraries(main PRIVATE SAIL::sail-c++)#Features
Default feature: highest-priority-codecs
#all
Enable all codecs
Dependencies:
sail
Features:
high-priority-codecs,highest-priority-codecs,low-priority-codecs,lowest-priority-codecs,medium-priority-codecs
and 29 transitive dependencies:
- aom (through libavif)
- brotli (through libjxl)
- bzip2 (through ffmpeg)
- giflib (through sail)
- highway (through libjxl)
- imath (through openexr)
- jbigkit (through sail)
- lcms (through libjxl)
- libde265 (through libheif)
- libdeflate (through openexr)
- libheif (through sail)
- libjpeg-turbo (through libyuv)
- libjxl (through sail)
- liblzma (through ffmpeg)
- libpng (through sail)
- libraw (through sail)
- libyuv (through libavif)
- nanosvg (through sail)
- openexr (through sail)
- openjpeg (through sail)
- openjph (through openexr)
- qoi (through sail)
- x265 (through libheif)
- zlib (through libpng)
Host Dependencies:
7 transitive dependencies:
- ffmpeg-bin2c (through ffmpeg)
- pkgconf (through vcpkg-pkgconfig-get-modules)
- vcpkg-cmake (through libjpeg-turbo)
- vcpkg-cmake-config (through libjpeg-turbo)
- vcpkg-cmake-get-vars (through libyuv)
- vcpkg-pkgconfig-get-modules (through ffmpeg)
- vcpkg-tool-meson (through lcms)
#avif
Enable AVIF codec
Dependencies:
libavif
Features:
aom
Host Dependencies:
3 transitive dependencies:
- vcpkg-cmake (through libjpeg-turbo)
- vcpkg-cmake-config (through libjpeg-turbo)
- vcpkg-cmake-get-vars (through libyuv)
#heif
Enable HEIF codec
Host Dependencies:
2 transitive dependencies:
- vcpkg-cmake (through libde265)
- vcpkg-cmake-config (through libde265)
#high-priority-codecs
Enable high priority codecs such as AVIF
Host Dependencies:
3 transitive dependencies:
- vcpkg-cmake (through libjpeg-turbo)
- vcpkg-cmake-config (through libjpeg-turbo)
- vcpkg-cmake-get-vars (through libyuv)
#highest-priority-codecsdefault
Enable highest priority codecs such as JPEG or PNG
Dependencies:
sail
Features:
gif,highest-priority-codecs,jpeg,png,svg,webp
Host Dependencies:
3 transitive dependencies:
- vcpkg-cmake (through giflib)
- vcpkg-cmake-config (through libjpeg-turbo)
vcpkg-cmake-get-vars (through libpng)
Platforms:
arm & android
#jpeg
Enable JPEG codec
Host Dependencies:
2 transitive dependencies:
- vcpkg-cmake (through libjpeg-turbo)
- vcpkg-cmake-config (through libjpeg-turbo)
#jpeg2000
Enable JPEG2000 codec
Host Dependencies:
2 transitive dependencies:
- vcpkg-cmake (through openjpeg)
- vcpkg-cmake-config (through openjpeg)
#jpegxl
Enable JPEG XL codec
Dependencies:
Host Dependencies:
4 transitive dependencies:
- vcpkg-cmake (through brotli)
- vcpkg-cmake-config (through brotli)
- vcpkg-cmake-get-vars (through vcpkg-tool-meson)
- vcpkg-tool-meson (through lcms)
#low-priority-codecs
Enable low priority codecs such as TGA
Dependencies:
sail
Features:
bmp,hdr,highest-priority-codecs,jpeg2000,jpegxl,pnm,qoi,tga
and 12 transitive dependencies:
Host Dependencies:
4 transitive dependencies:
- vcpkg-cmake (through giflib)
- vcpkg-cmake-config (through libjpeg-turbo)
vcpkg-cmake-get-vars (through libpng)
Platforms:
arm & android- vcpkg-tool-meson (through lcms)
#lowest-priority-codecs
Enable lowest priority codecs such as XBM
Dependencies:
sail
Features:
fli,highest-priority-codecs,jbig,pcx,wal,xbm,xpm,xwd
Host Dependencies:
3 transitive dependencies:
- vcpkg-cmake (through giflib)
- vcpkg-cmake-config (through libjpeg-turbo)
vcpkg-cmake-get-vars (through libpng)
Platforms:
arm & android
#medium-priority-codecs
Enable medium priority codecs such as TIFF
Dependencies:
sail
Features:
heif,highest-priority-codecs,openexr,psd,raw,tiff,video
and 20 transitive dependencies:
- bzip2 (through ffmpeg)
- giflib (through sail)
- imath (through openexr)
- lcms (through libraw)
- libde265 (through libheif)
- libdeflate (through openexr)
- libheif (through sail)
- libjpeg-turbo (through sail)
- liblzma (through ffmpeg)
- libpng (through sail)
- libraw (through sail)
- nanosvg (through sail)
- openexr (through sail)
- openjph (through openexr)
- x265 (through libheif)
- zlib (through libpng)
Host Dependencies:
7 transitive dependencies:
- ffmpeg-bin2c (through ffmpeg)
- pkgconf (through vcpkg-pkgconfig-get-modules)
- vcpkg-cmake (through libde265)
- vcpkg-cmake-config (through libde265)
vcpkg-cmake-get-vars (through libpng)
Platforms:
arm & android- vcpkg-pkgconfig-get-modules (through ffmpeg)
- vcpkg-tool-meson (through lcms)
#openexr
Enable OPENEXR codec
Dependencies:
Host Dependencies:
2 transitive dependencies:
- vcpkg-cmake (through imath)
- vcpkg-cmake-config (through imath)
#png
Enable PNG codec
Host Dependencies:
3 transitive dependencies:
- vcpkg-cmake (through libpng)
- vcpkg-cmake-config (through libpng)
vcpkg-cmake-get-vars (through libpng)
Platforms:
arm & android
#raw
Enable RAW codec
Dependencies:
Host Dependencies:
4 transitive dependencies:
- vcpkg-cmake (through libjpeg-turbo)
- vcpkg-cmake-config (through libjpeg-turbo)
- vcpkg-cmake-get-vars (through vcpkg-tool-meson)
- vcpkg-tool-meson (through lcms)
#svg
Enable SVG codec
Host Dependencies:
2 transitive dependencies:
- vcpkg-cmake (through nanosvg)
- vcpkg-cmake-config (through nanosvg)
#test
Build and run tests
Dependencies:
sail
Features:
all,highest-priority-codecs
and 29 transitive dependencies:
- aom (through libavif)
- brotli (through libjxl)
- bzip2 (through ffmpeg)
- giflib (through sail)
- highway (through libjxl)
- imath (through openexr)
- jbigkit (through sail)
- lcms (through libjxl)
- libde265 (through libheif)
- libdeflate (through openexr)
- libheif (through sail)
- libjpeg-turbo (through libyuv)
- libjxl (through sail)
- liblzma (through ffmpeg)
- libpng (through sail)
- libraw (through sail)
- libyuv (through libavif)
- nanosvg (through sail)
- openexr (through sail)
- openjpeg (through sail)
- openjph (through openexr)
- qoi (through sail)
- x265 (through libheif)
- zlib (through libraw)
Host Dependencies:
7 transitive dependencies:
- ffmpeg-bin2c (through ffmpeg)
- pkgconf (through vcpkg-pkgconfig-get-modules)
- vcpkg-cmake (through libjpeg-turbo)
- vcpkg-cmake-config (through libjpeg-turbo)
- vcpkg-cmake-get-vars (through libyuv)
- vcpkg-pkgconfig-get-modules (through ffmpeg)
- vcpkg-tool-meson (through lcms)
#tiff
Enable TIFF codec
Host Dependencies:
2 transitive dependencies:
- vcpkg-cmake (through tiff)
- vcpkg-cmake-config (through tiff)
#video
Enable VIDEO codec
Dependencies:
ffmpeg
Features:
avcodec,avdevice,avfilter,avformat,bzip2,lzma,swresample,swscale,zlib
Host Dependencies:
7 transitive dependencies:
- ffmpeg-bin2c (through ffmpeg)
- pkgconf (through vcpkg-pkgconfig-get-modules)
- vcpkg-cmake (through ffmpeg-bin2c)
- vcpkg-cmake-config (through liblzma)
- vcpkg-cmake-get-vars (through ffmpeg)
- vcpkg-pkgconfig-get-modules (through ffmpeg)
- vcpkg-tool-meson (through pkgconf)
#webp
Enable WEBP codec
Host Dependencies:
2 transitive dependencies:
- vcpkg-cmake (through libwebp)
- vcpkg-cmake-config (through libwebp)
#Dependencies
No dependencies.
#Used By
- sail (feature
all) - sail (feature
high-priority-codecs) - sail (feature
highest-priority-codecs) - sail (feature
low-priority-codecs) - sail (feature
lowest-priority-codecs) - sail (feature
medium-priority-codecs) - sail (feature
test)
#Host Tool For
No ports use this.
#Contributors
Dmitry Baryshev
autoantwort
Dzmitry Baryshau
Lily Wang
JonLiu1993
Thomas1664
gerard-ryan-immersaview
Billy O'Neal