aboutsummaryrefslogtreecommitdiff
path: root/lvc/src/decode.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-03-09 18:16:05 +0100
committermetamuffin <metamuffin@disroot.org>2023-03-09 18:16:05 +0100
commitac27a58c87bea9480f6603a731448f69c9c3b0fb (patch)
treeb437fb947a5d650c88d8db743c521e832f79611f /lvc/src/decode.rs
parent4fbf4bb4310da4bede43c9428809ac9a8804982a (diff)
downloadvideo-codec-experiments-ac27a58c87bea9480f6603a731448f69c9c3b0fb.tar
video-codec-experiments-ac27a58c87bea9480f6603a731448f69c9c3b0fb.tar.bz2
video-codec-experiments-ac27a58c87bea9480f6603a731448f69c9c3b0fb.tar.zst
rearrange files
Diffstat (limited to 'lvc/src/decode.rs')
-rw-r--r--lvc/src/decode.rs25
1 files changed, 0 insertions, 25 deletions
diff --git a/lvc/src/decode.rs b/lvc/src/decode.rs
deleted file mode 100644
index 771cba9..0000000
--- a/lvc/src/decode.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-use crate::{split::split, Block, Frame, View, P2};
-use rayon::join;
-
-pub fn decode(last_frame: &Frame, frame: &mut Frame, view: View, block: &Block) {
- match block {
- Block::Lit(pxs) => frame.import(view, &pxs),
- Block::Split(a, b) => {
- let [av, bv] = split(view);
- let (frame1, frame2) =
- unsafe { (&mut *(frame as *mut Frame), &mut *(frame as *mut Frame)) };
- join(
- || decode(last_frame, frame1, av, &a),
- || decode(last_frame, frame2, bv, &b),
- );
- }
- Block::Ref(r) => {
- for y in view.a.y..view.b.y {
- for x in view.a.x..view.b.x {
- let p = P2 { x, y };
- frame[p] = last_frame[p + r.pos_off] + r.color_off
- }
- }
- }
- }
-}