I thought I'd share an video encoded/decoder for the MegaDrive that I've been working on built on SGDK. The encoder works by a block matching algorithm to generate 1200 tiles into the VDP RAM then use those tiles in as many frames as it can for each 'chunk' by comparing against tiles from the current and past frames, allowing for a small degree of motion offset. Currently there's no LZ or Huffman encoding as the decoder relies on being able to DMA the 1200 tiles for each chunk directly from the ROM into the VDP RAM, however, this is something that I'm planning on investigating next to reduce the size of the tilemap. My intention is to use this for longer videos so the encoding parameters can be tuned to create a compression rate based the threshold for the 'distance' measure of the block matching algorithm.
The first video is 256px wide "Medium Quality". 15FPS. 3.7MB. Running for 1:13
https://www.youtube.com/watch?v=bpM7J0mRT2s
This is 192px wide "Low Quality". 10FPS. 3.9MB. Running for 3:27
https://www.youtube.com/watch?v=fN6ndFQ_m2k
MegaVid FMV codec
Moderator: Mask of Destiny
-
- Newbie
- Posts: 3
- Joined: Wed Jan 30, 2019 6:34 pm
- Location: UK
- Contact:
-
- Very interested
- Posts: 2984
- Joined: Fri Aug 17, 2007 9:33 pm
Re: MegaVid FMV codec
A bit coarse, but not bad.
Re: MegaVid FMV codec
Very clever!
Re: MegaVid FMV codec
Nice video