From 680b08e6b9d64284b7992fb52a23e5f891291406 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Thu, 9 Mar 2023 22:48:33 +0100 Subject: rename + readme --- lvc/codec-web/src/lib.rs | 60 ------------------------------------------------ 1 file changed, 60 deletions(-) delete mode 100644 lvc/codec-web/src/lib.rs (limited to 'lvc/codec-web/src') diff --git a/lvc/codec-web/src/lib.rs b/lvc/codec-web/src/lib.rs deleted file mode 100644 index cb2ad3c..0000000 --- a/lvc/codec-web/src/lib.rs +++ /dev/null @@ -1,60 +0,0 @@ -use bv1::{Decoder, Frame, P2}; -use std::{collections::VecDeque, sync::RwLock}; -use wasm_bindgen::prelude::*; - -static DECODER: RwLock> = RwLock::new(None); - -struct State { - buffer: VecDeque, - frame: Frame, - decoder: Decoder, -} - -// #[wasm_bindgen] -// extern "C" { -// #[wasm_bindgen(js_namespace = console)] -// fn log(s: &str); -// #[wasm_bindgen(js_namespace = console, js_name = "log")] -// fn logs(s: String); -// } - -#[wasm_bindgen(start)] -fn panic_init() { - std::panic::set_hook(Box::new(console_error_panic_hook::hook)); -} - -#[wasm_bindgen] -pub fn decode_init(width: i32, height: i32) { - let size = P2 { - x: width, - y: height, - }; - *DECODER.write().unwrap() = Some(State { - frame: Frame::new(size), - decoder: Decoder::new(size), - buffer: VecDeque::new(), - }); -} - -#[wasm_bindgen] -pub fn decode_frame(buf: &[u8], debug: bool) -> Vec { - let mut arr = Vec::new(); - let mut g = DECODER.write().unwrap(); - let state = g.as_mut().unwrap(); - state.buffer.extend(buf.iter()); - - state - .decoder - .decode_frame(&mut state.buffer, &mut state.frame, debug) - .unwrap(); - - for y in 0..state.frame.size.y { - for x in 0..state.frame.size.x { - arr.push(state.frame[P2 { x, y }].r.clamp(0, 255) as u8); - arr.push(state.frame[P2 { x, y }].g.clamp(0, 255) as u8); - arr.push(state.frame[P2 { x, y }].b.clamp(0, 255) as u8); - } - } - - arr -} -- cgit v1.2.3-70-g09d2