20 lines
1 KiB
Markdown
20 lines
1 KiB
Markdown
# video compressor and player for the ch32v003 with an SSD1306 32x128 OLED display
|
|
Put a webm file in `video/` and run `./convert <framerate>` to convert the video to a sequence of 32x40 images.
|
|
|
|
Run `cd encoder && cargo run` to convert to bytes, this will be exported to `data.h`.
|
|
|
|
Tweak framerate or MAX_ERROR in `main.rs` until the total size fits the 16k flash alongside the decoder.
|
|
|
|
By default it's tuned for bad apple.
|
|
|
|
## building ch32_decoder
|
|
If you are not on Linux, good luck.
|
|
|
|
You will need [ch32v003fun](https://github.com/cnlohr/ch32v003fun/) in next to the folder for this repository.
|
|
|
|
The `gdbinit` file contains the device path for uploading via a Pi Pico with [PicoRVD](https://github.com/aappleby/PicoRVD). This is triggered with `make flash`.
|
|
|
|
If you have an official WCH programmer you can probably run `make cv_flash` to use minchlink from ch32v003fun, but I can't test this.
|
|
|
|
## hardware
|
|
Made for my [ch32_oled](https://git.crispypin.cc/CrispyPin/ch32_oled) project, but all it needs is a 128x32 SSD1306 display connected.
|