# libvips/libvips

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/libvips-libvips).**

11,085 stars · 744 forks · C · lgpl-2.1

## Links

- GitHub: https://github.com/libvips/libvips
- Homepage: https://libvips.github.io/libvips/
- awesome-repositories: https://awesome-repositories.com/repository/libvips-libvips.md

## Topics

`c` `cpp` `gif` `graphicsmagick` `heic` `image-processing` `imagemagick` `jpeg` `libvips` `nifti` `openexr` `openslide` `pdf` `pdfium` `png` `svg` `tiff` `webp`

## Description

Libvips is a C-based image processing library designed to manipulate large visual assets through a low-memory, parallel processing pipeline. It functions as a streaming image processor that avoids loading entire files into system memory, enabling the handling of massive images in resource-constrained environments.

The library distinguishes itself through a demand-driven architecture that constructs a deferred execution plan, computing only the necessary pixels for a final output. By utilizing a cache-friendly tiled processing model and memory-mapped file access, it minimizes latency and redundant data copying. These operations are distributed across multiple CPU cores using a thread pool to maximize throughput during complex transformations.

The toolkit provides a comprehensive set of capabilities for automated image pipeline development, including resizing, rotating, cropping, and color adjustment. It is intended for building scalable backend services that process high-resolution visual data on the fly.

## Tags

### Graphics & Multimedia

- [Image Processing](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/image-processing.md) — A high-performance library for manipulating large images using a low-memory, parallel processing pipeline that avoids loading entire files into RAM. ([source](https://libvips.github.io/API/current))
- [High-Performance Image](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/image-processing/libraries/high-performance-image.md) — A library for manipulating large images using a low-memory, parallel processing pipeline that avoids loading entire files into RAM.
- [Image Transformation Utilities](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/media-processing-workflows/image-processing-pipelines/image-preprocessing-utilities/color-adjustment-utilities/image-transformation-utilities.md) — Provides a comprehensive set of capabilities for resizing, rotating, cropping, and adjusting colors of images. ([source](https://libvips.github.io/API/current))
- [High-Performance Image Pipelines](https://awesome-repositories.com/f/graphics-multimedia/image-editing-processing/image-processing/high-performance-image-pipelines.md) — Transforms and manipulates large visual assets rapidly using a memory-efficient pipeline that avoids loading entire files into system memory.
- [Parallel Image Toolkits](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/visual-effects/visual-filter-animators/visual-filter-pipelines/image-manipulation-toolkits/parallel-image-toolkits.md) — A toolkit that distributes image processing operations across multiple CPU cores to maximize throughput on multi-core hardware.
- [Memory-Efficient Media Processors](https://awesome-repositories.com/f/graphics-multimedia/memory-efficient-media-processors.md) — Processes massive image files in resource-constrained environments by streaming data through parallel operations instead of storing it in RAM.

### Artificial Intelligence & ML

- [C-Based Image Engines](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-inference-serving/inference-engines/c-inference-backends/c-based-engines/c-based-image-engines.md) — A core processing engine designed for speed and efficiency when performing complex transformations on high-resolution visual assets.
- [Image Tiling](https://awesome-repositories.com/f/artificial-intelligence-ml/tiled-processing/image-tiling.md) — Divides large images into small, manageable tiles that fit within CPU cache lines to minimize expensive main memory latency.

### Software Engineering & Architecture

- [Streaming Image Processors](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-optimization/data-handling-throughput/large-dataset-optimizations/streaming-processors/streaming-image-processors.md) — A memory-efficient tool for modifying image attributes like size and color through a stream-based architecture that handles massive files.
- [Image Streaming Pipelines](https://awesome-repositories.com/f/software-engineering-architecture/lazy-evaluation-patterns/demand-driven-evaluators/image-streaming-pipelines.md) — Processes images by pulling small rectangular regions through a processing graph to avoid loading entire files into system memory.
- [Deferred Execution Graphs](https://awesome-repositories.com/f/software-engineering-architecture/lazy-evaluation-patterns/deferred-execution-graphs.md) — Constructs a deferred execution plan for image operations that only computes necessary pixels when the final output is requested.

### Web Development

- [Backend Image Pipelines](https://awesome-repositories.com/f/web-development/dynamic-image-services/backend-image-pipelines.md) — Builds scalable backend services that resize, crop, and adjust images on the fly for web and mobile applications.

### Scientific & Mathematical Computing

- [Parallel Image Transformers](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/high-performance-and-parallel-computing/parallel-processing/parallel-image-transformers.md) — Distributes complex visual processing tasks across multiple CPU cores to maximize throughput and speed when handling high-resolution files.

### Data & Databases

- [Memory-Mapped File Access](https://awesome-repositories.com/f/data-databases/data-access-querying/memory-mapped-file-access.md) — Maps image data directly into the process address space to allow efficient random access without redundant copying or buffering.

### Programming Languages & Runtimes

- [Parallel Image Task Executors](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/execution-engines/parallel-execution-strategies/parallel-image-task-executors.md) — Distributes image processing operations across multiple CPU cores using a thread pool to maximize throughput on multi-core hardware.
