VDPENC 2

VQ experiments for coding videos on MSX1


The features of this solution:
1) it needs only one tileset for many frames (it's a trade off: the more frames you encode with the same tileset, the worst it goes)
2) the tilesets are encoded in screen 2 (MSX1)
2) each frame is composed by the sole PNT (uncopressed it takes only 768 bytes!)
3) you can update the whole PNT in far less than one Vblank, thus:
3a) the z80, at 10 fps, has plenty of spare time for other things -e.g. video decompression, PCM audio, what you like
3b) you do not need double buffering

On the to do list there is video compression:
in particular I will
1) store only differences between successive frames,
2) use pletter like compression schemes on the resulting differences.

The z80 has plenty of spare time (the sole real task is to move 768 bytes to VRAM),
so it is easy apply compression!!! and a do a lot more!!

 

 



VQ optimal tiles (3 sets of 256 elements)

Tiles converted using Jannones's converter (with dithering)

http://msx.jannone.org/

A Dragon (6 frames encoded jointly)  

 

 

 

The same as above without dithering

 

A different experiment (43 frames encoded jointly)

The tilesets (bitmap and screen 2 with dithering)


 

The same encodeing without dithering

 

The  tilesets (screen 2  with no dithering)