Close

Fixed the color space and speed issues

A project log for Video Button SAO

Building a SAO with off-the-shelf parts and hot glue

ben-combeeBen Combee 11/02/2024 at 05:440 Comments

I just committed a few changes to the GitHub repo for this project.  I made four significant changes tonight:

  1. I updated the video to a minute of the Roku City screensaver which seemed more appropriate for something that would mainly be playing over and over on my badge.
  2. I looked for a better MPEG-1 encoder than ffmpeg, and found old forum posts pointing to a Japanese tool called TMPEnc.  This has grown up into a professional codec used by the broadcast and media authoring ecosystem, but the venerable videohelp website found a link to an old freeware version, https://www.videohelp.com/software/TMPGEnc, that worked on my Windows 10 laptop.  After some tweaking, I had a working file at a lower bitrate which looked just as good as my ffmpeg encoded version.
  3. I figured out the color issue and it was a wrongly configured display driver.  When I originally tried to find a match for the GC9107 display driver, I was led astray by a forum posting saying that it was the same as the ST7789.  There's a lot of similarities, but the better match was the GC9A01, and once I changed that, I had the colors showing correctly.
  4.  I made the display code faster by running it on the second core in the RP2040.  This means I can overlay decoding and shifting out to the display.  I'd never used the second core before, but it wasn't hard to figure out.  The Arduino core for the RP2040 will automatically run code on the second core if you give it setup1 and loop1 functions.  I had to come up with a simple synchronization method, and after a little debugging, it was working well.

Discussions