4 releases

0.1.9 Oct 17, 2024
0.1.8 Aug 4, 2024
0.1.7 Jul 7, 2024
0.1.6 Apr 25, 2024
0.1.0 Sep 6, 2020

#11 in Multimedia

Download history 3508/week @ 2024-07-28 3807/week @ 2024-08-04 7320/week @ 2024-08-11 8730/week @ 2024-08-18 13630/week @ 2024-08-25 7443/week @ 2024-09-01 9541/week @ 2024-09-08 7225/week @ 2024-09-15 8953/week @ 2024-09-22 16710/week @ 2024-09-29 3335/week @ 2024-10-06 14177/week @ 2024-10-13 7709/week @ 2024-10-20 11770/week @ 2024-10-27 1831/week @ 2024-11-03 26549/week @ 2024-11-10

48,224 downloads per month
Used in 13 crates (6 directly)

BSD-2-Clause

26KB
517 lines

YUV formats

This crate implements conversions from YUV/YCbCr formats to RGB. It also contains enums/constants for describing color spaces common in video formats.

Currently it's in an early stage, implementing subset needed for decoding AV1/AVIF.

Implemented

  • Matrix conversion for BT601, BT709, FCC, BT470BG, SMPTE240
  • YCgCo (untested)
  • Identity pass-through (GBR)
  • Studio and full range colors
  • 8-bit, and 10/12 to 16-bit conversions

Planned

  • Gamma conversion
  • Color primaries conversion
  • Chroma upsampling
  • RGB to YUV conversion
  • YUV pixel convenience functions, like in rgb
  • 8-to-16-bit expanding conversion
  • HDR to SDR conversion?
  • Maybe HDR support?

lib.rs:

This crate contains two things:

  1. color enums that can be used to describe color spaces in image and video formats, as defined in ISO/IEC 23091-4/ITU-T H.273
  2. Routines to convert between YUV family of color spaces and RGB.

Dependencies

~290KB