Swiftpack.co - mz2/Carpaccio as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by mz2.
mz2/Carpaccio v2.0.1
A fast Swift library for decoding images (including the usual formats + RAW files) + EXIF metadata.
⭐️ 118
🕓 2 years ago
iOS macOS
.package(url: "https://github.com/mz2/Carpaccio.git", from: "v2.0.1")
Carpaccio icon

Carpaccio SPM build & test passes Swift Package Manager compatible

Pure Swift goodness for RAW and other image + metadata handling

Carpaccio is a Swift library for macOS and iOS that allows fast decoding of image data & EXIF metadata from file formats supported by CoreImage (including all the various RAW file formats supported, using the CoreImage RAW decoding capability).

  • thumbnails
  • metadata
  • full sized image

Carpaccio uses multiple CPU cores efficiently in parallel for all of metadata, thumbnail and image data decoding.

There are no 3rd party dependencies (CoreImage filter is used for RAW decoding).

INSTALLATION

Swift Package Manager

Add Carpaccio to your Swift package as a dependency by adding the following to your Package.swift file in the dependencies array:

.package(url: "https://github.com/mz2/Carpaccio.git", from: "<version>")

If you are using Xcode 11 or newer, you can add Carpaccio by entering the URL to the repository via the File menu:

File > Swift Packages > Add Package Dependency...

USAGE

For usage examples, consult the unit tests under Tests/CarpaccioTests.

TODO

Carpaccio is still a very fresh and raw (har har) library and there are many tasks to make this a more generally useful library.

  • ☑ Add tests for RAWs from a number of different camera vendors.
  • ☑ GitHub action CI support.
  • ☑ iOS support.
  • ☐ Working xcframework support (when Xcode / SPM toolchain permits?) An xcframework build is already made available, but at least with Xcode 12.5.1 this results in build fails of the following kinds:
    • 'where' clause cannot be applied to a non-generic top-level declaration
    • 'Iterator' is not a member type of type 'Self'
    • 'Iterator' is not a member type of type 'Self'
    • Covariant 'Self' can only appear as the type of a property, subscript or method result; did you mean 'Collection'?
    • 'Index' is not a member type of class 'Carpaccio.Collection'

GitHub

link
Stars: 118
Last commit: 45 weeks ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

Version 2.0.1
2 years ago

Re-implements convertedToColorSpace using vImage (from Accelerate), such that a colour space conversion is actually made. Assumption still made of 8-bit channels and presence of an alpha channel, further improvements await.

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics