Libplacebo

Jul 20, 2023

Reusable library for GPU-accelerated video/image rendering

libplacebo is essentially the core rendering algorithms and ideas of mpv turned into a library. This grew out of an interest to accomplish the following goals

  • Clean up mpv’s internal rendering abstraction API and make it reusable for other projects.
  • Provide a standard library of useful GPU-accelerated image processing primitives based on GLSL, so projects like VLC or Firefox can use them without incurring a heavy dependency on libmpv.
  • Rewrite core parts of mpv’s GPU-accelerated video renderer on top of redesigned abstractions. Basically, I wanted to eliminate stateful APIs like shader_cache.c and totally redesign gpu/video.c


Checkout these related ports:
  • Zphoto - Zooming photo album generator
  • Zint - Barcode generator (library and utilities)
  • Zimg - Image-generator that uses ASCII input files to create PNGs/EDFs
  • Zgv - Graphics viewer for SVGAlib
  • Zbar - ZBar barcode reader
  • Zathura - Customizable lightweight pdf viewer
  • Zathura-ps - PostScript support for Zathura PDF viewer
  • Zathura-pdf-poppler - Poppler render PDF plugin for Zathura PDF viewer
  • Zathura-pdf-mupdf - MuPDF render PDF plugin for Zathura PDF viewer
  • Zathura-djvu - DjVu support for zathura
  • Zathura-cb - Comic book plugin for Zathura PDF viewer
  • Yukon - Real-time capture tool for OpenGL applications
  • Yed - Editor for graphs and diagrams
  • Yafaray - Montecarlo raytracing engine
  • Yacreader - Yet another comic reader