Mike Chambers
Well-known member
I'm working on a library that allows to you play full motion video with sound on a Teensy 4.x with an ILI9341. I'm not sure how useful such a library would be, but it seemed like a fun project to work on.
It's essentially working. I'm using Kurt's awesome ILI9341_t3n library with DMA mode. I found I have to enable continuous async update mode. If I do manual updates when the framebuffer has been completely updated, I'm only able to squeak out about 10 FPS or less for some reason.
Am I just going to have to stay in continuous mode, keep double framebuffers and only update the DMA referenced one after checking asyncUpdateActive() for false? Or is there a better way where I can call for an update manually while getting a faster refresh rate?
Tech details about the library... it's pretty simple, I just made an encapsulation format I call JVI (Jpeg VIdeo) that contains a header with some info and then interleaves JPEG file and raw audio data, plus a frame index at the end to make quick frame seeks possible. VirtualDub2 makes it easy to export proper JPEG sequences along with a raw audio file, which you would then run through a small PC utility to turn them into a JVI file that gets thrown on your SD card.
Here you can see it working, with the tearing evident. You'll have to turn up your volume, it's just a little PC speaker connected.
It's essentially working. I'm using Kurt's awesome ILI9341_t3n library with DMA mode. I found I have to enable continuous async update mode. If I do manual updates when the framebuffer has been completely updated, I'm only able to squeak out about 10 FPS or less for some reason.
Am I just going to have to stay in continuous mode, keep double framebuffers and only update the DMA referenced one after checking asyncUpdateActive() for false? Or is there a better way where I can call for an update manually while getting a faster refresh rate?
Tech details about the library... it's pretty simple, I just made an encapsulation format I call JVI (Jpeg VIdeo) that contains a header with some info and then interleaves JPEG file and raw audio data, plus a frame index at the end to make quick frame seeks possible. VirtualDub2 makes it easy to export proper JPEG sequences along with a raw audio file, which you would then run through a small PC utility to turn them into a JVI file that gets thrown on your SD card.
Here you can see it working, with the tearing evident. You'll have to turn up your volume, it's just a little PC speaker connected.
Last edited: