aboutsummaryrefslogtreecommitdiff
path: root/evc/src/codec/decode.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-05-05 15:09:54 +0200
committermetamuffin <metamuffin@disroot.org>2025-05-05 15:09:54 +0200
commit306f96164784a8cbf405e72fa4364d6523366e95 (patch)
tree51717fc139871baa438aad806f4923669ae0896c /evc/src/codec/decode.rs
parent9cc089e2d6e841879e430b01d2f3d92c8820523e (diff)
downloadvideo-codec-experiments-306f96164784a8cbf405e72fa4364d6523366e95.tar
video-codec-experiments-306f96164784a8cbf405e72fa4364d6523366e95.tar.bz2
video-codec-experiments-306f96164784a8cbf405e72fa4364d6523366e95.tar.zst
old dir
Diffstat (limited to 'evc/src/codec/decode.rs')
-rw-r--r--evc/src/codec/decode.rs34
1 files changed, 0 insertions, 34 deletions
diff --git a/evc/src/codec/decode.rs b/evc/src/codec/decode.rs
deleted file mode 100644
index c042278..0000000
--- a/evc/src/codec/decode.rs
+++ /dev/null
@@ -1,34 +0,0 @@
-use super::compress::lit_decompress;
-use crate::{block::Block, frame::Frame, refsampler::Sampler, view::View};
-
-pub struct DecodeConfig {}
-
-pub fn decode_block(
- block: &Block,
- mut target: View<&mut Frame>,
- prev: View<&Frame>,
- config: &DecodeConfig,
-) {
- match &block {
- Block::Literal(pixels) => target.set_pixels(pixels),
- Block::Split(box [a, b]) => {
- let [a, b] = unsafe { std::mem::transmute::<_, [&'static Block; 2]>([a, b]) };
- let [at, bt] = unsafe {
- std::mem::transmute::<_, [View<&'static mut Frame>; 2]>(target.split_mut_unsafe())
- };
- let [ap, bp] =
- unsafe { std::mem::transmute::<_, [View<&'static Frame>; 2]>(prev.split()) };
- let config = unsafe { std::mem::transmute::<_, &'static DecodeConfig>(config) };
-
- rayon::join(
- move || decode_block(a, at, ap, config),
- move || decode_block(b, bt, bp, config),
- );
- }
- Block::CompressedLiteral(data) => {
- lit_decompress(&data, target);
- }
- Block::Reference { translation } => target.copy_from(&prev.offset(*translation)),
- Block::AdvancedReference(r) => target.copy_from_sampler(&Sampler::from_refblock(prev, r)),
- }
-}