Re: [Gegl-developer] code generation / multiple sample types

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Calvin Williamson <calvinw@xxxxxxxxxxxxxx> [040923 18:02]:
> Anyway I think we commit to stick to double or float
> as the default, and decide which other types to support as well, 

It makes sense to enforce this for most filters, but some source
operations (mpeg4, png, v4l, svg (at least my cairo based thing))
it doesn't make sense, the plug-in system should allow for developers
to just code for the pixelrepresentations they need, ignore the rest,
and be able to expect things to just work.

In gggl I do pixel representation negotiation in a seperate pass before
processing starts (this could be added as an additional pass in GEGL as
well I guess), this pass does negotiation on every connection in the
graph trying to find the best suited common format between the
operations, if no suitable pixel representation is found a proxy
operation is inserted proxy is my pixel representation "babelfish"

http://pippin.gimp.org/gggl/snapshot/ops/filters/pixfmt_conversions.h.html
http://pippin.gimp.org/gggl/snapshot/ops/filters/precalc_order.txt.html
http://pippin.gimp.org/gggl/snapshot/ops/filters/proxy.c.html

> and try to make it as easy as possible to add new types, but without
> burdening it all with a code-generating tool right now.  

Code generation is generally a good idea,. but a single standard is not
a good idea IMO. For instance the porter-duff operators have a very
similar structure, not using code generation / #include tricks or
something similar the amount of code gets quite large, fast.

http://pippin.gimp.org/gggl/snapshot/ops/composers/porter_duff/generate.rb.html

is the ruby based code generator I use in gggl to generate them all
(I should probably look into extending the porter duff code to be both
8bit, 16bit and float since it is a case where a little work on the code
generator will provide a lot of functionality.)

Defining a scripting language as a prerequisite for generating the GEGL
source (perhaps not true for tarballs?).

/pippin

[Index of Archives]     [Yosemite News]     [Yosemite Photos]     [gtk]     [GIMP Users]     [KDE]     [Gimp's Home]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux