summaryrefslogtreecommitdiff
path: root/src/color.rs
diff options
context:
space:
mode:
authordyknon dyknonr5fjp2025-02-20 22:31:21 +0900
committerdyknon dyknonr5fjp2025-02-20 22:31:21 +0900
commit5633cf1b5fb1d07c2ae0cf4749bef3d08dde260a (patch)
treec9b942756d04668782c284a25164e6df93c82f91 /src/color.rs
simple v4l2 application now...
Diffstat (limited to 'src/color.rs')
-rw-r--r--src/color.rs12
1 files changed, 12 insertions, 0 deletions
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 ),
+ )
+}