diff options
| author | dyknon dyknonr5fjp | 2025-02-20 22:31:21 +0900 |
|---|---|---|
| committer | dyknon dyknonr5fjp | 2025-02-20 22:31:21 +0900 |
| commit | 5633cf1b5fb1d07c2ae0cf4749bef3d08dde260a (patch) | |
| tree | c9b942756d04668782c284a25164e6df93c82f91 /src/color.rs | |
simple v4l2 application now...
Diffstat (limited to 'src/color.rs')
| -rw-r--r-- | src/color.rs | 12 |
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 ), + ) +} |
