Download and decode progressive JPEGs on iOS.
Switch branches/tags
Clone or download
Latest commit 499bf2f May 11, 2018

README.md

Concorde

Version License Platform Build Status Coverage Status

This is a framework for downloading and decoding progressive JPEGs easily on iOS and OS X. It uses libjpeg-turbo as underlying JPEG implementation. We vendor version 1.4.0 of the static library from libjpeg-turbo's official release for convenience.

Usage

Simply install it via CocoaPods:

pod 'Concorde'

and then use CCBufferedImageView which progressively downloads and shows an image:

let imageView = CCBufferedImageView(frame: ...)
if let url = NSURL(string: "http://example.com/yolo.jpg") {
	imageView.load(url)
}

If you use Contentful, install the subspec:

pod 'Concorde/Contentful'

and replace your usage of UIImageView with CCBufferedImageView to automatically use progressive JPEGs if you have been using the UIImageView category before. This will work regardless of the original format of your files due to the image transformation functionality of the delivery API.

Manual integration

You can also integrate Concorde as a subproject or download a binary build from the releases section. Please note that those are only provided for iOS at the moment.

License

Copyright (c) 2015 Contentful GmbH. See LICENSE for further details.

CCBufferedImageDecoder is derived from WebKit, see comments in its file for further copyright details.

The examples use http://pooyak.com/p/progjpeg/, which artificially slows the connection down to 0.5 Kilobyte/second to demonstrate the differences between regular and progressive JPEGs.