diff options
author | metamuffin <metamuffin@disroot.org> | 2025-05-05 15:09:54 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-05-05 15:09:54 +0200 |
commit | 306f96164784a8cbf405e72fa4364d6523366e95 (patch) | |
tree | 51717fc139871baa438aad806f4923669ae0896c /dhwt-codec/src/view.rs | |
parent | 9cc089e2d6e841879e430b01d2f3d92c8820523e (diff) | |
download | video-codec-experiments-306f96164784a8cbf405e72fa4364d6523366e95.tar video-codec-experiments-306f96164784a8cbf405e72fa4364d6523366e95.tar.bz2 video-codec-experiments-306f96164784a8cbf405e72fa4364d6523366e95.tar.zst |
old dir
Diffstat (limited to 'dhwt-codec/src/view.rs')
-rw-r--r-- | dhwt-codec/src/view.rs | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/dhwt-codec/src/view.rs b/dhwt-codec/src/view.rs deleted file mode 100644 index 0f2ecf7..0000000 --- a/dhwt-codec/src/view.rs +++ /dev/null @@ -1,42 +0,0 @@ -use std::ops::{Index, IndexMut}; - -use crate::io::{VideoBuf, Value}; - -#[derive(Copy, Clone, Debug)] -pub enum IndexMode { - XY(usize, usize), - XZ(usize, usize), - YZ(usize, usize), -} - -pub struct BufferView<'a> { - mode: IndexMode, - buf: &'a mut VideoBuf, -} - -impl<'a> BufferView<'a> { - pub fn new(buf: &'a mut VideoBuf, mode: IndexMode) -> Self { - BufferView { mode, buf } - } -} - -impl Index<usize> for BufferView<'_> { - type Output = Value; - - fn index(&self, a: usize) -> &Self::Output { - match self.mode { - IndexMode::XY(x, y) => &self.buf[x][y][a], - IndexMode::XZ(x, z) => &self.buf[x][a][z], - IndexMode::YZ(y, z) => &self.buf[a][y][z], - } - } -} -impl IndexMut<usize> for BufferView<'_> { - fn index_mut(&mut self, a: usize) -> &mut Self::Output { - match self.mode { - IndexMode::XY(x, y) => &mut self.buf[x][y][a], - IndexMode::XZ(x, z) => &mut self.buf[x][a][z], - IndexMode::YZ(y, z) => &mut self.buf[a][y][z], - } - } -} |