Analysis updated 2026-06-21
Add real-time camera filters such as sepia or blur to an iOS app without writing any OpenGL shader code.
Process a video file through a chain of visual effects and save the output as a new movie file on the device.
Build a photo editing feature with color adjustments, blend modes, and custom filters for an iOS app.
| bradlarson/gpuimage | opa334/trollstore | snapkit/masonry | |
|---|---|---|---|
| Stars | 20,304 | 21,341 | 18,166 |
| Language | Objective-C | Objective-C | Objective-C |
| Setup difficulty | moderate | hard | easy |
| Complexity | 2/5 | 4/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires iOS 4.1+ with OpenGL ES 2.0 support, not compatible with very early iPhone hardware.
GPUImage is an open-source iOS framework written in Objective-C that lets developers apply image and video filters using the device's GPU (graphics processing unit) rather than the CPU. GPUs are specialized chips designed to handle many operations in parallel, making them dramatically faster for visual processing tasks. According to the README, on an iPhone 4 a simple image filter runs over 100 times faster on the GPU than an equivalent CPU-based approach. The framework works by setting up a processing pipeline called a chain: you connect a source (such as a live camera feed, a still image, or a video file) to one or more filters, and then to an output (such as the screen, a UIImage, or a saved movie file). For example, to show a sepia-toned live camera preview you connect GPUImageVideoCamera to GPUImageSepiaFilter to GPUImageView. Branching is supported, so the same source can feed multiple filter chains simultaneously. Under the hood, GPUImage uses OpenGL ES 2.0 shaders to do the actual processing, but hides all that complexity behind a clean Objective-C interface, you do not need to know anything about OpenGL to use it. The framework supports writing custom filters and includes a broad library of built-in effects covering color adjustments, blurs, edge detection, blending modes, and much more. It was a popular choice before Apple's Core Image framework matured on iOS. GPUImage requires OpenGL ES 2.0 (ruling out very early iPhones) and targets iOS 4.1 or later. It is BSD-licensed and is also available as a Swift-compatible framework module.
GPUImage is an iOS framework that applies image and video filters using the device's GPU instead of the CPU, making visual effects over 100x faster, without requiring any OpenGL knowledge.
Mainly Objective-C. The stack also includes Objective-C, OpenGL ES, iOS.
Free to use, modify, and redistribute for any purpose including commercial, as long as you keep the BSD copyright notice.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.