From 5633cf1b5fb1d07c2ae0cf4749bef3d08dde260a Mon Sep 17 00:00:00 2001 From: dyknon Date: Thu, 20 Feb 2025 22:31:21 +0900 Subject: simple v4l2 application now... --- src/color.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 src/color.rs (limited to 'src/color.rs') diff --git a/src/color.rs b/src/color.rs new file mode 100644 index 0000000..3b27fa0 --- /dev/null +++ b/src/color.rs @@ -0,0 +1,12 @@ +// TODO: avoid using float +pub fn yuv2rgb(y: u8, u: u8, v: u8) -> (u8, u8, u8){ + fn rc(v: f64) -> u8{ v.round().clamp(0., 255.) as u8 } + let y = y as f64; + let u = u as f64 - 128.; + let v = v as f64 - 128.; + ( + rc(y + 1.402*v), + rc(y - 0.344*u - 0.714*v), + rc(y + 1.772*u ), + ) +} -- cgit v1.2.3