Guest User

Untitled

a guest
Dec 21st, 2020
144
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. First, that was my first project with micro controller and my experience with Teensy has been awesome. You did some amazing work with it.
  2.  
  3. So about the video player itself. There is no actual video de-compression. The video file is just a list of frame with the data I have to send to the screen. Because of the screen specs I just don't have to send much data, especially since we can refresh only specific lines of the screen. For some frames I can just update a few lines only. It's up to the video converter to decide which line to update.
  4. Most of the optimization I had to do was mainly how to send data to the screen so I had to rewrite a lot of the ADA fruit library. The CPU is actually spending most of its time sending data to the screen. I didn't look into SPI and DMA.
  5.  
  6. The tool I have to make the video file is also very much ad-hoc. I wrote it in lua because I am very familiar with it and used Dear Imgui for the UI. The goal was mainly to quickly experiment with dithering, tweaking values. I can compare side by side two settings but I can also change values on the fly so a video can start with one dithering type and switch in the middle to a different one.
  7. The video converter filters out lines that were identical to the previous frame. I was planning to have a threshold to "compress" even more but that was not needed so far because a lot of lines were already duplicates.
  8.  
  9. Original thread about the video player: https://twitter.com/NicMagnier/status/1195471551379976192
  10. Thread about the dithering used for the video: https://twitter.com/NicMagnier/status/1178351976263888899
RAW Paste Data