SlideShare a Scribd company logo
2007 Adobe Systems Incorporated. All Rights Reserved.
1
Kevin Goldsmith
Engineering Manager - AIF
Adobe Systems Inc.
Bob Archer
Senior Computer Scientist - AIF
Adobe Systems Inc.
Saikat Kanjilal
Computer Scientist - Emerging Solutions
Adobe Systems Inc.
MAX 2007
CONNECT. DISCOVER. INSPIRE.
2007 Adobe Systems Incorporated. All Rights Reserved.
2
Kevin
2007 Adobe Systems Incorporated. All Rights Reserved.
3
Kevin
2007 Adobe Systems Incorporated. All Rights Reserved.
4
Kevin
(Chicago Born and Raised)
2007 Adobe Systems Incorporated. All Rights Reserved.
5
Bob
2007 Adobe Systems Incorporated. All Rights Reserved.
6
Bob
2007 Adobe Systems Incorporated. All Rights Reserved.
7
Bob
(trust him, he’s British)
2007 Adobe Systems Incorporated. All Rights Reserved.
8
Saikat
2007 Adobe Systems Incorporated. All Rights Reserved.
9
Saikat
2007 Adobe Systems Incorporated. All Rights Reserved.
10
Saikat
(insert something witty here about Eastern Washington)
2007 Adobe Systems Incorporated. All Rights Reserved.
11
2007 Adobe Systems Incorporated. All Rights Reserved.
12
2007 Adobe Systems Incorporated. All Rights Reserved.
13
2007 Adobe Systems Incorporated. All Rights Reserved.
14
2007 Adobe Systems Incorporated. All Rights Reserved.
15
2007 Adobe Systems Incorporated. All Rights Reserved.
16
This Talk
2007 Adobe Systems Incorporated. All Rights Reserved.
17
This Talk
Adobe Image Foundation Toolkit
Technology Preview
2007 Adobe Systems Incorporated. All Rights Reserved.
18
This Talk
AIF Toolkit
2007 Adobe Systems Incorporated. All Rights Reserved.
19
This Talk
AIF Toolkit
Available on Adobe Labs RIGHT NOW
http://labs.adobe.com/wiki/index.php/AIF_Toolkit
2007 Adobe Systems Incorporated. All Rights Reserved.
20
This Talk
(Codename) Hydra Language
2007 Adobe Systems Incorporated. All Rights Reserved.
21
This Talk
(Codename) Hydra Language
(Adobe Legal makes us say Codename)
2007 Adobe Systems Incorporated. All Rights Reserved.
22
This Talk
(Codename) Hydra Language
(Adobe Legal makes us say Codename)
We’ll have a name just as cool soon
2007 Adobe Systems Incorporated. All Rights Reserved.
23
This Talk
AIF
AIF
2007 Adobe Systems Incorporated. All Rights Reserved.
24
This Talk
Ability for Flash Authors to create Filters a highly requested feature
2007 Adobe Systems Incorporated. All Rights Reserved.
25
This Talk
Ability for Flash Authors to create Filters a highly requested feature
Iterating on pixels in the bitmap object is slow and difficult
2007 Adobe Systems Incorporated. All Rights Reserved.
26
This Talk
Ability for Flash Authors to create Filters a highly requested feature
Iterating on pixels in the bitmap object is slow and difficult
Hydra for Flash can make doing animated filters easier with high performance
2007 Adobe Systems Incorporated. All Rights Reserved.
27
This Talk
Ability for Flash Authors to create Filters a highly requested feature
Iterating on pixels in the bitmap object is slow and difficult
Hydra for Flash can make doing animated filters easier with high performance
For certain classes of filters
2007 Adobe Systems Incorporated. All Rights Reserved.
28
Flash Bitmap API vs Hydra
2007 Adobe Systems Incorporated. All Rights Reserved.
29
Flash Bitmap API vs Hydra
// loop through the pixels:
for (var x:Number = xMin; x < xMax; x++) {
for (var y:Number = yMin; y < yMax; y++) {
// get the pixel's RGB value:
var rgba:Number = bmp.getPixel32(x,y);
// isolate channels:
var red:Number = (rgba & 0xFF000000) >>
24;
var green:Number = (rgba & 0x00FF0000)
>> 16;
var blue:Number = (rgba & 0x0000FF00) >>
8;
var alpha:Number = (rgba & 0x000000FF);
red = red * .5;
green = green * .8;
var output:Number = (red << 24) | (blue <<
16) | (green << 8) | alpha;
outbmp.setPixel32(x,y,output);
}
}
kernel NewFilter
{
void evaluatePixel(in image4 src, out pixel4
dst)
{
pixel4 temp =
sampleNearest(src,outCoord());
dst = pixel4( temp.r * .5, temp.b, temp.g *
.8, temp.a );
}
}
2007 Adobe Systems Incorporated. All Rights Reserved.
30
This Talk
An Introduction to the Hydra Language and the AIF Toolkit
A Sneak Peak of the AIF Server
2007 Adobe Systems Incorporated. All Rights Reserved.
31
ƒ Introduction
ƒ Demonstration – some sample filters
ƒ Code walkthrough – identity filter
ƒ Hydra programming model
ƒ Code walkthrough – polka dot filter
ƒ Hydra in detail
ƒ Hydra for Flash
ƒ Efficiency tips
ƒ Demonstration – AIF toolkit
ƒ Bibliography
ƒ Summary
ƒ AIF server
Demonstration – some sample filters
2007 Adobe Systems Incorporated. All Rights Reserved.
32
ƒ Introduction
ƒ Demonstration – some sample filters
ƒ Code walkthrough – identity filter
ƒ Hydra programming model
ƒ Code walkthrough – polka dot filter
ƒ Hydra in detail
ƒ Hydra for Flash
ƒ Efficiency tips
ƒ Demonstration – AIF toolkit
ƒ Bibliography
ƒ Summary
ƒ AIF server
Code walkthrough – identity filter
2007 Adobe Systems Incorporated. All Rights Reserved.
33
kernel Identity
{
void evaluatePixel( in image4 src, out pixel4 dest )
{
dest = sampleNearest( src, outCoord() );
}
}
Code walkthrough – identity filter
2007 Adobe Systems Incorporated. All Rights Reserved.
34
kernel Identity
{
void evaluatePixel( in image4 src, out pixel4 dest )
{
dest = sampleNearest( src, outCoord() );
}
}
Code walkthrough – identity filter
2007 Adobe Systems Incorporated. All Rights Reserved.
35
kernel Identity
{
void evaluatePixel( in image4 src, out pixel4 dest )
{
dest = sampleNearest( src, outCoord() );
}
}
Code walkthrough – identity filter
2007 Adobe Systems Incorporated. All Rights Reserved.
36
kernel Identity
{
void evaluatePixel( in image4 src, out pixel4 dest )
{
dest = sampleNearest( src, outCoord() );
}
}
Code walkthrough – identity filter
2007 Adobe Systems Incorporated. All Rights Reserved.
37
kernel Identity
{
void evaluatePixel( in image4 src, out pixel4 dest )
{
dest = sampleNearest( src, outCoord() );
}
}
Code walkthrough – identity filter
2007 Adobe Systems Incorporated. All Rights Reserved.
38
kernel Identity
{
void evaluatePixel( in image4 src, out pixel4 dest )
{
dest = sampleNearest( src, outCoord() );
}
}
Code walkthrough – identity filter
2007 Adobe Systems Incorporated. All Rights Reserved.
39
Digression – what is an image?
2007 Adobe Systems Incorporated. All Rights Reserved.
40
Digression – what is an image?
2007 Adobe Systems Incorporated. All Rights Reserved.
41
Digression – what is an image?
2007 Adobe Systems Incorporated. All Rights Reserved.
42
Digression – what is an image?
2007 Adobe Systems Incorporated. All Rights Reserved.
43
Digression – what is an image?
2007 Adobe Systems Incorporated. All Rights Reserved.
44
Digression – what is an image?
2007 Adobe Systems Incorporated. All Rights Reserved.
45
Digression – what is an image?
2007 Adobe Systems Incorporated. All Rights Reserved.
46
Digression – what is an image?
2007 Adobe Systems Incorporated. All Rights Reserved.
47
Digression – what is an image?
2007 Adobe Systems Incorporated. All Rights Reserved.
48
kernel Identity
{
void evaluatePixel( in image4 src, out pixel4 dest )
{
dest = sampleNearest( src, outCoord() );
}
}
Code walkthrough – identity filter
2007 Adobe Systems Incorporated. All Rights Reserved.
49
kernel Identity
{
void evaluatePixel( in image4 src, out pixel4 dest )
{
dest = sampleNearest( src, outCoord() );
}
}
Code walkthrough – identity filter
2007 Adobe Systems Incorporated. All Rights Reserved.
50
kernel Identity
{
void evaluatePixel( in image4 src, out pixel4 dest )
{
dest = sampleNearest( src, outCoord() );
}
}
Code walkthrough – identity filter
2007 Adobe Systems Incorporated. All Rights Reserved.
51
kernel Identity
{
void evaluatePixel( in image4 src, out pixel4 dest )
{
dest = sampleNearest( src, outCoord() );
}
}
Code walkthrough – identity filter
2007 Adobe Systems Incorporated. All Rights Reserved.
52
ƒ Introduction
ƒ Demonstration – some sample filters
ƒ Code walkthrough – identity filter
ƒ Hydra programming model
ƒ Code walkthrough – polka dot filter
ƒ Hydra in detail
ƒ Hydra for Flash
ƒ Efficiency tips
ƒ Demonstration – AIF toolkit
ƒ Bibliography
ƒ Summary
ƒ AIF server
Hydra programming model
2007 Adobe Systems Incorporated. All Rights Reserved.
53
Write a function that produces a single
output pixel
Hydra programming model
2007 Adobe Systems Incorporated. All Rights Reserved.
54
Hydra programming model
2007 Adobe Systems Incorporated. All Rights Reserved.
55
Hydra programming model
2007 Adobe Systems Incorporated. All Rights Reserved.
56
Hydra programming model
2007 Adobe Systems Incorporated. All Rights Reserved.
57
Hydra programming model
2007 Adobe Systems Incorporated. All Rights Reserved.
58
ƒ Introduction
ƒ Demonstration – some sample filters
ƒ Code walkthrough – identity filter
ƒ Hydra programming model
ƒ Code walkthrough – polka dot filter
ƒ Hydra in detail
ƒ Hydra for Flash
ƒ Efficiency tips
ƒ Demonstration – AIF toolkit
ƒ Bibliography
ƒ Summary
ƒ AIF server
Code walkthrough – polka dot filter
2007 Adobe Systems Incorporated. All Rights Reserved.
59
Code walkthrough – polka dot filter
2007 Adobe Systems Incorporated. All Rights Reserved.
60
Code walkthrough – polka dot filter
2007 Adobe Systems Incorporated. All Rights Reserved.
61
Code walkthrough – polka dot filter
2007 Adobe Systems Incorporated. All Rights Reserved.
62
Code walkthrough – polka dot filter
2007 Adobe Systems Incorporated. All Rights Reserved.
63
Code walkthrough – polka dot filter
2007 Adobe Systems Incorporated. All Rights Reserved.
64
Code walkthrough – polka dot filter
2007 Adobe Systems Incorporated. All Rights Reserved.
65
Code walkthrough – polka dot filter
2007 Adobe Systems Incorporated. All Rights Reserved.
66
Code walkthrough – polka dot filter
2007 Adobe Systems Incorporated. All Rights Reserved.
67
Code walkthrough – polka dot filter
2007 Adobe Systems Incorporated. All Rights Reserved.
68
Code walkthrough – polka dot filter
2007 Adobe Systems Incorporated. All Rights Reserved.
69
Code walkthrough – polka dot filter
2007 Adobe Systems Incorporated. All Rights Reserved.
70
kernel PinkPolkaDots
{
parameter float radius;
parameter float spacing;
const pixel4 pink = pixel4( 1.0, 0.75 ,0.8, 1.0 );
void evaluatePixel( in image4 src, out pixel4 dest )
{
float2 center = floor(outCoord() / spacing)*spacing + (spacing / 2.0);
float dist = distance( center, outCoord() );
pixel4 originalColor = sampleNearest( src, outCoord() );
dest = dist < radius ? pink : originalColor;
}
}
Code walkthrough – polka dot filter
2007 Adobe Systems Incorporated. All Rights Reserved.
71
kernel PinkPolkaDots
{
parameter float radius;
parameter float spacing;
const pixel4 pink = pixel4( 1.0, 0.75 ,0.8, 1.0 );
void evaluatePixel( in image4 src, out pixel4 dest )
{
float2 center = floor(outCoord() / spacing)*spacing + (spacing / 2.0);
float dist = distance( center, outCoord() );
pixel4 originalColor = sampleNearest( src, outCoord() );
dest = dist < radius ? pink : originalColor;
}
}
Code walkthrough – polka dot filter
2007 Adobe Systems Incorporated. All Rights Reserved.
72
kernel PinkPolkaDots
{
parameter float radius;
parameter float spacing;
const pixel4 pink = pixel4( 1.0, 0.75 ,0.8, 1.0 );
void evaluatePixel( in image4 src, out pixel4 dest )
{
float2 center = floor(outCoord() / spacing)*spacing + (spacing / 2.0);
float dist = distance( center, outCoord() );
pixel4 originalColor = sampleNearest( src, outCoord() );
dest = dist < radius ? pink : originalColor;
}
}
Code walkthrough – polka dot filter
2007 Adobe Systems Incorporated. All Rights Reserved.
73
kernel PinkPolkaDots
{
parameter float radius;
parameter float spacing;
const pixel4 pink = pixel4( 1.0, 0.75 ,0.8, 1.0 );
void evaluatePixel( in image4 src, out pixel4 dest )
{
float2 center = floor(outCoord() / spacing)*spacing + (spacing / 2.0);
float dist = distance( center, outCoord() );
pixel4 originalColor = sampleNearest( src, outCoord() );
dest = dist < radius ? pink : originalColor;
}
}
Code walkthrough – polka dot filter
2007 Adobe Systems Incorporated. All Rights Reserved.
74
ƒ Introduction
ƒ Demonstration – some sample filters
ƒ Code walkthrough – identity filter
ƒ Hydra programming model
ƒ Code walkthrough – polka dot filter
ƒ Hydra in detail
ƒ Hydra for Flash
ƒ Efficiency tips
ƒ Demonstration – AIF toolkit
ƒ Bibliography
ƒ Summary
ƒ AIF server
Hydra in detail
2007 Adobe Systems Incorporated. All Rights Reserved.
75
kernel PinkPolkaDots
{
parameter float radius;
parameter float spacing;
const pixel4 pink = pixel4( 1.0, 0.75 ,0.8, 1.0 );
void evaluatePixel( in image4 src, out pixel4 dest )
{
float2 center = floor(outCoord() / spacing)*spacing + (spacing / 2.0);
float dist = distance( center, outCoord() );
pixel4 originalColor = sampleNearest( src, outCoord() );
dest = dist < radius ? pink : originalColor;
}
}
Hydra in detail – Syntax and Semantics
2007 Adobe Systems Incorporated. All Rights Reserved.
76
kernel PinkPolkaDots
{
parameter float radius;
parameter float spacing;
const pixel4 pink = pixel4( 1.0, 0.75 ,0.8, 1.0 );
void evaluatePixel( in image4 src, out pixel4 dest )
{
float2 center = floor(outCoord() / spacing)*spacing + (spacing / 2.0);
float dist = distance( center, outCoord() );
pixel4 originalColor = sampleNearest( src, outCoord() );
dest = dist < radius ? pink : originalColor;
}
}
Hydra in detail – Syntax and Semantics
2007 Adobe Systems Incorporated. All Rights Reserved.
77
kernel PinkPolkaDots
{
parameter float radius;
parameter float spacing;
const pixel4 pink = pixel4( 1.0, 0.75 ,0.8, 1.0 );
void evaluatePixel( in image4 src, out pixel4 dest )
{
float2 center = floor(outCoord() / spacing)*spacing + (spacing / 2.0);
float dist = distance( center, outCoord() );
pixel4 originalColor = sampleNearest( src, outCoord() );
dest = dist < radius ? pink : originalColor;
}
}
Hydra in detail – Syntax and Semantics
2007 Adobe Systems Incorporated. All Rights Reserved.
78
float
int
bool
pixel1
int2 float2 bool2 pixel2
int3 float3 bool3 pixel3
int4 float4 bool4 pixel4
float2x2
float3x3
float4x4
Hydra in detail – Types
2007 Adobe Systems Incorporated. All Rights Reserved.
79
float
int
bool
pixel1
int2 float2 bool2 pixel2
int3 float3 bool3 pixel3
int4 float4 bool4 pixel4
float2x2
float3x3
float4x4
Hydra in detail – Types
2007 Adobe Systems Incorporated. All Rights Reserved.
80
float
int
bool
pixel1
int2 float2 bool2 pixel2
int3 float3 bool3 pixel3
int4 float4 bool4 pixel4
float2x2
float3x3
float4x4
Hydra in detail – Types
2007 Adobe Systems Incorporated. All Rights Reserved.
81
kernel Twirl
{
parameter float radius;
parameter float2 center;
parameter float twirlAngle;
void evaluatePixel( in image4 src, out float4 dest )
{
float2 relativePos = outCoord() - center;
float distFromCenter = length( relativePos ) / radius;
float cosAngle = cos(twirlAngle);
float sinAngle = sin(twirlAngle);
float2x2 rotationMat = float2x2(
cosAngle, sinAngle,
-sinAngle, cosAngle );
relativePos = rotationMat * relativePos;
dest = sampleLinear( src, relativePos + center );
}
}
Hydra in detail – Operators
2007 Adobe Systems Incorporated. All Rights Reserved.
82
kernel Twirl
{
parameter float radius;
parameter float2 center;
parameter float twirlAngle;
void evaluatePixel( in image4 src, out float4 dest )
{
float2 relativePos = outCoord() - center;
float distFromCenter = length( relativePos ) / radius;
float cosAngle = cos(twirlAngle);
float sinAngle = sin(twirlAngle);
float2x2 rotationMat = float2x2(
cosAngle, sinAngle,
-sinAngle, cosAngle );
relativePos = rotationMat * relativePos;
dest = sampleLinear( src, relativePos + center );
}
}
Hydra in detail – Operators
2007 Adobe Systems Incorporated. All Rights Reserved.
83
kernel Twirl
{
parameter float radius;
parameter float2 center;
parameter float twirlAngle;
void evaluatePixel( in image4 src, out float4 dest )
{
float2 relativePos = outCoord() - center;
float distFromCenter = length( relativePos ) / radius;
float cosAngle = cos(twirlAngle);
float sinAngle = sin(twirlAngle);
float2x2 rotationMat = float2x2(
cosAngle, sinAngle,
-sinAngle, cosAngle );
relativePos = rotationMat * relativePos;
dest = sampleLinear( src, relativePos + center );
}
}
Hydra in detail – Operators
2007 Adobe Systems Incorporated. All Rights Reserved.
84
Hydra in detail – Functions
sin
cos
tan
asin
acos
atan
atan
radians
degrees
pow
exp
exp2
log
log2
sqrt
abs
sign
floor
ceil
fract
mod
min
max
step
clamp
mix
smoothStep
matrixCompMult
inverseSqrt
length
distance
dot
cross
any
all
not
nowhere
everywhere
transform
union
intersect
outset
inset
bounds
isEmpty
sample
sampleLinear
sampleNearest
lessThan
lessThanEqual
greaterThan
greaterThanEqual
equal
notEqual
2007 Adobe Systems Incorporated. All Rights Reserved.
85
Hydra in detail – Functions
sin
cos
tan
asin
acos
atan
atan
radians
degrees
pow
exp
exp2
log
log2
sqrt
abs
sign
floor
ceil
fract
mod
min
max
step
clamp
mix
smoothStep
matrixCompMult
inverseSqrt
length
distance
dot
cross
any
all
not
nowhere
everywhere
transform
union
intersect
outset
inset
bounds
isEmpty
sample
sampleLinear
sampleNearest
lessThan
lessThanEqual
greaterThan
greaterThanEqual
equal
notEqual
2007 Adobe Systems Incorporated. All Rights Reserved.
86
Hydra in detail – Functions
sin
cos
tan
asin
acos
atan
atan
radians
degrees
pow
exp
exp2
log
log2
sqrt
abs
sign
floor
ceil
fract
mod
min
max
step
clamp
mix
smoothStep
matrixCompMult
inverseSqrt
length
distance
dot
cross
any
all
not
nowhere
everywhere
transform
union
intersect
outset
inset
bounds
isEmpty
sample
sampleLinear
sampleNearest
lessThan
lessThanEqual
greaterThan
greaterThanEqual
equal
notEqual
2007 Adobe Systems Incorporated. All Rights Reserved.
87
Hydra in detail – Functions
sin
cos
tan
asin
acos
atan
atan
radians
degrees
pow
exp
exp2
log
log2
sqrt
abs
sign
floor
ceil
fract
mod
min
max
step
clamp
mix
smoothStep
matrixCompMult
inverseSqrt
length
distance
dot
cross
any
all
not
nowhere
everywhere
transform
union
intersect
outset
inset
bounds
isEmpty
sample
sampleLinear
sampleNearest
lessThan
lessThanEqual
greaterThan
greaterThanEqual
equal
notEqual
2007 Adobe Systems Incorporated. All Rights Reserved.
88
ƒ Introduction
ƒ Demonstration – some sample filters
ƒ Code walkthrough – identity filter
ƒ Hydra programming model
ƒ Code walkthrough – polka dot filter
ƒ Hydra in detail
ƒ Hydra for Flash
ƒ Efficiency tips
ƒ Demonstration – AIF toolkit
ƒ Bibliography
ƒ Summary
ƒ AIF server
Hydra for Flash
2007 Adobe Systems Incorporated. All Rights Reserved.
89
Hydra for Flash
2007 Adobe Systems Incorporated. All Rights Reserved.
90
ƒ Introduction
ƒ Demonstration – some sample filters
ƒ Code walkthrough – identity filter
ƒ Hydra programming model
ƒ Code walkthrough – polka dot filter
ƒ Hydra in detail
ƒ Hydra for Flash
ƒ Efficiency tips
ƒ Demonstration – AIF toolkit
ƒ Bibliography
ƒ Summary
ƒ AIF server
Efficiency tips
2007 Adobe Systems Incorporated. All Rights Reserved.
91
Write a function that produces a single
output pixel
Efficiency tips
2007 Adobe Systems Incorporated. All Rights Reserved.
92
Efficiency tips
2007 Adobe Systems Incorporated. All Rights Reserved.
93
Efficiency tips
2007 Adobe Systems Incorporated. All Rights Reserved.
94
Efficiency tips
2007 Adobe Systems Incorporated. All Rights Reserved.
95
Efficiency tips
2007 Adobe Systems Incorporated. All Rights Reserved.
96
ƒ Introduction
ƒ Demonstration – some sample filters
ƒ Code walkthrough – identity filter
ƒ Hydra programming model
ƒ Code walkthrough – polka dot filter
ƒ Hydra in detail
ƒ Hydra for Flash
ƒ Efficiency tips
ƒ Demonstration – AIF toolkit
ƒ Bibliography
ƒ Summary
ƒ AIF server
Demonstration – AIF toolkit
2007 Adobe Systems Incorporated. All Rights Reserved.
97
Writing a kernel in the AIF Toolkit
2007 Adobe Systems Incorporated. All Rights Reserved.
98
ƒ Andrew S. Glassner – Principles of Digital Image Synthesis
ƒ Randi Rost – OpenGL® Shading Language
ƒ George Wolberg - Digital Image Warping
ƒ Randima Fernando – GPU Gems
ƒ Matt Pharr & Randima Fernando – GPU Gems 2
ƒ Hurbert Nguyen – GPU Gems 3
ƒ Shader examples: http://shady.goyman.com/
Bibliography
2007 Adobe Systems Incorporated. All Rights Reserved.
99
ƒ Hydra language
ƒ AIF Toolkit
ƒ http://labs.adobe.com/wiki/index.php/AIF_Toolkit
Summary
2007 Adobe Systems Incorporated. All Rights Reserved.
10
0
ƒ Introduction
ƒ Demonstration – some sample filters
ƒ Code walkthrough – identity filter
ƒ Hydra programming model
ƒ Code walkthrough – polka dot filter
ƒ Hydra in detail
ƒ Hydra for Flash
ƒ Efficiency tips
ƒ Demonstration – AIF toolkit
ƒ Bibliography
ƒ Summary
ƒ AIF server
AIF server

More Related Content

Similar to Image and Video Processing Using Adobe Image Foundation's Toolkit For Flash - MAX 2007

Introduction to Telerik OpenAccess ORM
Introduction to Telerik OpenAccess ORMIntroduction to Telerik OpenAccess ORM
Introduction to Telerik OpenAccess ORM
peterbahaa
 
REST Development made Easy with ColdFusion Aether
REST Development made Easy with ColdFusion AetherREST Development made Easy with ColdFusion Aether
REST Development made Easy with ColdFusion Aether
Pavan Kumar
 
Open Architecture in the Adobe Marketing Cloud - Summit 2014
Open Architecture in the Adobe Marketing Cloud - Summit 2014Open Architecture in the Adobe Marketing Cloud - Summit 2014
Open Architecture in the Adobe Marketing Cloud - Summit 2014
Paolo Mottadelli
 
(Costless) Software Abstractions for Parallel Architectures
(Costless) Software Abstractions for Parallel Architectures(Costless) Software Abstractions for Parallel Architectures
(Costless) Software Abstractions for Parallel Architectures
Joel Falcou
 
What's new in android 2018 (dev fest)
What's new in android 2018 (dev fest)What's new in android 2018 (dev fest)
What's new in android 2018 (dev fest)
Shady Selim
 
BeJUG Meetup - What's coming in the OSGi R7 Specification
BeJUG Meetup - What's coming in the OSGi R7 SpecificationBeJUG Meetup - What's coming in the OSGi R7 Specification
BeJUG Meetup - What's coming in the OSGi R7 Specification
Stijn Van Den Enden
 
Development workflow
Development workflowDevelopment workflow
Development workflowSigsiu.NET
 
S903 palla
S903 pallaS903 palla
S903 palla
Andrew Khoury
 
Seattle Cassandra Users: An OSS Java Abstraction Layer for Cassandra
Seattle Cassandra Users: An OSS Java Abstraction Layer for CassandraSeattle Cassandra Users: An OSS Java Abstraction Layer for Cassandra
Seattle Cassandra Users: An OSS Java Abstraction Layer for Cassandra
Josh Turner
 
PHP Toolkit from Zend and IBM: Open Source on IBM i
PHP Toolkit from Zend and IBM: Open Source on IBM iPHP Toolkit from Zend and IBM: Open Source on IBM i
PHP Toolkit from Zend and IBM: Open Source on IBM i
Alan Seiden
 
Practical Patterns for Developing a Cross-product Cross-version App
Practical Patterns for Developing a Cross-product Cross-version AppPractical Patterns for Developing a Cross-product Cross-version App
Practical Patterns for Developing a Cross-product Cross-version App
Atlassian
 
Getting Started with Redis
Getting Started with RedisGetting Started with Redis
Getting Started with Redis
Faisal Akber
 
Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!
Bram Adams
 
Leveraging the Latest OSGi R7 Specifications - C Ziegeler & D Bosschaert
Leveraging the Latest OSGi R7 Specifications - C Ziegeler & D BosschaertLeveraging the Latest OSGi R7 Specifications - C Ziegeler & D Bosschaert
Leveraging the Latest OSGi R7 Specifications - C Ziegeler & D Bosschaert
mfrancis
 
VB2013 - Security Research and Development Framework
VB2013 - Security Research and Development FrameworkVB2013 - Security Research and Development Framework
VB2013 - Security Research and Development Framework
Amr Thabet
 
Elastic @ Adobe: Making Search Smarter with Machine Learning at Scale
Elastic @ Adobe: Making Search Smarter with Machine Learning at ScaleElastic @ Adobe: Making Search Smarter with Machine Learning at Scale
Elastic @ Adobe: Making Search Smarter with Machine Learning at Scale
Elasticsearch
 
ColdFusion 11 Overview - CFSummit 2013
ColdFusion 11 Overview - CFSummit 2013ColdFusion 11 Overview - CFSummit 2013
ColdFusion 11 Overview - CFSummit 2013
Rupesh Kumar
 
Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOps
Brice Fernandes
 
Software Define your Current Storage with Opensource
Software Define your Current Storage with OpensourceSoftware Define your Current Storage with Opensource
Software Define your Current Storage with Opensource
Antonio Romeo
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
mfrancis
 

Similar to Image and Video Processing Using Adobe Image Foundation's Toolkit For Flash - MAX 2007 (20)

Introduction to Telerik OpenAccess ORM
Introduction to Telerik OpenAccess ORMIntroduction to Telerik OpenAccess ORM
Introduction to Telerik OpenAccess ORM
 
REST Development made Easy with ColdFusion Aether
REST Development made Easy with ColdFusion AetherREST Development made Easy with ColdFusion Aether
REST Development made Easy with ColdFusion Aether
 
Open Architecture in the Adobe Marketing Cloud - Summit 2014
Open Architecture in the Adobe Marketing Cloud - Summit 2014Open Architecture in the Adobe Marketing Cloud - Summit 2014
Open Architecture in the Adobe Marketing Cloud - Summit 2014
 
(Costless) Software Abstractions for Parallel Architectures
(Costless) Software Abstractions for Parallel Architectures(Costless) Software Abstractions for Parallel Architectures
(Costless) Software Abstractions for Parallel Architectures
 
What's new in android 2018 (dev fest)
What's new in android 2018 (dev fest)What's new in android 2018 (dev fest)
What's new in android 2018 (dev fest)
 
BeJUG Meetup - What's coming in the OSGi R7 Specification
BeJUG Meetup - What's coming in the OSGi R7 SpecificationBeJUG Meetup - What's coming in the OSGi R7 Specification
BeJUG Meetup - What's coming in the OSGi R7 Specification
 
Development workflow
Development workflowDevelopment workflow
Development workflow
 
S903 palla
S903 pallaS903 palla
S903 palla
 
Seattle Cassandra Users: An OSS Java Abstraction Layer for Cassandra
Seattle Cassandra Users: An OSS Java Abstraction Layer for CassandraSeattle Cassandra Users: An OSS Java Abstraction Layer for Cassandra
Seattle Cassandra Users: An OSS Java Abstraction Layer for Cassandra
 
PHP Toolkit from Zend and IBM: Open Source on IBM i
PHP Toolkit from Zend and IBM: Open Source on IBM iPHP Toolkit from Zend and IBM: Open Source on IBM i
PHP Toolkit from Zend and IBM: Open Source on IBM i
 
Practical Patterns for Developing a Cross-product Cross-version App
Practical Patterns for Developing a Cross-product Cross-version AppPractical Patterns for Developing a Cross-product Cross-version App
Practical Patterns for Developing a Cross-product Cross-version App
 
Getting Started with Redis
Getting Started with RedisGetting Started with Redis
Getting Started with Redis
 
Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!
 
Leveraging the Latest OSGi R7 Specifications - C Ziegeler & D Bosschaert
Leveraging the Latest OSGi R7 Specifications - C Ziegeler & D BosschaertLeveraging the Latest OSGi R7 Specifications - C Ziegeler & D Bosschaert
Leveraging the Latest OSGi R7 Specifications - C Ziegeler & D Bosschaert
 
VB2013 - Security Research and Development Framework
VB2013 - Security Research and Development FrameworkVB2013 - Security Research and Development Framework
VB2013 - Security Research and Development Framework
 
Elastic @ Adobe: Making Search Smarter with Machine Learning at Scale
Elastic @ Adobe: Making Search Smarter with Machine Learning at ScaleElastic @ Adobe: Making Search Smarter with Machine Learning at Scale
Elastic @ Adobe: Making Search Smarter with Machine Learning at Scale
 
ColdFusion 11 Overview - CFSummit 2013
ColdFusion 11 Overview - CFSummit 2013ColdFusion 11 Overview - CFSummit 2013
ColdFusion 11 Overview - CFSummit 2013
 
Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOps
 
Software Define your Current Storage with Opensource
Software Define your Current Storage with OpensourceSoftware Define your Current Storage with Opensource
Software Define your Current Storage with Opensource
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
 

More from Kevin Goldsmith

It's teams all the way down - Design patterns for technology organizations
It's teams all the way down - Design patterns for technology organizationsIt's teams all the way down - Design patterns for technology organizations
It's teams all the way down - Design patterns for technology organizations
Kevin Goldsmith
 
What Vulnerabilities? How and why to secure your ML/AI Solutions
What Vulnerabilities? How and why to secure your ML/AI SolutionsWhat Vulnerabilities? How and why to secure your ML/AI Solutions
What Vulnerabilities? How and why to secure your ML/AI Solutions
Kevin Goldsmith
 
Raising the subject of raises
Raising the subject of raisesRaising the subject of raises
Raising the subject of raises
Kevin Goldsmith
 
Managing partly distributed teams
Managing partly distributed teamsManaging partly distributed teams
Managing partly distributed teams
Kevin Goldsmith
 
Steal from the best
Steal from the bestSteal from the best
Steal from the best
Kevin Goldsmith
 
What is Agile?
What is Agile?What is Agile?
What is Agile?
Kevin Goldsmith
 
It Is All About the Benjamins: the Real World Economics of HPC
It Is All About the Benjamins: the Real World Economics of HPCIt Is All About the Benjamins: the Real World Economics of HPC
It Is All About the Benjamins: the Real World Economics of HPC
Kevin Goldsmith
 
Parallelism, the Cloud, and the Tools of the Future for the next generation o...
Parallelism, the Cloud, and the Tools of the Future for the next generation o...Parallelism, the Cloud, and the Tools of the Future for the next generation o...
Parallelism, the Cloud, and the Tools of the Future for the next generation o...
Kevin Goldsmith
 
Innovation and organization
Innovation and organizationInnovation and organization
Innovation and organization
Kevin Goldsmith
 
My CMU alumni journey
My CMU alumni journeyMy CMU alumni journey
My CMU alumni journey
Kevin Goldsmith
 
Building Lean
Building LeanBuilding Lean
Building Lean
Kevin Goldsmith
 
A Software Career (2017)
A Software Career (2017)A Software Career (2017)
A Software Career (2017)
Kevin Goldsmith
 
When why and how to stop coding as your day job
When why and how to stop coding as your day jobWhen why and how to stop coding as your day job
When why and how to stop coding as your day job
Kevin Goldsmith
 
Presenting to executives
Presenting to executivesPresenting to executives
Presenting to executives
Kevin Goldsmith
 
Crafting a Mission and Vision For Your Team
Crafting a Mission and Vision For Your TeamCrafting a Mission and Vision For Your Team
Crafting a Mission and Vision For Your Team
Kevin Goldsmith
 
You Are Doing Autonomy Wrong
You Are Doing Autonomy WrongYou Are Doing Autonomy Wrong
You Are Doing Autonomy Wrong
Kevin Goldsmith
 
Organization, Architecture, Autonomy and Accountability (2020)
Organization, Architecture, Autonomy and Accountability (2020)Organization, Architecture, Autonomy and Accountability (2020)
Organization, Architecture, Autonomy and Accountability (2020)
Kevin Goldsmith
 
Leading Distributed Teams - Stretch Conference 2020
Leading Distributed Teams - Stretch Conference 2020Leading Distributed Teams - Stretch Conference 2020
Leading Distributed Teams - Stretch Conference 2020
Kevin Goldsmith
 
How Does Salary Work - The Lead Developer Berlin 2019 extended remix
How Does Salary Work - The Lead Developer Berlin 2019 extended remixHow Does Salary Work - The Lead Developer Berlin 2019 extended remix
How Does Salary Work - The Lead Developer Berlin 2019 extended remix
Kevin Goldsmith
 
Developing your Developers: Constructing Career Paths for your Technologists ...
Developing your Developers: Constructing Career Paths for your Technologists ...Developing your Developers: Constructing Career Paths for your Technologists ...
Developing your Developers: Constructing Career Paths for your Technologists ...
Kevin Goldsmith
 

More from Kevin Goldsmith (20)

It's teams all the way down - Design patterns for technology organizations
It's teams all the way down - Design patterns for technology organizationsIt's teams all the way down - Design patterns for technology organizations
It's teams all the way down - Design patterns for technology organizations
 
What Vulnerabilities? How and why to secure your ML/AI Solutions
What Vulnerabilities? How and why to secure your ML/AI SolutionsWhat Vulnerabilities? How and why to secure your ML/AI Solutions
What Vulnerabilities? How and why to secure your ML/AI Solutions
 
Raising the subject of raises
Raising the subject of raisesRaising the subject of raises
Raising the subject of raises
 
Managing partly distributed teams
Managing partly distributed teamsManaging partly distributed teams
Managing partly distributed teams
 
Steal from the best
Steal from the bestSteal from the best
Steal from the best
 
What is Agile?
What is Agile?What is Agile?
What is Agile?
 
It Is All About the Benjamins: the Real World Economics of HPC
It Is All About the Benjamins: the Real World Economics of HPCIt Is All About the Benjamins: the Real World Economics of HPC
It Is All About the Benjamins: the Real World Economics of HPC
 
Parallelism, the Cloud, and the Tools of the Future for the next generation o...
Parallelism, the Cloud, and the Tools of the Future for the next generation o...Parallelism, the Cloud, and the Tools of the Future for the next generation o...
Parallelism, the Cloud, and the Tools of the Future for the next generation o...
 
Innovation and organization
Innovation and organizationInnovation and organization
Innovation and organization
 
My CMU alumni journey
My CMU alumni journeyMy CMU alumni journey
My CMU alumni journey
 
Building Lean
Building LeanBuilding Lean
Building Lean
 
A Software Career (2017)
A Software Career (2017)A Software Career (2017)
A Software Career (2017)
 
When why and how to stop coding as your day job
When why and how to stop coding as your day jobWhen why and how to stop coding as your day job
When why and how to stop coding as your day job
 
Presenting to executives
Presenting to executivesPresenting to executives
Presenting to executives
 
Crafting a Mission and Vision For Your Team
Crafting a Mission and Vision For Your TeamCrafting a Mission and Vision For Your Team
Crafting a Mission and Vision For Your Team
 
You Are Doing Autonomy Wrong
You Are Doing Autonomy WrongYou Are Doing Autonomy Wrong
You Are Doing Autonomy Wrong
 
Organization, Architecture, Autonomy and Accountability (2020)
Organization, Architecture, Autonomy and Accountability (2020)Organization, Architecture, Autonomy and Accountability (2020)
Organization, Architecture, Autonomy and Accountability (2020)
 
Leading Distributed Teams - Stretch Conference 2020
Leading Distributed Teams - Stretch Conference 2020Leading Distributed Teams - Stretch Conference 2020
Leading Distributed Teams - Stretch Conference 2020
 
How Does Salary Work - The Lead Developer Berlin 2019 extended remix
How Does Salary Work - The Lead Developer Berlin 2019 extended remixHow Does Salary Work - The Lead Developer Berlin 2019 extended remix
How Does Salary Work - The Lead Developer Berlin 2019 extended remix
 
Developing your Developers: Constructing Career Paths for your Technologists ...
Developing your Developers: Constructing Career Paths for your Technologists ...Developing your Developers: Constructing Career Paths for your Technologists ...
Developing your Developers: Constructing Career Paths for your Technologists ...
 

Recently uploaded

Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi ArabiaTop 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
Yara Milbes
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 

Recently uploaded (20)

Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi ArabiaTop 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 

Image and Video Processing Using Adobe Image Foundation's Toolkit For Flash - MAX 2007

  • 1. 2007 Adobe Systems Incorporated. All Rights Reserved. 1 Kevin Goldsmith Engineering Manager - AIF Adobe Systems Inc. Bob Archer Senior Computer Scientist - AIF Adobe Systems Inc. Saikat Kanjilal Computer Scientist - Emerging Solutions Adobe Systems Inc. MAX 2007 CONNECT. DISCOVER. INSPIRE.
  • 2. 2007 Adobe Systems Incorporated. All Rights Reserved. 2 Kevin
  • 3. 2007 Adobe Systems Incorporated. All Rights Reserved. 3 Kevin
  • 4. 2007 Adobe Systems Incorporated. All Rights Reserved. 4 Kevin (Chicago Born and Raised)
  • 5. 2007 Adobe Systems Incorporated. All Rights Reserved. 5 Bob
  • 6. 2007 Adobe Systems Incorporated. All Rights Reserved. 6 Bob
  • 7. 2007 Adobe Systems Incorporated. All Rights Reserved. 7 Bob (trust him, he’s British)
  • 8. 2007 Adobe Systems Incorporated. All Rights Reserved. 8 Saikat
  • 9. 2007 Adobe Systems Incorporated. All Rights Reserved. 9 Saikat
  • 10. 2007 Adobe Systems Incorporated. All Rights Reserved. 10 Saikat (insert something witty here about Eastern Washington)
  • 11. 2007 Adobe Systems Incorporated. All Rights Reserved. 11
  • 12. 2007 Adobe Systems Incorporated. All Rights Reserved. 12
  • 13. 2007 Adobe Systems Incorporated. All Rights Reserved. 13
  • 14. 2007 Adobe Systems Incorporated. All Rights Reserved. 14
  • 15. 2007 Adobe Systems Incorporated. All Rights Reserved. 15
  • 16. 2007 Adobe Systems Incorporated. All Rights Reserved. 16 This Talk
  • 17. 2007 Adobe Systems Incorporated. All Rights Reserved. 17 This Talk Adobe Image Foundation Toolkit Technology Preview
  • 18. 2007 Adobe Systems Incorporated. All Rights Reserved. 18 This Talk AIF Toolkit
  • 19. 2007 Adobe Systems Incorporated. All Rights Reserved. 19 This Talk AIF Toolkit Available on Adobe Labs RIGHT NOW http://labs.adobe.com/wiki/index.php/AIF_Toolkit
  • 20. 2007 Adobe Systems Incorporated. All Rights Reserved. 20 This Talk (Codename) Hydra Language
  • 21. 2007 Adobe Systems Incorporated. All Rights Reserved. 21 This Talk (Codename) Hydra Language (Adobe Legal makes us say Codename)
  • 22. 2007 Adobe Systems Incorporated. All Rights Reserved. 22 This Talk (Codename) Hydra Language (Adobe Legal makes us say Codename) We’ll have a name just as cool soon
  • 23. 2007 Adobe Systems Incorporated. All Rights Reserved. 23 This Talk AIF AIF
  • 24. 2007 Adobe Systems Incorporated. All Rights Reserved. 24 This Talk Ability for Flash Authors to create Filters a highly requested feature
  • 25. 2007 Adobe Systems Incorporated. All Rights Reserved. 25 This Talk Ability for Flash Authors to create Filters a highly requested feature Iterating on pixels in the bitmap object is slow and difficult
  • 26. 2007 Adobe Systems Incorporated. All Rights Reserved. 26 This Talk Ability for Flash Authors to create Filters a highly requested feature Iterating on pixels in the bitmap object is slow and difficult Hydra for Flash can make doing animated filters easier with high performance
  • 27. 2007 Adobe Systems Incorporated. All Rights Reserved. 27 This Talk Ability for Flash Authors to create Filters a highly requested feature Iterating on pixels in the bitmap object is slow and difficult Hydra for Flash can make doing animated filters easier with high performance For certain classes of filters
  • 28. 2007 Adobe Systems Incorporated. All Rights Reserved. 28 Flash Bitmap API vs Hydra
  • 29. 2007 Adobe Systems Incorporated. All Rights Reserved. 29 Flash Bitmap API vs Hydra // loop through the pixels: for (var x:Number = xMin; x < xMax; x++) { for (var y:Number = yMin; y < yMax; y++) { // get the pixel's RGB value: var rgba:Number = bmp.getPixel32(x,y); // isolate channels: var red:Number = (rgba & 0xFF000000) >> 24; var green:Number = (rgba & 0x00FF0000) >> 16; var blue:Number = (rgba & 0x0000FF00) >> 8; var alpha:Number = (rgba & 0x000000FF); red = red * .5; green = green * .8; var output:Number = (red << 24) | (blue << 16) | (green << 8) | alpha; outbmp.setPixel32(x,y,output); } } kernel NewFilter { void evaluatePixel(in image4 src, out pixel4 dst) { pixel4 temp = sampleNearest(src,outCoord()); dst = pixel4( temp.r * .5, temp.b, temp.g * .8, temp.a ); } }
  • 30. 2007 Adobe Systems Incorporated. All Rights Reserved. 30 This Talk An Introduction to the Hydra Language and the AIF Toolkit A Sneak Peak of the AIF Server
  • 31. 2007 Adobe Systems Incorporated. All Rights Reserved. 31 ƒ Introduction ƒ Demonstration – some sample filters ƒ Code walkthrough – identity filter ƒ Hydra programming model ƒ Code walkthrough – polka dot filter ƒ Hydra in detail ƒ Hydra for Flash ƒ Efficiency tips ƒ Demonstration – AIF toolkit ƒ Bibliography ƒ Summary ƒ AIF server Demonstration – some sample filters
  • 32. 2007 Adobe Systems Incorporated. All Rights Reserved. 32 ƒ Introduction ƒ Demonstration – some sample filters ƒ Code walkthrough – identity filter ƒ Hydra programming model ƒ Code walkthrough – polka dot filter ƒ Hydra in detail ƒ Hydra for Flash ƒ Efficiency tips ƒ Demonstration – AIF toolkit ƒ Bibliography ƒ Summary ƒ AIF server Code walkthrough – identity filter
  • 33. 2007 Adobe Systems Incorporated. All Rights Reserved. 33 kernel Identity { void evaluatePixel( in image4 src, out pixel4 dest ) { dest = sampleNearest( src, outCoord() ); } } Code walkthrough – identity filter
  • 34. 2007 Adobe Systems Incorporated. All Rights Reserved. 34 kernel Identity { void evaluatePixel( in image4 src, out pixel4 dest ) { dest = sampleNearest( src, outCoord() ); } } Code walkthrough – identity filter
  • 35. 2007 Adobe Systems Incorporated. All Rights Reserved. 35 kernel Identity { void evaluatePixel( in image4 src, out pixel4 dest ) { dest = sampleNearest( src, outCoord() ); } } Code walkthrough – identity filter
  • 36. 2007 Adobe Systems Incorporated. All Rights Reserved. 36 kernel Identity { void evaluatePixel( in image4 src, out pixel4 dest ) { dest = sampleNearest( src, outCoord() ); } } Code walkthrough – identity filter
  • 37. 2007 Adobe Systems Incorporated. All Rights Reserved. 37 kernel Identity { void evaluatePixel( in image4 src, out pixel4 dest ) { dest = sampleNearest( src, outCoord() ); } } Code walkthrough – identity filter
  • 38. 2007 Adobe Systems Incorporated. All Rights Reserved. 38 kernel Identity { void evaluatePixel( in image4 src, out pixel4 dest ) { dest = sampleNearest( src, outCoord() ); } } Code walkthrough – identity filter
  • 39. 2007 Adobe Systems Incorporated. All Rights Reserved. 39 Digression – what is an image?
  • 40. 2007 Adobe Systems Incorporated. All Rights Reserved. 40 Digression – what is an image?
  • 41. 2007 Adobe Systems Incorporated. All Rights Reserved. 41 Digression – what is an image?
  • 42. 2007 Adobe Systems Incorporated. All Rights Reserved. 42 Digression – what is an image?
  • 43. 2007 Adobe Systems Incorporated. All Rights Reserved. 43 Digression – what is an image?
  • 44. 2007 Adobe Systems Incorporated. All Rights Reserved. 44 Digression – what is an image?
  • 45. 2007 Adobe Systems Incorporated. All Rights Reserved. 45 Digression – what is an image?
  • 46. 2007 Adobe Systems Incorporated. All Rights Reserved. 46 Digression – what is an image?
  • 47. 2007 Adobe Systems Incorporated. All Rights Reserved. 47 Digression – what is an image?
  • 48. 2007 Adobe Systems Incorporated. All Rights Reserved. 48 kernel Identity { void evaluatePixel( in image4 src, out pixel4 dest ) { dest = sampleNearest( src, outCoord() ); } } Code walkthrough – identity filter
  • 49. 2007 Adobe Systems Incorporated. All Rights Reserved. 49 kernel Identity { void evaluatePixel( in image4 src, out pixel4 dest ) { dest = sampleNearest( src, outCoord() ); } } Code walkthrough – identity filter
  • 50. 2007 Adobe Systems Incorporated. All Rights Reserved. 50 kernel Identity { void evaluatePixel( in image4 src, out pixel4 dest ) { dest = sampleNearest( src, outCoord() ); } } Code walkthrough – identity filter
  • 51. 2007 Adobe Systems Incorporated. All Rights Reserved. 51 kernel Identity { void evaluatePixel( in image4 src, out pixel4 dest ) { dest = sampleNearest( src, outCoord() ); } } Code walkthrough – identity filter
  • 52. 2007 Adobe Systems Incorporated. All Rights Reserved. 52 ƒ Introduction ƒ Demonstration – some sample filters ƒ Code walkthrough – identity filter ƒ Hydra programming model ƒ Code walkthrough – polka dot filter ƒ Hydra in detail ƒ Hydra for Flash ƒ Efficiency tips ƒ Demonstration – AIF toolkit ƒ Bibliography ƒ Summary ƒ AIF server Hydra programming model
  • 53. 2007 Adobe Systems Incorporated. All Rights Reserved. 53 Write a function that produces a single output pixel Hydra programming model
  • 54. 2007 Adobe Systems Incorporated. All Rights Reserved. 54 Hydra programming model
  • 55. 2007 Adobe Systems Incorporated. All Rights Reserved. 55 Hydra programming model
  • 56. 2007 Adobe Systems Incorporated. All Rights Reserved. 56 Hydra programming model
  • 57. 2007 Adobe Systems Incorporated. All Rights Reserved. 57 Hydra programming model
  • 58. 2007 Adobe Systems Incorporated. All Rights Reserved. 58 ƒ Introduction ƒ Demonstration – some sample filters ƒ Code walkthrough – identity filter ƒ Hydra programming model ƒ Code walkthrough – polka dot filter ƒ Hydra in detail ƒ Hydra for Flash ƒ Efficiency tips ƒ Demonstration – AIF toolkit ƒ Bibliography ƒ Summary ƒ AIF server Code walkthrough – polka dot filter
  • 59. 2007 Adobe Systems Incorporated. All Rights Reserved. 59 Code walkthrough – polka dot filter
  • 60. 2007 Adobe Systems Incorporated. All Rights Reserved. 60 Code walkthrough – polka dot filter
  • 61. 2007 Adobe Systems Incorporated. All Rights Reserved. 61 Code walkthrough – polka dot filter
  • 62. 2007 Adobe Systems Incorporated. All Rights Reserved. 62 Code walkthrough – polka dot filter
  • 63. 2007 Adobe Systems Incorporated. All Rights Reserved. 63 Code walkthrough – polka dot filter
  • 64. 2007 Adobe Systems Incorporated. All Rights Reserved. 64 Code walkthrough – polka dot filter
  • 65. 2007 Adobe Systems Incorporated. All Rights Reserved. 65 Code walkthrough – polka dot filter
  • 66. 2007 Adobe Systems Incorporated. All Rights Reserved. 66 Code walkthrough – polka dot filter
  • 67. 2007 Adobe Systems Incorporated. All Rights Reserved. 67 Code walkthrough – polka dot filter
  • 68. 2007 Adobe Systems Incorporated. All Rights Reserved. 68 Code walkthrough – polka dot filter
  • 69. 2007 Adobe Systems Incorporated. All Rights Reserved. 69 Code walkthrough – polka dot filter
  • 70. 2007 Adobe Systems Incorporated. All Rights Reserved. 70 kernel PinkPolkaDots { parameter float radius; parameter float spacing; const pixel4 pink = pixel4( 1.0, 0.75 ,0.8, 1.0 ); void evaluatePixel( in image4 src, out pixel4 dest ) { float2 center = floor(outCoord() / spacing)*spacing + (spacing / 2.0); float dist = distance( center, outCoord() ); pixel4 originalColor = sampleNearest( src, outCoord() ); dest = dist < radius ? pink : originalColor; } } Code walkthrough – polka dot filter
  • 71. 2007 Adobe Systems Incorporated. All Rights Reserved. 71 kernel PinkPolkaDots { parameter float radius; parameter float spacing; const pixel4 pink = pixel4( 1.0, 0.75 ,0.8, 1.0 ); void evaluatePixel( in image4 src, out pixel4 dest ) { float2 center = floor(outCoord() / spacing)*spacing + (spacing / 2.0); float dist = distance( center, outCoord() ); pixel4 originalColor = sampleNearest( src, outCoord() ); dest = dist < radius ? pink : originalColor; } } Code walkthrough – polka dot filter
  • 72. 2007 Adobe Systems Incorporated. All Rights Reserved. 72 kernel PinkPolkaDots { parameter float radius; parameter float spacing; const pixel4 pink = pixel4( 1.0, 0.75 ,0.8, 1.0 ); void evaluatePixel( in image4 src, out pixel4 dest ) { float2 center = floor(outCoord() / spacing)*spacing + (spacing / 2.0); float dist = distance( center, outCoord() ); pixel4 originalColor = sampleNearest( src, outCoord() ); dest = dist < radius ? pink : originalColor; } } Code walkthrough – polka dot filter
  • 73. 2007 Adobe Systems Incorporated. All Rights Reserved. 73 kernel PinkPolkaDots { parameter float radius; parameter float spacing; const pixel4 pink = pixel4( 1.0, 0.75 ,0.8, 1.0 ); void evaluatePixel( in image4 src, out pixel4 dest ) { float2 center = floor(outCoord() / spacing)*spacing + (spacing / 2.0); float dist = distance( center, outCoord() ); pixel4 originalColor = sampleNearest( src, outCoord() ); dest = dist < radius ? pink : originalColor; } } Code walkthrough – polka dot filter
  • 74. 2007 Adobe Systems Incorporated. All Rights Reserved. 74 ƒ Introduction ƒ Demonstration – some sample filters ƒ Code walkthrough – identity filter ƒ Hydra programming model ƒ Code walkthrough – polka dot filter ƒ Hydra in detail ƒ Hydra for Flash ƒ Efficiency tips ƒ Demonstration – AIF toolkit ƒ Bibliography ƒ Summary ƒ AIF server Hydra in detail
  • 75. 2007 Adobe Systems Incorporated. All Rights Reserved. 75 kernel PinkPolkaDots { parameter float radius; parameter float spacing; const pixel4 pink = pixel4( 1.0, 0.75 ,0.8, 1.0 ); void evaluatePixel( in image4 src, out pixel4 dest ) { float2 center = floor(outCoord() / spacing)*spacing + (spacing / 2.0); float dist = distance( center, outCoord() ); pixel4 originalColor = sampleNearest( src, outCoord() ); dest = dist < radius ? pink : originalColor; } } Hydra in detail – Syntax and Semantics
  • 76. 2007 Adobe Systems Incorporated. All Rights Reserved. 76 kernel PinkPolkaDots { parameter float radius; parameter float spacing; const pixel4 pink = pixel4( 1.0, 0.75 ,0.8, 1.0 ); void evaluatePixel( in image4 src, out pixel4 dest ) { float2 center = floor(outCoord() / spacing)*spacing + (spacing / 2.0); float dist = distance( center, outCoord() ); pixel4 originalColor = sampleNearest( src, outCoord() ); dest = dist < radius ? pink : originalColor; } } Hydra in detail – Syntax and Semantics
  • 77. 2007 Adobe Systems Incorporated. All Rights Reserved. 77 kernel PinkPolkaDots { parameter float radius; parameter float spacing; const pixel4 pink = pixel4( 1.0, 0.75 ,0.8, 1.0 ); void evaluatePixel( in image4 src, out pixel4 dest ) { float2 center = floor(outCoord() / spacing)*spacing + (spacing / 2.0); float dist = distance( center, outCoord() ); pixel4 originalColor = sampleNearest( src, outCoord() ); dest = dist < radius ? pink : originalColor; } } Hydra in detail – Syntax and Semantics
  • 78. 2007 Adobe Systems Incorporated. All Rights Reserved. 78 float int bool pixel1 int2 float2 bool2 pixel2 int3 float3 bool3 pixel3 int4 float4 bool4 pixel4 float2x2 float3x3 float4x4 Hydra in detail – Types
  • 79. 2007 Adobe Systems Incorporated. All Rights Reserved. 79 float int bool pixel1 int2 float2 bool2 pixel2 int3 float3 bool3 pixel3 int4 float4 bool4 pixel4 float2x2 float3x3 float4x4 Hydra in detail – Types
  • 80. 2007 Adobe Systems Incorporated. All Rights Reserved. 80 float int bool pixel1 int2 float2 bool2 pixel2 int3 float3 bool3 pixel3 int4 float4 bool4 pixel4 float2x2 float3x3 float4x4 Hydra in detail – Types
  • 81. 2007 Adobe Systems Incorporated. All Rights Reserved. 81 kernel Twirl { parameter float radius; parameter float2 center; parameter float twirlAngle; void evaluatePixel( in image4 src, out float4 dest ) { float2 relativePos = outCoord() - center; float distFromCenter = length( relativePos ) / radius; float cosAngle = cos(twirlAngle); float sinAngle = sin(twirlAngle); float2x2 rotationMat = float2x2( cosAngle, sinAngle, -sinAngle, cosAngle ); relativePos = rotationMat * relativePos; dest = sampleLinear( src, relativePos + center ); } } Hydra in detail – Operators
  • 82. 2007 Adobe Systems Incorporated. All Rights Reserved. 82 kernel Twirl { parameter float radius; parameter float2 center; parameter float twirlAngle; void evaluatePixel( in image4 src, out float4 dest ) { float2 relativePos = outCoord() - center; float distFromCenter = length( relativePos ) / radius; float cosAngle = cos(twirlAngle); float sinAngle = sin(twirlAngle); float2x2 rotationMat = float2x2( cosAngle, sinAngle, -sinAngle, cosAngle ); relativePos = rotationMat * relativePos; dest = sampleLinear( src, relativePos + center ); } } Hydra in detail – Operators
  • 83. 2007 Adobe Systems Incorporated. All Rights Reserved. 83 kernel Twirl { parameter float radius; parameter float2 center; parameter float twirlAngle; void evaluatePixel( in image4 src, out float4 dest ) { float2 relativePos = outCoord() - center; float distFromCenter = length( relativePos ) / radius; float cosAngle = cos(twirlAngle); float sinAngle = sin(twirlAngle); float2x2 rotationMat = float2x2( cosAngle, sinAngle, -sinAngle, cosAngle ); relativePos = rotationMat * relativePos; dest = sampleLinear( src, relativePos + center ); } } Hydra in detail – Operators
  • 84. 2007 Adobe Systems Incorporated. All Rights Reserved. 84 Hydra in detail – Functions sin cos tan asin acos atan atan radians degrees pow exp exp2 log log2 sqrt abs sign floor ceil fract mod min max step clamp mix smoothStep matrixCompMult inverseSqrt length distance dot cross any all not nowhere everywhere transform union intersect outset inset bounds isEmpty sample sampleLinear sampleNearest lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual
  • 85. 2007 Adobe Systems Incorporated. All Rights Reserved. 85 Hydra in detail – Functions sin cos tan asin acos atan atan radians degrees pow exp exp2 log log2 sqrt abs sign floor ceil fract mod min max step clamp mix smoothStep matrixCompMult inverseSqrt length distance dot cross any all not nowhere everywhere transform union intersect outset inset bounds isEmpty sample sampleLinear sampleNearest lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual
  • 86. 2007 Adobe Systems Incorporated. All Rights Reserved. 86 Hydra in detail – Functions sin cos tan asin acos atan atan radians degrees pow exp exp2 log log2 sqrt abs sign floor ceil fract mod min max step clamp mix smoothStep matrixCompMult inverseSqrt length distance dot cross any all not nowhere everywhere transform union intersect outset inset bounds isEmpty sample sampleLinear sampleNearest lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual
  • 87. 2007 Adobe Systems Incorporated. All Rights Reserved. 87 Hydra in detail – Functions sin cos tan asin acos atan atan radians degrees pow exp exp2 log log2 sqrt abs sign floor ceil fract mod min max step clamp mix smoothStep matrixCompMult inverseSqrt length distance dot cross any all not nowhere everywhere transform union intersect outset inset bounds isEmpty sample sampleLinear sampleNearest lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual
  • 88. 2007 Adobe Systems Incorporated. All Rights Reserved. 88 ƒ Introduction ƒ Demonstration – some sample filters ƒ Code walkthrough – identity filter ƒ Hydra programming model ƒ Code walkthrough – polka dot filter ƒ Hydra in detail ƒ Hydra for Flash ƒ Efficiency tips ƒ Demonstration – AIF toolkit ƒ Bibliography ƒ Summary ƒ AIF server Hydra for Flash
  • 89. 2007 Adobe Systems Incorporated. All Rights Reserved. 89 Hydra for Flash
  • 90. 2007 Adobe Systems Incorporated. All Rights Reserved. 90 ƒ Introduction ƒ Demonstration – some sample filters ƒ Code walkthrough – identity filter ƒ Hydra programming model ƒ Code walkthrough – polka dot filter ƒ Hydra in detail ƒ Hydra for Flash ƒ Efficiency tips ƒ Demonstration – AIF toolkit ƒ Bibliography ƒ Summary ƒ AIF server Efficiency tips
  • 91. 2007 Adobe Systems Incorporated. All Rights Reserved. 91 Write a function that produces a single output pixel Efficiency tips
  • 92. 2007 Adobe Systems Incorporated. All Rights Reserved. 92 Efficiency tips
  • 93. 2007 Adobe Systems Incorporated. All Rights Reserved. 93 Efficiency tips
  • 94. 2007 Adobe Systems Incorporated. All Rights Reserved. 94 Efficiency tips
  • 95. 2007 Adobe Systems Incorporated. All Rights Reserved. 95 Efficiency tips
  • 96. 2007 Adobe Systems Incorporated. All Rights Reserved. 96 ƒ Introduction ƒ Demonstration – some sample filters ƒ Code walkthrough – identity filter ƒ Hydra programming model ƒ Code walkthrough – polka dot filter ƒ Hydra in detail ƒ Hydra for Flash ƒ Efficiency tips ƒ Demonstration – AIF toolkit ƒ Bibliography ƒ Summary ƒ AIF server Demonstration – AIF toolkit
  • 97. 2007 Adobe Systems Incorporated. All Rights Reserved. 97 Writing a kernel in the AIF Toolkit
  • 98. 2007 Adobe Systems Incorporated. All Rights Reserved. 98 ƒ Andrew S. Glassner – Principles of Digital Image Synthesis ƒ Randi Rost – OpenGL® Shading Language ƒ George Wolberg - Digital Image Warping ƒ Randima Fernando – GPU Gems ƒ Matt Pharr & Randima Fernando – GPU Gems 2 ƒ Hurbert Nguyen – GPU Gems 3 ƒ Shader examples: http://shady.goyman.com/ Bibliography
  • 99. 2007 Adobe Systems Incorporated. All Rights Reserved. 99 ƒ Hydra language ƒ AIF Toolkit ƒ http://labs.adobe.com/wiki/index.php/AIF_Toolkit Summary
  • 100. 2007 Adobe Systems Incorporated. All Rights Reserved. 10 0 ƒ Introduction ƒ Demonstration – some sample filters ƒ Code walkthrough – identity filter ƒ Hydra programming model ƒ Code walkthrough – polka dot filter ƒ Hydra in detail ƒ Hydra for Flash ƒ Efficiency tips ƒ Demonstration – AIF toolkit ƒ Bibliography ƒ Summary ƒ AIF server AIF server