I have converted a video to two colors, I have compressed it and I have put it in a rom. This simple video loop takes more than 200kb.
Entrar ou registrar-se para comentar
I have converted a video to two colors, I have compressed it and I have put it in a rom. This simple video loop takes more than 200kb.
Wow!!! l looks great!! Congratulations for your work!!
Nice easter bunny
Nice! Not sure if it would help, but taking a quick peek at the code, I see you encode each frame separately. One optimization could be to only encode the differences with respect to the previous frame (as is done in mpg, and other video encoding formats). Not sure how much would it help in this case, given that the video is very "pixelated", and thus almost every pixel changes at every frame. But worth a try
Seems not to be working on WebMSX. Am I missing something?
What abput so e optimization or unrolling to keep the frame rate as high possible,.?
I think first and last frame are same... One of them should be removed.
Nice! Not sure if it would help, but taking a quick peek at the code, I see you encode each frame separately. One optimization could be to only encode the differences with respect to the previous frame (as is done in mpg, and other video encoding formats). Not sure how much would it help in this case, given that the video is very "pixelated", and thus almost every pixel changes at every frame. But worth a try
It's only a test, it has no real utility. I could scratch some bytes transfering only the changing pixels from the previous frame but I prefer to maintain the code simple. Anyway, the videos takes too much space, with or without encoding differences.
Seems not to be working on WebMSX. Am I missing something?
I think WebMSX it's detecting wrongly the memory mapper of the cartridge.
What abput so e optimization or unrolling to keep the frame rate as high possible,.?
There are three bottlenecks. The first is the uncompression routine, the second is the cpu->vdp transfer rate and the third is the video size (compression is mandatory). There is no much code to unroll and the uncompression routine it's small and well optimized (or so I think). I discarded using colors for those three reasons.
I've made a turbor version with double buffer and a new video. It works a lot better.
Download turbor version
looks very nice !
I've made a turbor version with double buffer and a new video. It works a lot better.
Download turbor version
Because MSX2 and up has so much VRAM, I suggest to use triple buffer because then you don't have to think or wait anything ever... Idea is this...
Main routine:
- Fill 1st VRAM buffer
- Ready page = 1
- Fill 2nd VRAM buffer
- Ready page = 2
- Fill 3rd VRAM buffer
- Ready page = 3
- goto first step
Interrupt handler:
- Visible page = Ready page
- RET
Nice experiment !
MSX1 version does not look very smooth.
Decompressing, filling VRAM and synchronizing should not be easy. Is there any way to use double buffer in MSX-1?
As the example is only 4 KB, maybe there is a way to make double buffering even in 16 Kb.
Any way to add sound?
Don't you have an account yet? Become an MSX-friend and register an account!