Vaizdo dekodavimo bibliotekos SAIL 0.9.0-pre12 leidimas

Buvo paskelbti keli pagrindiniai SAIL vaizdų dekodavimo bibliotekos atnaujinimai, suteikiantys kodekų C perrašymą iš seniai nebeveikiančios KSquirrel vaizdų peržiūros programos, tačiau su aukšto lygio abstrakčia API ir daugybe patobulinimų. Biblioteka yra paruošta naudoti, tačiau ji vis dar nuolat tobulinama. Dvejetainis ir API suderinamumas dar negarantuojamas. Demonstracija.

SAIL savybės

  • Greita ir paprasta naudoti biblioteką;
  • Parašyta C11 su įrišimais į C++17;
  • Vaizdo formatų palaikymas įgyvendinamas dinamiškai įkeliamais kodekais, kuriuos galima pašalinti ir pridėti nepriklausomai nuo kliento pusės;
  • Skaitymas iš failo, atminties, nuosavų šaltinių;
  • Kelių puslapių ir animuotų vaizdų palaikymas;
  • Populiarių formatų palaikymas vis dar atliekamas naudojant atitinkamas bibliotekas libjpeg, libpng ir kt.
  • Kelių platformų: Linux, Windows, macOS;
  • „Tinkavimas“ - informacijos apie vaizdą gavimas neiššifruojant pikselių;
  • Žmogaus subjektų pavadinimai (be FIMULTIBITMAP);
  • ICC profilių skaitymas ir rašymas;
  • Siunčia RGBA arba BGRA pikselius;
  • Grąžina pradinius pikselius (pavyzdžiui, CMYK), jei tai palaiko kodekas;

Po paskutinio paskelbimo pakeitimų sąrašas:

  • API buvo žymiai patobulinta ir supaprastinta. Buvo: struct sail_context *kontekstas; SAIL_TRY(sail_init(&kontekstas)); struct sail_image *vaizdas; nepasirašytas simbolis *vaizdo_pikseliai; SAIL_TRY(sail_read(kelias, kontekstas, &vaizdas, (tuščia **)&vaizdo_pikseliai)); ... nemokama(vaizdo_pikseliai); sail_destroy_image(vaizdas);

    Dabar: struct sail_image *image; SAIL_TRY(sail_read_file(kelias, &vaizdas); ... bure_destroy_image(image);

  • Pridėta BMP, GIF, TIFF formatų;
  • Prieinamumas VCPKG visose platformose, išskyrus UWP;
  • Paskelbti etaloniniai veiklos testai;
  • C++ įrišimas buvo perkeltas į C++17;
  • Atminties paskirstymo funkcijos surenkamos vienoje vietoje, kad jas būtų galima nesunkiai pakeisti savomis, tačiau šiuo metu tai galima padaryti tik perkompiliuojant;
  • Dabar vartotojai gali naudoti CMake find_package() norėdami prisijungti prie SAIL;
  • Pridėta galimybė statiškai kompiliuoti (SAIL_STATIC=ON);
  • Pridėta galimybė visus kodekus kompiliuoti į vieną bendrą biblioteką (SAIL_COMBINE_CODECS=ON);
  • Pradėtas µnit pagrįstų testų pridėjimo darbas;

Rekomenduojamas montavimo būdas

  • Taip pat yra Linux - vcpkg, Debian taisyklės
  • Windows – vcpkg
  • macOS – užvirinti

Šaltinis: opennet.ru

Добавить комментарий