[FFmpeg-devel] a64 encoder 7th round
Bitbreaker/METALVOTZE
bitbreaker
Tue Feb 3 15:22:21 CET 2009
> ldx $de00
> lda lut+0,x
> sta dest,y
> lda lut+1,x
> sta dest+64,y
> lda lut+2,x
> sta dest+128,y
> lda lut+3,x
> sta dest+192,y
> iny
Just tested something similar to reconstruct the "compressed" colorram.
However it spoils of course my option of linear writing and thus things
need to happen even faster as i write at the lower and upper end of the
colorram area at the same time. It works out tightly however when i
start 44 lines before screen ends. Writing endures until i enter the
upper area again, but ends luckily fast enough (4 lines) before the last
line of the first 0x100 block of colorram is displayed. So i have to
take care that i cross no 0x100 border codewise and indexwise, as that
would add extra cycles and thus trash display. I could however place the
LUT into zeropage where no extar cycles apply on those conditions. Would
make things more stable, but wastes 64 nice favourite places to store
values when running out of registers ;-)
Finally 112 lines are free now, what gives me a better feeling when i
use 2 vsync. However i forgo on all colors in colram being useable in
future. Still, the colors for the grayscale gradient can now be choosen
freely, just 3 registers and the 64 byte LUT need to be set with
appropriate values for that. So this information is not anymore
inherently included into the encoded frames. Framesize is now 0x700
bytes, they load however nearly like 0xa00 bytes.
Kindest regards,
Toby
--
style)KURVE - Fotografie mit Biss.
www.style-kurve.de - info at style-kurve.de
Tobias Bindhammer, Uhlandstrasse 8, 89278 Stra?
01577/1751761
More information about the ffmpeg-devel
mailing list