AV Development

GPUPixel — Open-Source, High-Performance, Cross-Platform Real-Time Beauty Filter Library

GPUPixel is a high-performance image and video AI beauty effects library written in C++11, similar to GPUImage. It is easy to build and integrate, and the library is very small. GPU-accelerated with built-in filters, it delivers commercial-grade results. Supported platforms include iOS, Mac, Android, Windows, and Linux—it can theoretically be ported to any platform that supports OpenGL/ES.

Park

Park

AV Development

Written on

Share
GPUPixel — Open-Source, High-Performance, Cross-Platform Real-Time Beauty Filter Library
<p align="center"> <a href="https://github.com/pixpark/gpupixel/stargazers"><img alt="GPUPixel Stars" src="https://img.shields.io/github/stars/pixpark/gpupixel?style=social"/></a> <a href="https://github.com/pixpark/gpupixel/releases/latest"><img alt="GPUPixel Release" src="https://img.shields.io/github/v/release/pixpark/gpupixel"/></a> <a href="#"><img alt="GPUPixel Stars" src="https://img.shields.io/badge/Platform-iOS_%7C_Android_%7C_Mac_%7C_Win_%7C_Linux-red"/></a> <a href="https://github.com/pixpark/gpupixel/actions/workflows/cmake-multi-platform.yml"><img src="https://github.com/pixpark/gpupixel/actions/workflows/cmake-multi-platform.yml/badge.svg"></a> <a href="https://github.com/pixpark/gpupixel/blob/main/LICENSE"><img alt="GPUPixel Stars" src="https://img.shields.io/github/license/pixpark/gpupixel"/></a> </p>

Background

Video and image processing is an unavoidable part of AV development. Use cases range from must-haves in the short-video and live-streaming era—such as beauty filters—to image quality enhancement.

There are many image processing frameworks. The classic OpenCV is a great library, and there are platform-specific options too—such as the well-known GPUImage on iOS and GPUImage-Android on Android. They are all excellent open-source projects.

But each has drawbacks. OpenCV can be too slow for real-time or mobile video processing. GPUImage and GPUImage-Android are tied to a single platform, and they only provide basic image processing—you need to build advanced features like beauty filters on top of them.

After many years in AV development, I wanted a unified cross-platform image processing solution that also covers the basics. That led to GPUPixel, supporting iOS, Mac, Android, Windows, and Linux.

Project Overview

GPUPixel is written in C++11 without raw pointers, which helps prevent memory leaks and similar issues. The architecture is similar to GPUImage. Built on OpenGL, it delivers high performance suitable for mobile and real-time image processing—single-frame processing is typically under 10 ms.

It is easy to build and integrate, with a unified API across platforms and a very small library footprint. Built-in filters—including beauty effects—can achieve commercial-grade results.

It supports both image and video input, with output formats including RGBA, YUV420P, and more—making it convenient to add beauty filters to live streaming, video conferencing, and similar scenarios.

Project URL

https://github.com/pixpark/gpupixel

Preview

👉 Video: YouTube | BiliBili

OriginalSmooth SkinWhiteningThinFace
originsmoothwhitethinface
Big EyesLipstickBlushToggle
bigeyelipstickblusheron-off

Architecture

GPUPixel data processing flow:

arch-zh

Feature Comparison

Compared to GPUImage, GPUPixel fills in many gaps—it provides basic beauty effects and diverse input/output formats such as YUV420P and RGBA. See the detailed comparison.

Roadmap

The project has gained some attention, but usage is still lower than libraries like GPUImage. GPUPixel still has features to add and areas to optimize—such as background replacement, and Python and WebAssembly bindings.

Issues are handled actively, and development will continue. I hope more people will join in—individual effort only goes so far, and there is still a lot to learn about GPU image processing. Let's exchange ideas and learn from each other.

If this library helps you, please star and share it so more people can discover it. 🙏