Flash Player 10.1 and global error handling

Well, it seems that the upcoming flashplayer 10.1 (first half of 2010?) has been completely designed to fill the gap that the current flashplayer has with the smartphones world (multitouch, accelerometer, screen orientation, sleep mode, out-of-memory management, etc..).

There will be a lot of new useful features, if you look at the release note pdf: http://labs.adobe.com/technologies/flashplayer10/releasenotes.pdf
But the most important feature, for me (as I asked a little time ago), is indeed the global error handling!
Unfortunately the global error handling feature hasn’t been already implemented in the current prerelease public version. I hope they will enable this feature soon, I really miss this option!

Adobe Image Foundation

Everyone already knows about the new Flash player 10 (Astro) features that adobe presented at MAX, and above all the new image processing language (Hydra) that it will support in the future.

Today I finally found a couple of hours to play with AIF, even if no more because of my limitations knowledge of image processing algorithms 🙂
In fact I was able to broke different times my video card driver (with a panic black screen)!

Anyway after all I did just a couple of experiments trying to convert a couple of scripts I already did using the old flash 9 bitmapdata filters..

kernel Snn
parameter float size
< minValue: 0.0; maxValue: 8.0; defaultValue: 2.0; >;
parameter int step
< minValue: 1; maxValue: 10; defaultValue: 1; >;
void evaluatePixel(in image4 src, out pixel4 result)
pixel2 coord = outCoord();
pixel4 valueC = sampleLinear(src, coord);
float theStep = float(step);
float2 point = float2(0.0,0.0);
float x = 0.0;
float y = 0.0;
float count = 0.0;
pixel4 sum = pixel4(0.0, 0.0, 0.0, 0.0);
pixel4 valueA;
pixel4 valueB;
for( x = - size; x < size; x+= theStep)
for(y = -size; y < size; y+= theStep)
valueA = sampleLinear(src, pixel2(coord.x + x, coord.y + y));
valueB = sampleLinear(src, pixel2(coord.x - x, coord.y - y));
if ( any(lessThan(abs(valueC - valueA), abs(valueC - valueB))))
sum = sum + valueA;
} else {
sum = sum + valueB;
count = count + 1.0;
result = sum/count;

kernel Websafe
parameter float value
< minValue: 0.0; maxValue: 500.0; defaultValue: 10.0; >;
void evaluatePixel( in image4 src, out pixel4 result)
result = sampleLinear(src, outCoord());
result = (floor((result*255.0)/51.0) * 51.0)/255.0;

As you can see it’s nothing new, they’re just my first steps in this new language.. don’t spend much time on these example, look at the coolest examples shown in the Hydra gallery instead!