SlideShare uma empresa Scribd logo
1 de 100
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

Mais conteúdo relacionado

Semelhante a 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 ORMpeterbahaa
 
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 AetherPavan 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 2014Paolo Mottadelli
 
(Costless) Software Abstractions for Parallel Architectures
(Costless) Software Abstractions for Parallel Architectures(Costless) Software Abstractions for Parallel Architectures
(Costless) Software Abstractions for Parallel ArchitecturesJoel 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 SpecificationStijn Van Den Enden
 
Development workflow
Development workflowDevelopment workflow
Development workflowSigsiu.NET
 
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 CassandraJosh 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 iAlan 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 AppAtlassian
 
Getting Started with Redis
Getting Started with RedisGetting Started with Redis
Getting Started with RedisFaisal 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 Bosschaertmfrancis
 
VB2013 - Security Research and Development Framework
VB2013 - Security Research and Development FrameworkVB2013 - Security Research and Development Framework
VB2013 - Security Research and Development FrameworkAmr 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 ScaleElasticsearch
 
ColdFusion 11 Overview - CFSummit 2013
ColdFusion 11 Overview - CFSummit 2013ColdFusion 11 Overview - CFSummit 2013
ColdFusion 11 Overview - CFSummit 2013Rupesh Kumar
 
Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOpsBrice 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 OpensourceAntonio 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
 

Semelhante a 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)
 

Mais de 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 organizationsKevin 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 SolutionsKevin Goldsmith
 
Raising the subject of raises
Raising the subject of raisesRaising the subject of raises
Raising the subject of raisesKevin Goldsmith
 
Managing partly distributed teams
Managing partly distributed teamsManaging partly distributed teams
Managing partly distributed teamsKevin 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 HPCKevin 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 organizationKevin 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 jobKevin Goldsmith
 
Presenting to executives
Presenting to executivesPresenting to executives
Presenting to executivesKevin 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 TeamKevin Goldsmith
 
You Are Doing Autonomy Wrong
You Are Doing Autonomy WrongYou Are Doing Autonomy Wrong
You Are Doing Autonomy WrongKevin 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 2020Kevin 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 remixKevin 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
 

Mais de 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 ...
 

Último

%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 

Último (20)

%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 

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