The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Релиз библиотеки декодирования изображений SAIL 0.9.0

07.11.2023 09:20

Опубликован релиз C/C++ библиотеки декодирования изображений SAIL 0.9.0, которую можно использовать для создания просмотрщиков изображений, загрузки изображений в память, загрузки ресурсов при разработке игр и т.п. Библиотека продолжает развитие декодировщиков форматов изображений ksquirrel-libs из программы KSquirrel, которые были переписаны с С++ на язык С. Программа KSquirrel существует с 2003 года (сегодня проекту исполнилось ровно 20 лет), но разработка просмотрщика была прекращена в 2008 году вместе с KDE3. Код SAIL распространяется под лицензией MIT. Поддерживается работа в Windows, macOS и Linux.

Ключевые особенности:

  • Четыре уровня абстракции API. Самый неглубокий уровень - junior, где возможно загрузить только один кадр с помощью двух строчек кода:
    
        struct sail_image *image;
        SAIL_TRY(sail_load_from_file(path, &image));
    

    Самый глубокий уровень - загрузка анимированных или многостраничных изображений из нестандартных источников (не из файла или из памяти).

  • Поддержка загрузки из файлов или из памяти.
  • Динамически подгружаемые кодеки. Возможность скомпилировать кодеки в одну библиотеку (-DSAIL_COMBINE_CODECS=ON) если динамическая загрузка по какой-то причине неудобна.
  • Код написан на C11 с биндингом на C++11.
  • Доступна в пакетных менеджерах Conan, vcpkg, brew (некоторые PR ожидают слияния).
  • Поддерживает все современные форматы изображений: JPEG, PNG, TIFF, GIF, AVIF, WEBP, JPEG XL и др.
  • Опережает по производительности почти всех своих конкурентов, таких как STB или FreeImage.


  1. Главная ссылка к новости (https://github.com/HappySeaFox...)
  2. OpenNews: Выпуск библиотеки декодирования изображений SAIL 0.9.0-pre12
  3. OpenNews: Доступна библиотека декодирования изображений SAIL
  4. OpenNews: Обновление утилит backgroundremover и rembg для удаления фона с изображений и видео
  5. OpenNews: Уязвимость в ImageMagick, приводящая к утечке содержимого локальных файлов
  6. OpenNews: Релиз фреймворка для обработки изображений G'MIC 2.2
Автор новости: Бочка Отборной Селёдки Пряного Посола
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/60064-sail
Ключевые слова: sail, image
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (31) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 09:41, 07/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    > уровень погружения

    что за "погружения"? АПИ бывают высоко- и низкоуровневыми, без "погружений" млдь.

     
     
  • 2.2, Аноним (2), 09:44, 07/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Погружения в разработку
     
  • 2.7, Аноним (7), 10:23, 07/11/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Уровень абстракции — так понятнее? Можно буферами оперировать, а можно байтики теребонькать.
     
     
  • 3.10, Аноним (1), 10:52, 07/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Уровень абстракции — так понятнее?

    Если аффтар не знает терминологию индустрии, представляю, что там он нагородил в коде.

     
     
  • 4.14, Аноним (14), 12:27, 07/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если аффтар выше не отделяет авторов новости от разработчиков SAIL, не представляю, что у него в голове.
     
     
  • 5.22, Аноньимъ (ok), 13:24, 07/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Со страницы проекта:

    > Versatile APIs: junior, advanced, deep diver, and technical diver

    Забавно.

     
  • 3.25, Аноним (25), 13:30, 07/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Самый неглубокий уровень - junior, где возможно загрузить только один кадр с помощью двух строчек кода

    Junior+ : 6 кадров

     

  • 1.3, Аноним (3), 09:47, 07/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    автор новости хорошь
     
     
  • 2.26, Аноним (26), 13:31, 07/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    хорошъ?
     
     
  • 3.29, Аноним (3), 14:09, 07/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ради такого ника стоит жить, ради такого ника стоит даже умереть
     

  • 1.4, Аноним (4), 10:02, 07/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > продолжает развитие декодировщиков которые ... были переписаны с С++ на язык С
    > Код написан на C11 с биндингом на C++11.

    Святой кернел паник! Как они вообще до такого докатились О_о

     
     
  • 2.18, Аноним (25), 12:40, 07/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вместо того, чтобы прикрыть поп...указатели, перейдя на более новый стандарт C++, они их напоказ выставляют.
     
  • 2.35, InuYasha (??), 18:21, 07/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А что не так-то? Ну, будет byte ***pData[]. Зато растоманы и нодеры будут за километры обходить.
     
     
  • 3.37, Анонимус11 (?), 21:27, 07/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    C растоманами сложно, биндинг для Rust уже есть. Упертые 😅
     

  • 1.5, ИмяХ (ok), 10:06, 07/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Судя по графиками, нихера оно не опережает. Примерно на одном уровне. И, кстати, в графиках нету IrfanView, наверное, специально не добавили, чтобы не опозориться
     
     
  • 2.8, Аноним (8), 10:47, 07/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Один из самых быстрых в своё время был. И с поддержкой heic https://github.com/nomacs/nomacs плохо что релизов давно не было
     
  • 2.11, Аноним (11), 11:00, 07/11/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Это как ты совместил не опережает и примерно на одном уровне? За ушами ничего не щёлкает? С такими приближениями можно сказать, что ты примерно на одном уровне с орангутаном.
     
  • 2.42, Аноним (42), 05:33, 09/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    XnView, которым я пользуюсь, тоже там нет. Да и вообще, все названия из этих графиков в первый раз вижу, равно как и саму эту утилиту. Непонятно что сравнивают непонятно с чем
     

  • 1.6, Аноним (7), 10:21, 07/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Дима, спасибо что не бросил и продолжаешь тянуть проект, вопреки всем ненужнистам. Респект.
     
  • 1.9, Alexey V. Pautov (?), 10:51, 07/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Н-да, давненько я такого не видел. Документации нет, даже раздела для нее на сайте не предусмотрено. Зато в начале первой страницы "GMO-free image decoding library" с желто-блакитным флагом. На английском. Украина на инглиш уже перешла? Просто нет слов.
     
     
  • 2.38, Аноним (38), 23:30, 07/11/2023 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > с желто-блакитным флагом. На английском. Украина на инглиш уже перешла? Просто нет слов.

    А надо было на украинском, чтобы тебя вообще приступ хватил?

     
     
  • 3.43, llolik (ok), 10:25, 09/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот склонен с ним согласиться в том, что, на данный момент, это одна из причин воздержаться от использования проекта, при наличии альтернатив. Вспоминаем автора одного популярного плеера, например. Пример не единичен, но на данном сайте был представлен особенно "выпукло".
     
     
  • 4.44, Аноним (14), 16:12, 09/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Лучше вспомнить автора одного популярного node.js модуля и обходить такое за километр. Чисто на всякий.
     

  • 1.20, Аноньимъ (ok), 13:04, 07/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Опережает по производительности почти всех своих конкурентов
    > Динамически подгружаемые кодеки. Возможность скомпилировать кодеки в одну библиотеку

    То есть там своя реализация кодеков которые много быстрее декодируют чем общепринятые варианты?

     
     
  • 2.21, Анонимус11 (?), 13:08, 07/11/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да
     
     
  • 3.23, Аноньимъ (ok), 13:27, 07/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    На гихабе пишут:

    > References If supported by the underlying codec like libjpeg

     

  • 1.24, Аноньимъ (ok), 13:29, 07/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Библиотека продолжает развитие декодировщиков форматов изображений ksquirrel-libs из программы KSquirrel, которые были переписаны с С++ на язык С

    Код из метаданных исполнять умеет?

     
     
  • 2.27, Аноним (25), 13:31, 07/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это даже безопастный может.
     
  • 2.31, Анонимус11 (?), 14:28, 07/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да, умеет
     

  • 1.34, InuYasha (??), 18:16, 07/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    okay. Только какой софт её использует, например, в Кедах?
     
     
  • 2.45, Анонимус11 (?), 13:30, 12/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    GwenView например
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру