ITEMIZED DELIVERABLES WITH COST AND TIME TO DELIVERY
Most likely, I am not the most competent person to execute Step 6) and
Step 7). I am also quite certain that I am not the only person who
could do Step 1) and Step 2). If somebody else gets these done, I'll
do my best to ensure that they get the loot.
Step 1)
Add more mipmap levels to LoHalo (to be renamed NoHalo) and tweak
their use to make resampling more accurate for very large downsampling
ratios, and make the computation faster for moderate ratios. This
machinery will be reused with the new samplers. Lohalo currently uses
two mipmap (a.k.a. pyramid) levels:
http://git.gnome.org/browse/gegl/tre...mpler-lohalo.c
At least three, and ideally four, mipmap levels are needed to produce
good thumbnails from large images.
Cost: 900USD. Approximate time to delivery (once started): two weeks.
Step 2)
Modify GEGL's geometrical transformation code so that resampling is
done, as much as possible, from top to bottom and left to right, in
order to better use GEGL's buffering system and speed up computation.
Cost: 150USD. Time to delivery: a few days.
Step 3)
Program the new GEGL LoHalo and link it to GIMP.
Cost: 550USD. Time to delivery: one and a half weeks.
Step 4)
Program the new GEGL LoJaggy and link it to GIMP.
Cost: 900USD. Time to delivery: three and a half weeks (to give the
needed formula computations time to run).
Step 5)
Program the new GEGL LoBlur and link it to GIMP.
Cost: 900USD. Time to delivery: three and a half weeks.
Step 6)
Enhance GIMP and GEGL so that the Image Scale and Layer Scale
operations use the “CLAMP” (nearest neighbour) abyss policy and the
tools that use samplers use the “NONE” (fade to transparency) abyss
policy. This will remove the border artifacts from the former
operations without introducing “radiating extensions” to the latter.
Cost: 650USD. Time to delivery: two weeks.
Step 7)
Fix the RaGaBaA (alpha-multiplied light) sampler data buffering system
so that the GIMP hack which consists of allocating a buffer storing it
is not needed any more, making computation both faster and less
resource hungry.
Cost: 1000USD. Time to delivery: three weeks.
Step 8)
It has been pointed out by other GEGL developers that I should
document the performance improvements with benchmarks. I don't want to
spend too much time on this (“I sponsored additional functionality and
all I got is this lousy benchmark.”) so I'll keep this simple, but I'm
adding it to the total. (Will split the loot if I get help on this.)
Cost: 300USD. Time to delivery: Two weeks.
Grand total: 5350USD.
Total time: Assuming the money keeps flowing, four months
after I get started, since the individual times to delivery are fairly
conservative and long numerical computations can run while I program
something else.
Bookmarks