diff options
author | metamuffin <metamuffin@disroot.org> | 2022-12-06 08:41:48 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2022-12-06 08:41:48 +0100 |
commit | cc1f02a71bd3ad5235ac92dec2d9c516c74f8b1c (patch) | |
tree | 0c418181610ada30f8a8291fc7fb4e906dccd982 /evc/src/view.rs | |
parent | 5002d0df81f74418665e4e99179ba56d8e78cbe1 (diff) | |
download | video-codec-experiments-cc1f02a71bd3ad5235ac92dec2d9c516c74f8b1c.tar video-codec-experiments-cc1f02a71bd3ad5235ac92dec2d9c516c74f8b1c.tar.bz2 video-codec-experiments-cc1f02a71bd3ad5235ac92dec2d9c516c74f8b1c.tar.zst |
decode somewhat works
Diffstat (limited to 'evc/src/view.rs')
-rw-r--r-- | evc/src/view.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/evc/src/view.rs b/evc/src/view.rs index 983fe67..f37e57c 100644 --- a/evc/src/view.rs +++ b/evc/src/view.rs @@ -25,7 +25,7 @@ impl<T> View<&mut T> { let vert = self.size.0 > self.size.1; [ Self { - frame: unsafe { std::mem::transmute::<_, &mut T>(&mut self.frame) }, + frame: unsafe { std::mem::transmute::<&mut T, &mut T>(&mut self.frame) }, offset: self.offset, size: if vert { (self.size.0 / 2, self.size.1) @@ -34,7 +34,7 @@ impl<T> View<&mut T> { }, }, Self { - frame: unsafe { std::mem::transmute::<_, &mut T>(&mut self.frame) }, + frame: unsafe { std::mem::transmute::<&mut T, &mut T>(&mut self.frame) }, offset: if vert { (self.offset.0 + self.size.0 / 2, self.offset.1) } else { @@ -109,6 +109,13 @@ impl View<&mut Frame> { } } } + pub fn set_pixels(&mut self, pixels: &Vec<Pixel>) { + for x in 0..self.size.0 { + for y in 0..self.size.1 { + self[(x, y)] = pixels[x + y * self.size.0] + } + } + } } impl<T: Index<(usize, usize), Output = Pixel>> Index<(usize, usize)> for View<&T> { |