[FFmpeg-devel] a64 encoder 7th round

Bitbreaker/METALVOTZE bitbreaker
Tue Jan 27 15:38:58 CET 2009

> why do you need so much space to store a single bit per char?
> also if the chars take much space, why not simply reuse them from
> the previous frame and just update some?

We discussed about similar things already. On c64 side the easiest, 
smallest (we have 64k ram, including video memory and so on) and fastest 
way is to just load a fixed size per frame continously. Shifting bits 
back to reconstruct the colors is way more expensive, same will go for 
delta on a charset. In that cases i can't hold good framerates.

> from this i assume you use the 4color per block 160x200 mode, cant this
> allow any 4 out of 5 colors, i mean not just the 4 darkest/4 lightest?
> also i think your code should not downscale 320->160 but rather require
> 160x200 as input.

Multicol is natively 160x200 yes. But best would be then to require half 
the width being offered to keep it open for the user to choose a proper 
aspect ratio. If that is possible i'd implement it. Also if croping to a 
certain size is possible natively, i could save code of course. However 
when being displayed the multicolorpic of course has the same width than 
a normal 320x200 pixel pic again. So i am not too unhappy with the yet 
solution. It is a few lines of code and in its yet state with using 
elbg, it really performs more than fast (encodes ~120fps on a AMD X2 4000+).

Back to the mode: what i use is charset, in that case you can choose 3 
fixed colors for the whole frame, not per block. Just the 4th color can 
be chosen per attribute cell (colorram). Here also restrictions apply 
when using a charset instead of a bitmap: the highest bit indicates 
wether the current char is displayed as multicolor or 2 color (then 
hires) char. So i can only use colors 0..7 for colorram. Making things 
colorful gets really hard then and usually the result looks very blocky.
if i'd use bitmap i could choose one background color out of 16 per 
frame and 3 out of 16 per attribute cell. But a whole multicolorpicture 
is 10kb in size. Loading speed is too low to achive a high framerate 
then. Compression? See above, even slower :-)

Kindest regards,


      style)KURVE - Fotografie mit Biss.
   www.style-kurve.de - info at style-kurve.de
Tobias Bindhammer, Uhlandstrasse 8, 89278 Stra?

More information about the ffmpeg-devel mailing list