Page 1 of 1

MegaVid FMV codec

Posted: Sat Jul 13, 2019 6:59 pm
by MisterDave
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
Image

This is 192px wide "Low Quality". 10FPS. 3.9MB. Running for 3:27
https://www.youtube.com/watch?v=fN6ndFQ_m2k
Image

Re: MegaVid FMV codec

Posted: Sun Jul 14, 2019 12:13 am
by Chilly Willy
A bit coarse, but not bad.

Re: MegaVid FMV codec

Posted: Tue Jul 16, 2019 12:51 am
by themrcul
Very clever!

Re: MegaVid FMV codec

Posted: Wed Jul 17, 2019 2:10 pm
by danibus
Nice video