Originally, I was planning on using LZSS. But, I remembered a faster solution: QOI. I only got to rethinking this after working on a completely different aspect of the project. While I was working with FFmpeg to convert the video to an image sequence, I was annoyed by the speed of PNG. I then remembered that there's a faster format called QOI.



A while back, I watched the video above. It talks about QOI, a lossless image format that's significantly faster than PNG. I would highly recommend watching the video because it gives a much better explanation than I could. The big highlight of this format, for this project, is how it's byte aligned. No fiddling with shifting bits required.

Now, QOI on it's own is way too big for this project. This is primarily because it has 24-bit colors. What if we reduce that to 8-bit color and simplify the spec as much as possible? I decided to that and was able to get very close compression rates while being an order of magnitude faster to encode. This also meant the calculator code ends up much simpler. I haven't written a LZSS decoder to check speeds yet. My modified QOI is about 30% larger than LZSS, so I still might want to consider using LZSS or maybe even both.

Right now, I'm working towards generating the ROM for videos. I've gotten a large part of the creation of ROMs done. The next big item on my checklist is having the calculator read this ROM, lookup frames, and then display them.

Edit:

I forgot to say, but currently the Bee Movie is sitting at about 600 MiB and takes about 30 seconds to generate on my computer. Bee Movie CD on TI-84 Plus CE when?
That's very interesting. It's been a month; any progress? I'm really curious about how QOI/LZSS is going.
saw this recently and it was pretty cool! Smile
Looks nice! im assuming the adapter you are using addresses the host mode shenanigans. Would you be able to provide a link to it?
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 2 of 2
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement