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.