Re: [E-devel] Epsilon problems

2008-01-20 Thread The Rasterman
On Sat, 19 Jan 2008 06:40:27 GMT [EMAIL PROTECTED] [EMAIL PROTECTED]
babbled:

 
   Man, we all say some silly things in time, but this has to be one
   of the good ones from you.  :)   It's a 'load option' so it's fine
   for this to be 'optionally' implemented in a loader? Wow!
  
  correct. load options include things like DPI settings. do you
  expect every loader to now scale images based on DPI - the loader
  doesnt even know what the DPI of most image formats is - will it
  fake one (eg 75dpi) just to make this work ? these options are
 
   Yes, because that's exactly what we did (for the one and only
 loader that respects that, the svg one), except I believe it was 90 dpi
 not 75 that we used.

correct - though this was more a bi-product of svg being a vector, not
pixel-based format. that's about the only reason dpi exists there in load
options.

   I can understand some 'option' so particular to a format that
 it had absolutely no relevance to other formats.. eg. a format might
 support various kinds of de-compressions, speed vs quality kinds of
 things or whatnot.. but that's just not what's being adressed here.
 We're talking about, essentially, about image sizes - likely the most
 common attribute you can think of for images.
 
  there if the loader can do something easily/for free while loading.
  for some formats like SVG rendering at a DPI is part of loading -
  or at a size, so it comes for free. for jpeg scaling down by 2, 4 or
  8 in each dimension is for free. if every loader implements this
  i also need to add controls over the scalign quality (smooth or
  samples for example).
 
   None of this has any real bearing on the issue at hand - ie.
 wether evas itself should do the re-sizing on load, or let everyone
 who needs it have to copypaste your e17 solution. But it's your call
 so we'll leave at that. :)

what you want is an:

evas_object_image_rescale(Evas_Object *obj, int w, int h); which forcibly
rescales ANY image to a particular size - be it loaded from a file or generated
as ARGB data. this gives you the choice after load - if the load options didn't
get you a size you are happy with for free to do extra work to fix it. with
enignes like the opengl engine scaling is free so you might not want to pay
the price of a software-scale on load when a please pre-scale this to this size
- if you can do it for no extra cost is by far better - for jpeg in this case
u can load a large jpeg image at a reduced size much faster and then scale with
GL afterwards for free. putting that into the load and load options takes
that choice away.

-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)[EMAIL PROTECTED]


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2008-01-19 Thread [EMAIL PROTECTED]

 Is there any internal call to do these scaled blits or just
 those of evas_common? If so, those more used to it: there is
 any way to use these evas_common functions to do this convertion?

Only the 'common' functions for scaling are really needed.
Just do an imitation of what the e17 thumbnailing code does, for
those loaders that don't currently support scaling fully to the
load-option's requested wxh size (I'm assuming that's all you really
want to fully implement). Use a temp image whose data is the loaded
file's data (loaded according to what's currently approximated there
to the size load options), and scale that to the real image you're
working with (then get rid of your temp image and/or its data).
There are a few details here and there you'd want to make
sure are covered, but it's all fairly straightforward if you look
things over a bit. Or wait a few days and I can send you a version
when I get a chance.
But you'd still have to navigate the more complex, murkier
waters of getting such heresy into cvs. :)

_
Stuck in a dead end job?? Click to start living your dreams by earning an 
online degree.
http://thirdpartyoffers.juno.com/TGL2121/fc/Ioyw6i3nNfaT3FnM82IViYSct5wnA1xKHJkhmlXElIkaWNbEOsTxpe/



-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2008-01-18 Thread The Rasterman
On Tue, 15 Jan 2008 09:36:13 GMT [EMAIL PROTECTED] [EMAIL PROTECTED]
babbled:

  see my other mail. load-size is an option. a loader implements it
  ONLY if it can do a scale-down on load for free. it is a hint,
  not a requirement. you need to load, then check image size and see
  if you need to adjust/scale later yourself. so only the svg loader
  will scale to the size u want - as it can. the others wont' do
  anything. the jpeg loader will chose the nearest scale size it can
  manage (which is 1/2, 1/4 or 1/8th the width/height of the original
  jpeg file - that's all it can do. this it gets for free tho on load.
  in fact load is faster the more u scale down).
 
   Man, we all say some silly things in time, but this has to
 be one of the good ones from you. :)  It's a 'load option' so it's
 fine for this to be 'optionally' implemented in a loader? Wow!

correct. load options include things like DPI settings. do you expect every
loader to now scale images based on DPI - the loader doesnt even know what the
DPI of most image formats is - will it fake one (eg 75dpi) just to make this
work ? these options are there if the loader can do something easily/for
free while loading. for some formats like SVG rendering at a DPI is part of
loading - or at a size, so it comes for free. for jpeg scaling down by 2, 4 or
8 in each dimension is for free. if every loader implements this i also need
to add controls over the scalign quality (smooth or samples for example).

   Tell me, given that this is really trivial to add in evas,
 and you end up going thru inefficient loopshoops to get the 'option'
 to actually work in a 'non-optional' way, then why not just have
 this actually work?

i'd be a lot of changes to a lot of loaders and it would not be universal as
above - dpi is entirely optional as most formats don't have a dpi of the image.
so some things would/could work, some could not. i chose to go the whole only
do it if you can do it directly with the format option.

 I think evas needs to add an image saving 'size' option,
   maybe best done via the current flags for saving, so that you
   can save an image that alreday exists at some size (for whatever
   reason), to a file at whatever other size one wants.
  
  not sure we should do that - as above - its possible to do this
  with buffer canvases and objects. it's much more flexible as i can
  ALSO put MULTIPLE objects into the thumb then. i can add watermarks
  and more to them.
 
   Sure, you can do all sorts of things.. but it doesn't mean
 that it's always the best way to get something simple done.
   Other than new work required to add something like this
 via the api, why do you feel that maybe it shouldn't be done?

because it now makes savers more complex, adds in a single feature for what is
a single use case and is not more generally useful. the buffer canvases do all
of it - there is no need to add a saver scale option imho. it just puts more
work into every saver (and loader) that is already generic and shared with a
common single api (evas itself).

   **
 
   I doubt it worth the pain, because if we go FDO we must remove
   any attempt to use .edj as thumbnail format, and it's a good
   alternative if you want to provide movie thumbnail. Going too
   generic may hurt more than help if nobody else use it, and
   believe me these guys are hard to get using done by others, you
   know the NIH syndrome...
  
  agreed it will be painful. i don't think we should force edje
  into a thumbnail format - BUT eet is possibly useful there as its
  agnostic when it comes to glib, qt, efl etc.. the gtnome/kde crowd
  as best i know do not have any such container format handler to
  pack many data items compactly into a single file with an easy api
  to access it again.  so we are not competing.
 
   I can't see why what FDO wants or doesn't want to support
 as 'acceptable' formats should stop anyone from doing otherwise.
 In fact, I can't understand why any reasonable, OPEN format would
 not be acceptable, nor the reason for *requiring* that some particular
 format *must* be accepted.. and none others?? None of this sounds
 to me like a body whose decisions should be respected - if indeed
 that's the way it operates.. it doesn't sound to me like the spirit
 of foss to do so.

a lot of foss is not what u think it would be. there is a lot of political
infighting, ego stroking and other things that are not related to being open
and free - often open and free decisions make way way for personal ambitions.

if we present a format that does not have a native g-whatever or k/qt-whatever
implementation it basically will be shunned. if we have a format that is not
dependent on our own libs (eg edje depends on evas, ecore and edje so it would
suck them into kde/gnome) and is stand-alone it has a better chance as it can
be seen as less of an invasion from the nih lands. but in the end -
standards bodies - FOSS ones included, are 

Re: [E-devel] Epsilon problems

2008-01-18 Thread [EMAIL PROTECTED]

  Man, we all say some silly things in time, but this has to be one
  of the good ones from you.  :)   It's a 'load option' so it's fine
  for this to be 'optionally' implemented in a loader? Wow!
 
 correct. load options include things like DPI settings. do you
 expect every loader to now scale images based on DPI - the loader
 doesnt even know what the DPI of most image formats is - will it
 fake one (eg 75dpi) just to make this work ? these options are

Yes, because that's exactly what we did (for the one and only
loader that respects that, the svg one), except I believe it was 90 dpi
not 75 that we used.
I can understand some 'option' so particular to a format that
it had absolutely no relevance to other formats.. eg. a format might
support various kinds of de-compressions, speed vs quality kinds of
things or whatnot.. but that's just not what's being adressed here.
We're talking about, essentially, about image sizes - likely the most
common attribute you can think of for images.

 there if the loader can do something easily/for free while loading.
 for some formats like SVG rendering at a DPI is part of loading -
 or at a size, so it comes for free. for jpeg scaling down by 2, 4 or
 8 in each dimension is for free. if every loader implements this
 i also need to add controls over the scalign quality (smooth or
 samples for example).

None of this has any real bearing on the issue at hand - ie.
wether evas itself should do the re-sizing on load, or let everyone
who needs it have to copypaste your e17 solution. But it's your call
so we'll leave at that. :)

_
Live your dreams.  Click here to find information on becoming a lawyer.
http://thirdpartyoffers.juno.com/TGL2121/fc/Ioyw6i3oFGmcsTG5zvq2NKKrizxPBJOtoZSV14O43SGaQcKaICuQqc/



-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2008-01-15 Thread [EMAIL PROTECTED]

Carsten wrote:

  Unless... Oh, oh.. unless we didn't finish off implementing
  the load-size option for all loaders. I know we did it for the
  svg loader, and that the jpg loader respects loading scaled-down-
  by-dyads, but I can't recall if we really did finish off making
  sure that all loaders respected the load-size option.. need to
  take a look. If not, then it should be filed as an evas BUG.
 
 see my other mail. load-size is an option. a loader implements it
 ONLY if it can do a scale-down on load for free. it is a hint,
 not a requirement. you need to load, then check image size and see
 if you need to adjust/scale later yourself. so only the svg loader
 will scale to the size u want - as it can. the others wont' do
 anything. the jpeg loader will chose the nearest scale size it can
 manage (which is 1/2, 1/4 or 1/8th the width/height of the original
 jpeg file - that's all it can do. this it gets for free tho on load.
 in fact load is faster the more u scale down).

Man, we all say some silly things in time, but this has to
be one of the good ones from you. :)  It's a 'load option' so it's
fine for this to be 'optionally' implemented in a loader? Wow!

Tell me, given that this is really trivial to add in evas,
and you end up going thru inefficient loopshoops to get the 'option'
to actually work in a 'non-optional' way, then why not just have
this actually work?

  I think evas needs to add an image saving 'size' option,
  maybe best done via the current flags for saving, so that you
  can save an image that alreday exists at some size (for whatever
  reason), to a file at whatever other size one wants.
 
 not sure we should do that - as above - its possible to do this
 with buffer canvases and objects. it's much more flexible as i can
 ALSO put MULTIPLE objects into the thumb then. i can add watermarks
 and more to them.

Sure, you can do all sorts of things.. but it doesn't mean
that it's always the best way to get something simple done.
Other than new work required to add something like this
via the api, why do you feel that maybe it shouldn't be done?

**

  I doubt it worth the pain, because if we go FDO we must remove
  any attempt to use .edj as thumbnail format, and it's a good
  alternative if you want to provide movie thumbnail. Going too
  generic may hurt more than help if nobody else use it, and
  believe me these guys are hard to get using done by others, you
  know the NIH syndrome...
 
 agreed it will be painful. i don't think we should force edje
 into a thumbnail format - BUT eet is possibly useful there as its
 agnostic when it comes to glib, qt, efl etc.. the gtnome/kde crowd
 as best i know do not have any such container format handler to
 pack many data items compactly into a single file with an easy api
 to access it again.  so we are not competing.

I can't see why what FDO wants or doesn't want to support
as 'acceptable' formats should stop anyone from doing otherwise.
In fact, I can't understand why any reasonable, OPEN format would
not be acceptable, nor the reason for *requiring* that some particular
format *must* be accepted.. and none others?? None of this sounds
to me like a body whose decisions should be respected - if indeed
that's the way it operates.. it doesn't sound to me like the spirit
of foss to do so.

   jose.

_
Find the military school that meets your standards. Click now!
http://thirdpartyoffers.juno.com/TGL2121/fc/Ioyw6i3l91uO8BwI8E6hEJHRkt2eScxmPs1zdarLaGSbnXUKoFNHdu/



-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2008-01-13 Thread The Rasterman
On Mon, 3 Dec 2007 06:07:22 GMT [EMAIL PROTECTED] [EMAIL PROTECTED] babbled:

 
   Gustavo wrote:
 
- how expensive is evas/ecore_evas_buffer in comparison to
imlib2 to generate thumbs;
  
   You don't need ecore_evas_buffer to generate 'thumbs'
   of jpg/png/svg, that's only for generating smaller views of a
   'general' evas canvas rendering. For example, if you want to
   show a live thumb of an animated edje, or bunch of edjes, or
   just about anything.
  
  that's why I asked, without any testing I'd say it will be slower/
  overkill...
  
   Depends. If you're already using evas, and want to load and
 save image files to smaller sized (thumbs) versions, then using evas
 rather than going thru imlib2 could be faster - certainly for jpegs.
 Maybe for pngs, *if* you're saving to eet. Evas premuls all loaded
 non-premul argb data, and when saving back to png it un-premuls back,
 so we have: png-file-in - premul - scale-down - un-premul -
 png-file-out. Which is slower than what imlib2 would do. But, if you
 save the png to an eet, then as raster wanted to go with the premul
 flow, he made it so the no un-premul takes place when saving pngs to
 eet.. and likewise, no premul takes place when loading pngs encoded
 in eet (like eg, in edj files).
 
   What would be slower is if you went thru intermediate
 buffer evases to do down-scaling, ie. one would then have:
 
 load-thing-at-its-natural-size-to-buffer-evas1 - resize-evas1-to-
 thing-size - draw-it-to-evas1 - set-pixels-of-buffer-evas1-as-data
 -of-image-obj-of-buffer-evas2 - resize-evas2-to-whatever - set-fill
 -and-size-of-image-obj-to-size-of-evas2 - draw-image-obj - [write-
 pixels-of-evas2-to-out-file-somehow] this last step either directly
 or again via setting the resulting pixels of buffer evas2 to another
 image obj that you'd have created when you 'resized' evas2, and then
 saving the image obj It's somewhat convoluted.
 
   I looked at e_thumb_main - it saves to eet files directly.
 That's not really sufficient for giving flexible thumbnail-file
 saving functionality for others to use - it's just too restrictive
 (and not really as fast as it could be in some cases).

actually it uses a buffer canvas polus a sub-buffer canvas as per my other mail
ee and ee_im in the code in _e_thum_generate() :) BUT it doesnt need to
double-render. it only renders as much as neededc - the parent buffer canvas
itself never is rendered to - it is just a container for the im object:

 im = ecore_evas_object_image_new(ee);
 ee_im = evas_object_data_get(im, Ecore_Evas);

that creates the image object which *IS* a buffer canvas - gets the buffer
canvas evas handle and adds anythign into that it wants to scale.

   I think evas needs to add an image saving 'size' option, maybe
 best done via the current flags for saving, so that you can save
 an image that alreday exists at some size (for whatever reason), to
 a file at whatever other size one wants.

not sure we should do that - as above - its possible to do this with buffer
canvases and objects. it's much more flexible as i can ALSO put MULTIPLE
objects into the thumb then. i can add watermarks and more to them.

  seems that JPEG loader does respect load_size, PNG doesn't, not sure
  about others.
 
   Bummer. But it's very easy to finish this off, for anyone who
 wants to give it a shot.. :) 

jpeg does - BUT it will scale to one of the scale-down sizes. 1/2, 1/4 or 1/8th
dimensions in each axis. e_thumb makes direct use of that.

  I'm newbie to this project, so maybe you can help me understand this:
  is epeg just a test and the functionality was integrated to Evas's
  JPEG loader? This would be amazing.
 
   That was raster's great desire - to have the evas jpeg loader
 do what epeg did, and so did he add that in. :)

i did :) epeg ALSO did all the fine-tuning scaling (ie it would scale to the
nearest 1/1, 1/2, 1/4 or 1/8th jpeg size for free on load and THEN scale to
the exact size. evas doesnt do the last fine-tune scale. it leaves this to
runtime (not load time) as evas can do this already as part of its rendering
pipeline. you then can choose if you want smooth scale or not and anything else
u like scaling-wise.

   As to your being a newbie to the project.. I think you've been
 a tremendous inspiration to everyone here Gustavo, you and your friends
 and collegues there at Canola. Really.

i echo that - your work on canola2 has been amazing. i played with it and its
reaaly nice. it's an amazing bit of work - and really shows what u can do
with efl when you play with it right.

jose.
 
 _
 Study law at a school near you.  Click for more info.
 http://thirdpartyoffers.juno.com/TGL2121/fc/Ioyw6i3oFGmXCSm0cvWIFZ0N1bFZGJDUQ6vQVhZYPYDKK05IzLH0Ji/
 
 
 
 -
 SF.Net email is sponsored by: The Future 

Re: [E-devel] Epsilon problems

2008-01-13 Thread The Rasterman
On Sun, 2 Dec 2007 11:02:09 GMT [EMAIL PROTECTED] [EMAIL PROTECTED] babbled:

 
   - how expensive is evas/ecore_evas_buffer in comparison to imlib2
   to generate thumbs;
  
  You don't need ecore_evas_buffer to generate 'thumbs' of
  jpg/png/svg, that's only for generating smaller views of a 'general'
  evas canvas rendering. For example, if you want to show a live thumb
  of an animated edje, or bunch of edjes, or just about anything.
 
   Unless... Oh, oh.. unless we didn't finish off implementing
 the load-size option for all loaders. I know we did it for the svg
 loader, and that the jpg loader respects loading scaled-down-by-dyads,
 but I can't recall if we really did finish off making sure that all
 loaders respected the load-size option.. need to take a look. If not,
 then it should be filed as an evas BUG.

see my other mail. load-size is an option. a loader implements it ONLY if it
can do a scale-down on load for free. it is a hint, not a requirement. you
need to load, then check image size and see if you need to adjust/scale later
yourself. so only the svg loader will scale to the size u want - as it can. the
others wont' do anything. the jpeg loader will chose the nearest scale size it
can manage (which is 1/2, 1/4 or 1/8th the width/height of the original jpeg
file - that's all it can do. this it gets for free tho on load. in fact load is
faster the more u scale down).

 _
 Surf a world without wires. Click now for great wireless Internet solutions!
 http://thirdpartyoffers.juno.com/TGL2121/fc/Ioyw6i3mFpiycmcZ4UgiHjwK5y5QltR0iyZyopTyddMt9vTAwuygac/
 
 
 
 -
 SF.Net email is sponsored by: The Future of Linux Business White Paper
 from Novell.  From the desktop to the data center, Linux is going
 mainstream.  Let it simplify your IT future.
 http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 


-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)[EMAIL PROTECTED]


-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2008-01-13 Thread The Rasterman
On Sun, 2 Dec 2007 09:16:30 GMT [EMAIL PROTECTED] [EMAIL PROTECTED] babbled:

 
   As raster mentioned, and as I believe, the best thing for epsilon
   would be a rewrite using evas instead of imlib2... something
   extremely similar to e_thumb. Raster said that if this did occur,
   e would likely change to using epsilon as well.
 
   If epsilon is still using imlib2 for creating thumbs, it must
 be either because at the time it first appeared evas could not then
 save images to files, or maybe because it wanted to use more image

correct. evas was unable to save images at the time. it can now. has been able
to for a while.

 loaders/savers than evas had (evas had built-in jpg/png/eet only at
 first, or rather at second - at first it also used imlib2 for loading,
 and the original-original evas used imlib2 for drawing too).

yup. evas still has fewer loaders, but i like it this way for now as it lets us
more easily changing things. we can expand this over time as needed, but it
does cover a lot of the most common formats.

   If so, these two issues should no longer be relevant: evas

correct :)

 can save to files, and one can write as many loaders/savers as desired.
 In fact, I think that imlib2 doesn't have an svg loader, which evas
 does. Any special-purpose loaders that one may want for epsilon, but
 not in current evas, one could write expressly for epsilon if desired.

or for evas - and add more loaders in. steal them from imlib2. port them over.
not hard really. same pixel format (argb32).

   On the other hand, uing evas for simply loading and saving
 'thumbnails' of a couple of images is somewhat of an overkill.. but
 not if you're doing many.

true - but since epsilon already uses it - it's a moot point really. imlib2 is
less and less useful - evas has taken over most of what imlib2 could do (and a
lot more besides). for generating thumbnails evas has all u need.

  - how expensive is evas/ecore_evas_buffer in comparison to imlib2
  to generate thumbs;
 
   You don't need ecore_evas_buffer to generate 'thumbs' of
 jpg/png/svg, that's only for generating smaller views of a 'general'
 evas canvas rendering. For example, if you want to show a live thumb
 of an animated edje, or bunch of edjes, or just about anything.

well you will want a buffer - for the scaling. u load image int an evas image
object in a buffer canvas. this buffer canvas lives in the image object of
another buffer canvas (parent). you simply create, show (move, resize, set
properties) on the image object u loaded, force an evas_render() on the buffer
evas that holds this image object. this means the parent image object in the
parent buffer canvas will now have pixels that are valid and rescaled down. now
just save this image object in the parent buffer (u don't need to render the
parent buffer canvas which means its just a wrapping data structure to give you
and image object to be able to call save() on). it shouldn't be any significant
overhead (almost none when compared to the expense of loading the image file
from disk, decoding, scaling it and then saving it).

  - saving to eet the uncompressed data really help? Ok, this is
  more about testing on our hardware, but maybe it will not help
  and it's cheaper to uncompress a JPEG than read pixels from flash
  (flash slowness versus cpu usage). In that case, what's the best
  option to save the image as JPEG? Create an evas_object_image on
  the same canvas, set it's pixesl to buffer pixels and then
  evas_object_image_save() it?

yup. compression in the end is a disk (or flash) IO tradeoff vs CPU. in the end
you will find its faster to compress it as the  extra Disk space used is huge
when you don't compress, and you pay a big price in IO overhead if not
compressed. jpeg tends to decompress VERY fast even compression is fast - much
faster than png (going via libpng or libjpeg).

   Saving what to eet? Thumbs of jpgs/pngs? Depends what you
 want to do with them, and how many... The best option to save
 the image as JPEG is somewhat hard to say - it depends on the
 context you're working with.

yup. eet does one thing u cant do with jpeg/png - it allows BOTH lossy
compression (jpeg style) AND an alpha channel - so if you are thumbnailing
something big - with an alpha channel, eet is the way to go for speed of saving
the thumb, loading and disk usage for the thumb.

   But if you're using evas, and you want to use it to load
 and save 'thumbs' of jpgs back as jpgs, then just create an image
 object (hide it), set the load size (evas uses the same 'quick'
 thumbing mechanism for jpgs as epeg), set the file, and then save
 it to the thumb file (use flags for jpg quality and compression),
 repeating for as many image files as you want. Or if you want to
 do this in a separate evas, then create a buffer evas and then do
 as above.

yup. in e17 e_thumb* does just that. use it/steal from it etc. this stuff
should probably be rolled into epsilon replacing the 

Re: [E-devel] Epsilon problems

2008-01-13 Thread The Rasterman
On Mon, 3 Dec 2007 10:41:03 -0600 Nathan Ingersoll [EMAIL PROTECTED]
babbled:

 This is a little off-topic for the thread, but there are some long
 term changes I would like to see for epsilon eventually.
 
 1. Split thumbnail generation into pluggable processes. If we can
 specify external commands for generating thumbnails, we reduce the
 amount of code necessary to support new formats. This also gives us
 robustness when a dependency mis-behaves and crashes the thumbnailing
 process.

agreed. a nice way to do really quick and dirty thumbnailers via external
processes either executed once per file to load, scale save and forget or to
load and then save a whole series of files (and provide some form of
progress/feedback as it does it - eg via stdout or something). agree on all
points here.

 2. Switch to dbus for client to server IPC. Many of the issues
 currently with the epsilon daemon stem from some initial problems with
 ecore_ipc, and the hacky conversion to ecore_con. Dbus is also
 targeted at remote method invocation, which is essentially the goal of
 the epsilon daemon communications.

nothing against this.

 3. Develop a dbus standard communication protocol with FDO. Ideally,
 we could get a protocol adopted by the major desktops which would
 allow for a single thumbnailing process to be present regardless of
 your application mix. For instance, if you are running nautilus under
 E and it handles thumbnailing requests, then we don't need to start a
 background epsilon process.

i think this is probably the real driver for dbus and i think its a good idea.
mind u this can be a huge time sink. imho we should first just do it
internally. develop something that works with a view to it being very generic
and clean - yet easily able to be modified if needed - at least in small
details, or extended. then when its settled - formalise the spec docs and
propose?

 These don't really help the release schedule for iNDT, but I think
 they would create a better long term result.
 
 On 12/3/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
 
  I wrote (regarding raster's thumb),
 
 It seems to have an evas-object interface that abstracts away
   the 'thumb file' concept and just concentrates on giving you the
   display-object you want for a given input 'uri' and desired size
   (probably could give more info as well). 
 
  It's.. kinda nice. :)  I wonder if the fdo standards could
  be somehow geared more towards providing something like 'interfaces'
  of some sort for things like this.. rather than specifying that one
  should to give large and small image files somewhere.
 
  _
  Dog supplies that give joy to man's best friend.  Click Here.
  http://thirdpartyoffers.juno.com/TGL2121/fc/Ioyw6i3naZ3vo7pnPMWDZKbC65edgry6H9JU4KlnEAklozN3Ee5KkA/
 
 
 
  -
  SF.Net email is sponsored by: The Future of Linux Business White Paper
  from Novell.  From the desktop to the data center, Linux is going
  mainstream.  Let it simplify your IT future.
  http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
  ___
  enlightenment-devel mailing list
  enlightenment-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 
 
 -
 SF.Net email is sponsored by: The Future of Linux Business White Paper
 from Novell.  From the desktop to the data center, Linux is going
 mainstream.  Let it simplify your IT future.
 http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 


-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)[EMAIL PROTECTED]


-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2008-01-13 Thread The Rasterman
On Mon, 3 Dec 2007 14:32:37 -0300 Gustavo Sverzut Barbieri
[EMAIL PROTECTED] babbled:

 On Dec 3, 2007 1:41 PM, Nathan Ingersoll [EMAIL PROTECTED] wrote:
  This is a little off-topic for the thread, but there are some long
  term changes I would like to see for epsilon eventually.
 
  1. Split thumbnail generation into pluggable processes. If we can
  specify external commands for generating thumbnails, we reduce the
  amount of code necessary to support new formats. This also gives us
  robustness when a dependency mis-behaves and crashes the thumbnailing
  process.
 
 I'd like to have the minimum overhead with the safest approach, for
 that I'd like to have just one worker process, if it crashes (or
 take too long to reply) it would be restarted... but fork+exec
 everytime is a no go... general usecase (not just canola) is to
 thumbnail jpeg/png, these can be considered pretty safe/stable and
 wouldn't cause much trouble... however using emotion to provide movie
 thumbnails or an svg/edje reader may cause problems due the
 flexibility to do bad things :-P

agreed. an approach where we CAN do both would probably be best.

  2. Switch to dbus for client to server IPC. Many of the issues
  currently with the epsilon daemon stem from some initial problems with
  ecore_ipc, and the hacky conversion to ecore_con. Dbus is also
  targeted at remote method invocation, which is essentially the goal of
  the epsilon daemon communications.
 
 I'm not really found of DBus, actually I was planning to have a
 hand-written system to do the communication instead of ecore_{ipc,con}
 because the messages are really simple and can be done to fit a fixed
 size, much easier and fast to handle, also processing on peers could
 avoid alloc/free and thus not trash the memory. If these are well
 encapsulated like epsilon is today, I see no problem. Also, by having
 such hand-written message system I'd not require ecore at all for the
 server process, just the worker, it's good to have things as light as
 possible.

ecore trashes memory a lot more - every event is alloced :) in general efl is
very alloc-happy. it allocs LOTS of things all the time. its kind of a
requirement that your malloc subsystem is fast and very goof at this kind of
usage. :)

  3. Develop a dbus standard communication protocol with FDO. Ideally,
  we could get a protocol adopted by the major desktops which would
  allow for a single thumbnailing process to be present regardless of
  your application mix. For instance, if you are running nautilus under
  E and it handles thumbnailing requests, then we don't need to start a
  background epsilon process.
 
 I doubt it worth the pain, because if we go FDO we must remove any
 attempt to use .edj as thumbnail format, and it's a good alternative
 if you want to provide movie thumbnail. Going too generic may hurt
 more than help if nobody else use it, and believe me these guys are
 hard to get using done by others, you know the NIH syndrome...

agreed it will be painful. i don't think we should force edje into a thumbnail
format - BUT eet is possibly useful there as its agnostic when it comes to
glib, qt, efl etc.. the gtnome/kde crowd as best i know do not have any such
container format handler to pack many data items compactly into a single file
with an easy api to access it again.  so we are not competing.

  These don't really help the release schedule for iNDT, but I think
  they would create a better long term result.
 
 As for INdT today, yes, it won't help, but it's good to discuss the
 long term so we can help. Probably I'll hack some nasty epsilon2 to
 get it done in time, but I'll not even commit to CVS, it'll stay in
 staff.get-e.org GIT... after we have something good for the long term,
 then I can help with it and then convert canola to use it.

yeah - a bit late now :) but this discussion is good. :)

 -- 
 Gustavo Sverzut Barbieri
 --
 Jabber: [EMAIL PROTECTED]
MSN: [EMAIL PROTECTED]
   ICQ#: 17249123
  Skype: gsbarbieri
 Mobile: +55 (81) 9927 0010
 
 -
 SF.Net email is sponsored by: The Future of Linux Business White Paper
 from Novell.  From the desktop to the data center, Linux is going
 mainstream.  Let it simplify your IT future.
 http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 


-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)[EMAIL PROTECTED]


-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace

Re: [E-devel] Epsilon problems

2008-01-13 Thread The Rasterman
On Tue, 4 Dec 2007 16:36:48 -0600 Nathan Ingersoll [EMAIL PROTECTED]
babbled:

 On 12/4/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
 
  I don't think there's a need to require that 'thumbnailing'
  must involve a specific means for storing some standard image format
  somewhere.. one may not want or need to store anything really. There's
  really very little difference between 'thumbnailing', 'iconifying',
  'pre-viewing', ... or 'full-viewing'.
 
 At the very least, it should be a negotiable process where clients can
 specify the result formats they can support and the thumbnailer can
 select from those supported formats. A fallback requirement of png or
 some other standard format would be reasonable. This would allow us to
 support jpg, mpeg, edje, or whatever format we choose, and any clients
 that also support those formats could benefit.

agreed - or not even a negotiation. client sends a list of formats it can
handle (maybe with a priority number for each as it may handle one better than
another) and the thumbnailer then choses one - if it can't, it just reports an
error that it can't generate a thumb.


-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)[EMAIL PROTECTED]


-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2008-01-13 Thread The Rasterman
On Tue, 4 Dec 2007 07:36:56 GMT [EMAIL PROTECTED] [EMAIL PROTECTED] babbled:

 
 Depends. If you're already using evas, and want to load
   and save image files to smaller sized (thumbs) versions, then
   using evas rather than going thru imlib2 could be faster -
   certainly for jpegs. Maybe for pngs, *if* you're saving to eet.
   Evas premuls all loaded non-premul argb data, and when saving
   back to png it un-premuls back, so we have: png-file-in - premul
   - scale-down - un-premul - png-file-out. Which is slower than
   what imlib2 would do. But, if you save the png to an eet, then
   as raster wanted to go with the premul flow, he made it so
   the no un-premul takes place when saving pngs to eet.. and
   likewise, no premul takes place when loading pngs encoded in eet
   (like eg, in edj files).
  
  Hum... that pre-mul conversion just went unoticed to me  :-)
  BTW, how does it pre-unmul? It looks like the conversion looses
  bits that you can't get anymore if you're using no-premul (other
  softwares other than evas-based), but maybe I'm overlooking things
  (maybe to get the blend done you'd loose the bits anyway).
 
   Premul vs. non-premul is a long story.. I'm not sure any of
 us has enough years left of life to get into it here, much less when
 you're pressed for time (we can take it up later if you wish). :)
   Yes, there are 'issues' either way with this, eg. scaling
 deosn't give the same results with premul vs non-premul, and many
 other aspects here and there. But overall, premul is the way that
 makes the most sense for what evas is doing and what it's working
 with.

yup. scaling is correct with premul if you have an alpha channel - without it
it's not.

   For jpgs you don't have to worry about it since we only
 deal with rgb images then, hence there's no difference (and no premul
 or un-premul takes place). It does matter for pngs with alpha though,
 and then it's fastest to deal with pngs embedded in eet. But I think
 the cost of disk access is likely a far greater factor than any
 premul/un-premul operations anyway.

yup.

   load-thing-at-its-natural-size-to-buffer-evas1 - resize-evas1-
   to-thing-size - draw-it-to-evas1 - set-pixels-of-buffer-evas1-
   as-data-of-image-obj-of-buffer-evas2 - resize-evas2-to-whatever
   - set-fill-and-size-of-image-obj-to-size-of-evas2 - draw-image-
   obj - [write-pixels-of-evas2-to-out-file-somehow] this last step
   either directly or again via setting the resulting pixels of
   buffer evas2 to another image obj that you'd have created when you
   'resized' evas2, and then saving the image obj It's somewhat
   convoluted.
  
  I don't get why I'd need these extra steps. I'll not use current
  Canola's Evas to generate the thumb because the thumb generator will
  run on another process. But from that process I plan to just create
  the ecore_evas_buffer at the right thumb size and load image there
  (img1) resize and show, then use a hidden img2 to set the pixels
  based of buffer pixels, just to be able to save...  I guess this is
  almost what you mean in your fast case?
 
   Yes, except that img2 will need to allocate its own pixels
 no matter what you do - because evas doesn't really allow you to
 set external data without it first allocating data the size of the
 image you want (unless there've been changes I don't know about).
   So, either you create the buffer evas at thumb size and also
 create img2 at that same thumb size (thus allocating another set of
 pixels) and either copy the buffer pixels to img2 pixels, or just
 set the buffer's pixels as img2's pixels (which will cause evas to
 free the pixels it first allocated for img2, since it will note that
 the data being set is different from the one it had) -OR- you'd first
 want to create img2, set its size to the thumb size, get its data,
 and use that data as the buffer evas' pixels, then render img1. But
 setting up the buffer evas this way is a bit more subtle.
 
   Neither of these are the best way though, not for images.
 A better way is to set img1's load options to have the image load
 the file data at the thumb size, and then just save it - that's all.
 Except of course that won't work for all image formats since it
 hasn't been completely implemented.. :(
 
About size option to save, yes, it would be awesome.
 
   It's a good way for more efficient thumbing of things like
 edjes, and also for being able to do custom drawing on image data
 and have that saved directly. One other aspect I think evas could
 use is the ability to really set external data on images, ie. have
 the user set its own data+size+has_alpha, without evas allocating
 extra stuff.
 
One extra idea: maybe this thumbnailer could have the
  ecore_evas_buffer +2 image objects created on the master process
  and used by children processes? Maybe this help a bit since it would
  be just a copy on write, no calcs would have to be done... maybe
  just a minimal 

Re: [E-devel] Epsilon problems

2008-01-13 Thread The Rasterman
On Tue, 4 Dec 2007 11:16:37 GMT [EMAIL PROTECTED] [EMAIL PROTECTED] babbled:

 
   I wrote:
 
  For jpgs you don't have to worry about it since we only
  deal with rgb images then, hence there's no difference (and no
  premul or un-premul takes place). It does matter for pngs with
  alpha though, and then it's fastest to deal with pngs embedded
  in eet. But I think the cost of disk access is likely a far
  greater factor than any premul/un-premul operations anyway.
 
   I forget that the system you're dealing with is flash-drive
 based, not disk-drive.. so maybe it might have some impact to have
 to do the premul/un-premul conversions - if saving images with alpha
 to png. Both premul and un-premul conversions use only ints though,
 no floats.

it may be flash- but its flash on jffs2 or on SDIO - its still not that fast.
SEEK times are non-existant, but  bulk IO transfer still is not that fast.
hdd's still beat flash on this. flash kicks the derriere.

example:
on the n800 (for example), reads from the RAW flash device:

Read:
Flash (RAW): 14.79mb/sec
Flash   (JFFS2): 11.84mb/sec
SD Card   (RAW):  5.95mb/sec (bizarre i know - less than via FAT)
SD Card   (FAT):  7.53mb/sec

so you win in seek times - they don't exist, but IO is still slow. either way -
ballpark figures he are far below what  your average hdd can get these days
(60-80mb/sec sustained linear reads).

-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)[EMAIL PROTECTED]


-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2008-01-13 Thread The Rasterman
On Thu, 6 Dec 2007 04:08:28 GMT [EMAIL PROTECTED] [EMAIL PROTECTED] babbled:

 
   Nathan wrote:
 
 I don't think there's a need to require that 'thumbnailing'
   must involve a specific means for storing some standard image
   format somewhere.. one may not want or need to store anything
   ...
  
  At the very least, it should be a negotiable process where clients
  can specify the result formats they can support and the thumbnailer
  can select from those supported formats. A fallback requirement of
  png or some other standard format would be reasonable. This would
  allow us to support jpg, mpeg, edje, or whatever format we choose,
  and any clients that also support those formats could benefit.
 
   I suppose a minimal 'standard' format for animated images
 would be good. This is something that doesn't seem as well-established
 as say png/jpg are for static images.. eg. things like mng/mpeg don't
 seem too widely used by the 'major' toolkits to provide say animated
 icons or whatnot. Animated svgs are lacking as well, but even if used
 eventually, it's likely that one may want to save 'thumbs' of them as
 animated raster images.

mpg is very widely used - but it support no alpha channel. mng doesn't support
lossy comrpession to the extend mpeg, xvid, ogg etc. do (it supports jpeg
compression with alpha - that's about it). mng just never took off.

   One thing that isn't really dome in e, but could be, is to
 let edjes that correspond to backgrounds provide 'largesmall' thumbs
 in the edje itself.. ie. have two additional groups, say thumb_large
 and thumb_small, that give a (tweened) image representation of the
 thumnailed main background. Thus, the edje already contains the two
 generic fdo-'sized' thumbs, in the edje bg file itself - and thus
 no need to generate the things and save them to some other file,
 at least not for the two fdo-'sizes'.

it COULD but then the definer has to create these, include them AND keep them
up to date - which invariably is never done. :(

 _
 Boost your business with a small business loan. Click now!
 http://thirdpartyoffers.juno.com/TGL2121/fc/Ioyw6i3no7boEJlIdW6uesq3bZQ1Bys0EO5gL12fgDhJFHDs2D73La/
 
 
 
 -
 SF.Net email is sponsored by: The Future of Linux Business White Paper
 from Novell.  From the desktop to the data center, Linux is going
 mainstream.  Let it simplify your IT future.
 http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 


-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)[EMAIL PROTECTED]


-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2008-01-13 Thread [EMAIL PROTECTED]

Carsten wrote:

   At the very least, it should be a negotiable process where
   clients can specify the result formats they can support and
   the thumbnailer can select from those supported formats.
   A fallback requirement of png or some other standard format
   would be reasonable. This would allow us to support jpg, mpeg,
   edje, or whatever format we choose, and any clients that also
   support those formats could benefit.
  
  I suppose a minimal 'standard' format for animated images
  would be good. This is something that doesn't seem as well-
  established as say png/jpg are for static images.. eg. things
  like mng/mpeg don't seem too widely used by the 'major' toolkits
  to provide say animated icons or whatnot. Animated svgs are
  lacking as well, but even if used eventually, it's likely that
  one may want to save 'thumbs' of them as animated raster images.
 
 mpg is very widely used - but it support no alpha channel.
 mng doesn't support lossy comrpession to the extend mpeg, xvid,
 ogg etc. do (it supports jpeg compression with alpha - that's
 about it). mng just never took off.

As it turns out though, there's a new attempt to fix many
of the 'issues' people had with the original mng format. It's being
proposed by the Mozilla project, and its main focus is to have a
simple format for obtaining animated pngs (with alpha), which they're
calling apng.

Here's a link to their spec:

http://wiki.mozilla.org/APNG_Specification

I briefly looked at it and it does indeed seem well suited
to the goals they had in mind.

I'd brought this up briefly with Vincent a few days ago
since I was curious of the animated image format work he'd started
a bit back (I can't recall the original email where he mentions it).
Vincent had something similar in mind to Mozilla's as well,
but he'd like to use some method of further compressing the animation.
I'm sure he can be more specific for anyone who might be curious to
help him with it.. it could end up being very nice.

In any case, Mozilla's apng seems like a reasonable animated
image format for people to use right now, and I hope it'll get wide
adoption (I think the png group still wants to stick by mng, even if
essentially no one uses it). They even have some tools to create
apngs from various kinds of sources.

   jose.

_
Click to become an artist and quit your boring job.
http://thirdpartyoffers.juno.com/TGL2121/fc/Ioyw6i3mzjrY1oPA0xIernC8yoLkHVhbIwrQl7DJmjShiM7bB8krqg/



-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2007-12-06 Thread [EMAIL PROTECTED]

   One thing that isn't really dome in e, but could be, is to
 let edjes that correspond to backgrounds provide 'largesmall'
 thumbs in the edje itself.. ie. have two additional groups, say
 thumb_large and thumb_small, that give a (tweened) image
 representation of the thumnailed main background. Thus, the edje
 already contains the two generic fdo-'sized' thumbs, in the edje
 bg file itself - and thus no need to generate the things and save
 them to some other file, at least not for the two fdo-'sizes'.

Let's play with this idea a bit and see what we can squeeze
out of it.

Let's suppose we want to write an e17 module to display e17
backgrounds in a way similar to Apple's iTunes coverflow.
Now, it's not difficult to actually do this exactly the same
as they've done it, we might just need to be able to projectively
rotate and gradient-fade images - and indeed evas may one day get
such a capability, one way or another. But we could do something
like this without direct support from evas if we had a little support
from the bg's themselves.
Let's say that some bg's had thumb_large_front, thumb_
large_left and thumb_large_right groups which held thumbs with
gradient reflections, with the latter at some left/right angles.
Given that, it would be just a matter of implementing the
dynamics of an e17 coverflow-like background browser.. It might
not be exactly as smooth and whatnot as Apple's, but it'd likely be
nice enough - and quite fast (and with animated 'covers').

We could go all the way and do this exactly (or better) than
Apple's, just use a thumb_large group if there, or generate the live
thumb (as is now done) if not, and dynamically generate the projective
rotations and grad-reflections via fast-enough software routines
(it's not difficult), then do the browser-module. Or do other similar
kinds of ideas.. maybe things with shadows, maybe things that come in
at some angle, like raster's expedite flowers but with the thumbs
slightly overlapping, or whatever.

The point here being that the notions of a thumbnailer and
that of the thumbnail display browser might optionally be 'fitted'
to work together, or not, and that one really has a lot of flexibility
in what can be done here.. either way.

_
Credit card rates to high?  Click here to find home equity line of credit 
options.
http://thirdpartyoffers.juno.com/TGL2121/fc/Ioyw6i3m3ub5L2NtUoQSXl6grLlNO0R2cb8FBzXn6DwOFfq84wsawQ/



-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2007-12-05 Thread [EMAIL PROTECTED]

Nathan wrote:

I don't think there's a need to require that 'thumbnailing'
  must involve a specific means for storing some standard image
  format somewhere.. one may not want or need to store anything
  ...
 
 At the very least, it should be a negotiable process where clients
 can specify the result formats they can support and the thumbnailer
 can select from those supported formats. A fallback requirement of
 png or some other standard format would be reasonable. This would
 allow us to support jpg, mpeg, edje, or whatever format we choose,
 and any clients that also support those formats could benefit.

I suppose a minimal 'standard' format for animated images
would be good. This is something that doesn't seem as well-established
as say png/jpg are for static images.. eg. things like mng/mpeg don't
seem too widely used by the 'major' toolkits to provide say animated
icons or whatnot. Animated svgs are lacking as well, but even if used
eventually, it's likely that one may want to save 'thumbs' of them as
animated raster images.

One thing that isn't really dome in e, but could be, is to
let edjes that correspond to backgrounds provide 'largesmall' thumbs
in the edje itself.. ie. have two additional groups, say thumb_large
and thumb_small, that give a (tweened) image representation of the
thumnailed main background. Thus, the edje already contains the two
generic fdo-'sized' thumbs, in the edje bg file itself - and thus
no need to generate the things and save them to some other file,
at least not for the two fdo-'sizes'.

_
Boost your business with a small business loan. Click now!
http://thirdpartyoffers.juno.com/TGL2121/fc/Ioyw6i3no7boEJlIdW6uesq3bZQ1Bys0EO5gL12fgDhJFHDs2D73La/



-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2007-12-04 Thread [EMAIL PROTECTED]

Nathan wrote:

 1. Split thumbnail generation into pluggable processes. If we can
 specify external commands for generating thumbnails, we reduce the
 amount of code necessary to support new formats. This also gives us
 robustness when a dependency mis-behaves and crashes the thumbnailing
 process.
 
 2. Switch to dbus for client to server IPC. Many of the issues
 currently with the epsilon daemon stem from some initial problems
 with ecore_ipc, and the hacky conversion to ecore_con. Dbus is also
 targeted at remote method invocation, which is essentially the goal
 of the epsilon daemon communications.
 
 3. Develop a dbus standard communication protocol with FDO. Ideally,
 we could get a protocol adopted by the major desktops which would
 allow for a single thumbnailing process to be present regardless of
 your application mix. For instance, if you are running nautilus under
 E and it handles thumbnailing requests, then we don't need to start a
 background epsilon process.

I think these are all reasonable ideas. I especially like the
idea of having pluggable thumbnail generation that can be used by
different desktop/handheld environments. It's absurd that right now
there's really just: everything has to be some 'standard' image format
or everyone does their own thing and no one else can use it but them.
I don't think there's a need to require that 'thumbnailing'
must involve a specific means for storing some standard image format
somewhere.. one may not want or need to store anything really. There's
really very little difference between 'thumbnailing', 'iconifying',
'pre-viewing', ... or 'full-viewing'.

If web-browsers have a notion of interfaces for plugings that
can display stuff as varied as they do, there shouldn't be any reason
why desktops can't be as flexible, or maybe do even better.

   jose.

_
Looking for insurance?  Click to compare and save big.
http://thirdpartyoffers.juno.com/TGL2121/fc/Ioyw6i3m275pfSc0Kmxy2ouBR0YuLqtPmFmIrPpMwHwci7k448XSWU/



-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2007-12-04 Thread [EMAIL PROTECTED]

I wrote:

   For jpgs you don't have to worry about it since we only
 deal with rgb images then, hence there's no difference (and no
 premul or un-premul takes place). It does matter for pngs with
 alpha though, and then it's fastest to deal with pngs embedded
 in eet. But I think the cost of disk access is likely a far
 greater factor than any premul/un-premul operations anyway.

I forget that the system you're dealing with is flash-drive
based, not disk-drive.. so maybe it might have some impact to have
to do the premul/un-premul conversions - if saving images with alpha
to png. Both premul and un-premul conversions use only ints though,
no floats.

_
Free information on hiring a Business Consulting Service. Click here.
http://thirdpartyoffers.juno.com/TGL2121/fc/Ioyw6i3m0mYEcDI9G4NoYxgzY3bLAGgAk35H8Jh0LfBtPMnL14vCQo/



-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2007-12-04 Thread Nathan Ingersoll
On 12/4/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:

 I don't think there's a need to require that 'thumbnailing'
 must involve a specific means for storing some standard image format
 somewhere.. one may not want or need to store anything really. There's
 really very little difference between 'thumbnailing', 'iconifying',
 'pre-viewing', ... or 'full-viewing'.

At the very least, it should be a negotiable process where clients can
specify the result formats they can support and the thumbnailer can
select from those supported formats. A fallback requirement of png or
some other standard format would be reasonable. This would allow us to
support jpg, mpeg, edje, or whatever format we choose, and any clients
that also support those formats could benefit.

-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2007-12-03 Thread [EMAIL PROTECTED]

I wrote:

   I looked at e_thumb_main - it saves to eet files directly.
 That's not really sufficient for giving flexible thumbnail-file
 saving functionality for others to use - it's just too restrictive
 ...

Having said that, I also just took a quick look at epsilon..
and it seems to me that 'e_thumb' has some nice aspects as well over
epsilon - for efl based stuff.
It seems to have an evas-object interface that abstracts away
the 'thumb file' concept and just concentrates on giving you the
display-object you want for a given input 'uri' and desired size
(probably could give more info as well). I'm not sure what the real
difference is between an e_live_thumb vs a 'plain' e_thumb, though
the former seems to want the latter.

Well, maybe there's room here for some kind of revamp/merger/
new-thing or whatever that could take the best from both.. But I think
that something like this could benefit greatly from:

1. Contrast and compare with other existing solutions, say
   from kde/gnome.
2. Feedback from people who could use such a thing, say
   toolkit, fm, wm, ... writers.

   jose.

_
Click for free info on earning your associates degrees.
http://thirdpartyoffers.juno.com/TGL2121/fc/Ioyw6i3l8StEIKOKuEUXtIZoRwUDYMvjvRS7bBFdvoSgHrd4cnXnaY/



-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2007-12-03 Thread [EMAIL PROTECTED]

I wrote (regarding raster's thumb),

   It seems to have an evas-object interface that abstracts away
 the 'thumb file' concept and just concentrates on giving you the
 display-object you want for a given input 'uri' and desired size
 (probably could give more info as well). 

It's.. kinda nice. :)  I wonder if the fdo standards could
be somehow geared more towards providing something like 'interfaces'
of some sort for things like this.. rather than specifying that one
should to give large and small image files somewhere.

_
Dog supplies that give joy to man's best friend.  Click Here.
http://thirdpartyoffers.juno.com/TGL2121/fc/Ioyw6i3naZ3vo7pnPMWDZKbC65edgry6H9JU4KlnEAklozN3Ee5KkA/



-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2007-12-03 Thread Nathan Ingersoll
On 12/3/07, Gustavo Sverzut Barbieri [EMAIL PROTECTED] wrote:
 On Dec 3, 2007 1:41 PM, Nathan Ingersoll [EMAIL PROTECTED] wrote:

 I'd like to have the minimum overhead with the safest approach, for
 that I'd like to have just one worker process, if it crashes (or
 take too long to reply) it would be restarted... but fork+exec
 everytime is a no go... general usecase (not just canola) is to
 thumbnail jpeg/png, these can be considered pretty safe/stable and
 wouldn't cause much trouble... however using emotion to provide movie
 thumbnails or an svg/edje reader may cause problems due the
 flexibility to do bad things :-P

Just to be clear, I'm not advocating fork+exec for each thumbnail for
every case. My thinking is more along the lines that we keep thumbnail
generation for core formats (jpeg, png) inside the primary worker
thread. The difference is rather than requiring a new plugin for each
format we want to support, allow for fork+exec style generation for
specified file formats in order to re-use existing infrastructure.
This could also be improved if some external handlers could take a
batch of arguments. We can certainly provide plugins for formats that
we support, which could improve efficiency, but we can't expect to
support all file types.

Thumbnailing is also a task that fits well in a parallel model, since
the task has a fair amount of latency reading from disk. By using
multiple workers you can take advantage of this latency and have CPU
bound processes while others are IO bound. Also, since the tasks are
independent they can be scaled out nicely across multiple cores. Both
of these aspects may be irrelevant for Canola, since it is running off
a flash based drive on single core CPU.

 I'm not really found of DBus, actually I was planning to have a
 hand-written system to do the communication instead of ecore_{ipc,con}
 because the messages are really simple and can be done to fit a fixed
 size, much easier and fast to handle, also processing on peers could
 avoid alloc/free and thus not trash the memory. If these are well
 encapsulated like epsilon is today, I see no problem. Also, by having
 such hand-written message system I'd not require ecore at all for the
 server process, just the worker, it's good to have things as light as
 possible.

While I agree that keeping things light is important, I would like to
know your reasoning behind why dbus is not a reasonable candidate in
this case? I don't have any data to back it up, but I find it hard to
believe that the communication overhead of dbus would be anywhere near
the relative slowness of the actual thumbnail generation. As long as
you can queue requests, the latency should be completely dominated by
waiting for the resulting thumbnail. The IPC speed should really only
be a problem if you are making round-trip requests and waiting on the
result before the next request.

 I doubt it worth the pain, because if we go FDO we must remove any
 attempt to use .edj as thumbnail format, and it's a good alternative
 if you want to provide movie thumbnail. Going too generic may hurt
 more than help if nobody else use it, and believe me these guys are
 hard to get using done by others, you know the NIH syndrome...

Except what you're encouraging is exactly NIH (not that we have any
lack of that around here). What is the advantage of using edje for
storing generated thumbnails vs using the filesystem? The main
advantage of edje is efficient bundling of data into a single file,
but with thumbnails, they are more tied to their original source than
with other surrounding files. Also, edje writes out the entire eet
each time a save is done, this means that you will now be writing out
every enclosed thumbnail instead of the single one that is updated.

It's difficult to say if no one else would use it if we're not talking
to anyone else about it. I think it is worth opening a discussion with
FDO members with a base spec as a point of reference.

 As for INdT today, yes, it won't help, but it's good to discuss the
 long term so we can help. Probably I'll hack some nasty epsilon2 to
 get it done in time, but I'll not even commit to CVS, it'll stay in
 staff.get-e.org GIT... after we have something good for the long term,
 then I can help with it and then convert canola to use it.

Oops, I got the capitalization scheme of INdT wrong again. This sounds
like a reasonable plan for your short-term issue.

Good luck with your release.

-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2007-12-03 Thread Gustavo Sverzut Barbieri
On Dec 3, 2007 9:46 PM, Nathan Ingersoll [EMAIL PROTECTED] wrote:
 On 12/3/07, Gustavo Sverzut Barbieri [EMAIL PROTECTED] wrote:
  On Dec 3, 2007 1:41 PM, Nathan Ingersoll [EMAIL PROTECTED] wrote:
 
  I'd like to have the minimum overhead with the safest approach, for
  that I'd like to have just one worker process, if it crashes (or
  take too long to reply) it would be restarted... but fork+exec
  everytime is a no go... general usecase (not just canola) is to
  thumbnail jpeg/png, these can be considered pretty safe/stable and
  wouldn't cause much trouble... however using emotion to provide movie
  thumbnails or an svg/edje reader may cause problems due the
  flexibility to do bad things :-P

 Just to be clear, I'm not advocating fork+exec for each thumbnail for
 every case. My thinking is more along the lines that we keep thumbnail
 generation for core formats (jpeg, png) inside the primary worker
 thread. The difference is rather than requiring a new plugin for each
 format we want to support, allow for fork+exec style generation for
 specified file formats in order to re-use existing infrastructure.
 This could also be improved if some external handlers could take a
 batch of arguments. We can certainly provide plugins for formats that
 we support, which could improve efficiency, but we can't expect to
 support all file types.

ah, ok, this makes sense. I was afraid of one trying to call
imagimagick's convert to just process jpeg, but it make sense to use
it as a fallback (that app understand almost every format on earth).


 Thumbnailing is also a task that fits well in a parallel model, since
 the task has a fair amount of latency reading from disk. By using
 multiple workers you can take advantage of this latency and have CPU
 bound processes while others are IO bound. Also, since the tasks are
 independent they can be scaled out nicely across multiple cores. Both
 of these aspects may be irrelevant for Canola, since it is running off
 a flash based drive on single core CPU.

yes, I agree with parallel and most implementations (epsilon/e_thumb)
seems to support multiple workers, I'd like to keep it. As for it
doesn't make sense for us, _today_ it doesn't but there are multi-core
ARM comming, so it's good to think a bit ahead here :-)


  I'm not really found of DBus, actually I was planning to have a
  hand-written system to do the communication instead of ecore_{ipc,con}
  because the messages are really simple and can be done to fit a fixed
  size, much easier and fast to handle, also processing on peers could
  avoid alloc/free and thus not trash the memory. If these are well
  encapsulated like epsilon is today, I see no problem. Also, by having
  such hand-written message system I'd not require ecore at all for the
  server process, just the worker, it's good to have things as light as
  possible.

 While I agree that keeping things light is important, I would like to
 know your reasoning behind why dbus is not a reasonable candidate in
 this case? I don't have any data to back it up, but I find it hard to
 believe that the communication overhead of dbus would be anywhere near
 the relative slowness of the actual thumbnail generation. As long as
 you can queue requests, the latency should be completely dominated by
 waiting for the resulting thumbnail. The IPC speed should really only
 be a problem if you are making round-trip requests and waiting on the
 result before the next request.

it can be, I also don't have any numbers to back me up... maybe I'm
just too paranoid after some problems we had with the device, things
that looked ok suddently turned into bootleneck, but with more time to
test I can prove myself wrong... these things always happen when I'm
under pressure :-P


  I doubt it worth the pain, because if we go FDO we must remove any
  attempt to use .edj as thumbnail format, and it's a good alternative
  if you want to provide movie thumbnail. Going too generic may hurt
  more than help if nobody else use it, and believe me these guys are
  hard to get using done by others, you know the NIH syndrome...

 Except what you're encouraging is exactly NIH (not that we have any
 lack of that around here). What is the advantage of using edje for
 storing generated thumbnails vs using the filesystem? The main
 advantage of edje is efficient bundling of data into a single file,
 but with thumbnails, they are more tied to their original source than
 with other surrounding files. Also, edje writes out the entire eet
 each time a save is done, this means that you will now be writing out
 every enclosed thumbnail instead of the single one that is updated.

I was not clear here: I was saying to use edje to store each file, but
it was more target at movie thumbnails (see what rage_thumbd does).
But sure, we could use some mng/mjpeg/mpeg1 or another simple format.


 It's difficult to say if no one else would use it if we're not talking
 to anyone else about it. I think it is worth opening a 

Re: [E-devel] Epsilon problems

2007-12-03 Thread [EMAIL PROTECTED]

Depends. If you're already using evas, and want to load
  and save image files to smaller sized (thumbs) versions, then
  using evas rather than going thru imlib2 could be faster -
  certainly for jpegs. Maybe for pngs, *if* you're saving to eet.
  Evas premuls all loaded non-premul argb data, and when saving
  back to png it un-premuls back, so we have: png-file-in - premul
  - scale-down - un-premul - png-file-out. Which is slower than
  what imlib2 would do. But, if you save the png to an eet, then
  as raster wanted to go with the premul flow, he made it so
  the no un-premul takes place when saving pngs to eet.. and
  likewise, no premul takes place when loading pngs encoded in eet
  (like eg, in edj files).
 
 Hum... that pre-mul conversion just went unoticed to me  :-)
 BTW, how does it pre-unmul? It looks like the conversion looses
 bits that you can't get anymore if you're using no-premul (other
 softwares other than evas-based), but maybe I'm overlooking things
 (maybe to get the blend done you'd loose the bits anyway).

Premul vs. non-premul is a long story.. I'm not sure any of
us has enough years left of life to get into it here, much less when
you're pressed for time (we can take it up later if you wish). :)
Yes, there are 'issues' either way with this, eg. scaling
deosn't give the same results with premul vs non-premul, and many
other aspects here and there. But overall, premul is the way that
makes the most sense for what evas is doing and what it's working
with.
For jpgs you don't have to worry about it since we only
deal with rgb images then, hence there's no difference (and no premul
or un-premul takes place). It does matter for pngs with alpha though,
and then it's fastest to deal with pngs embedded in eet. But I think
the cost of disk access is likely a far greater factor than any
premul/un-premul operations anyway.

  load-thing-at-its-natural-size-to-buffer-evas1 - resize-evas1-
  to-thing-size - draw-it-to-evas1 - set-pixels-of-buffer-evas1-
  as-data-of-image-obj-of-buffer-evas2 - resize-evas2-to-whatever
  - set-fill-and-size-of-image-obj-to-size-of-evas2 - draw-image-
  obj - [write-pixels-of-evas2-to-out-file-somehow] this last step
  either directly or again via setting the resulting pixels of
  buffer evas2 to another image obj that you'd have created when you
  'resized' evas2, and then saving the image obj It's somewhat
  convoluted.
 
 I don't get why I'd need these extra steps. I'll not use current
 Canola's Evas to generate the thumb because the thumb generator will
 run on another process. But from that process I plan to just create
 the ecore_evas_buffer at the right thumb size and load image there
 (img1) resize and show, then use a hidden img2 to set the pixels
 based of buffer pixels, just to be able to save...  I guess this is
 almost what you mean in your fast case?

Yes, except that img2 will need to allocate its own pixels
no matter what you do - because evas doesn't really allow you to
set external data without it first allocating data the size of the
image you want (unless there've been changes I don't know about).
So, either you create the buffer evas at thumb size and also
create img2 at that same thumb size (thus allocating another set of
pixels) and either copy the buffer pixels to img2 pixels, or just
set the buffer's pixels as img2's pixels (which will cause evas to
free the pixels it first allocated for img2, since it will note that
the data being set is different from the one it had) -OR- you'd first
want to create img2, set its size to the thumb size, get its data,
and use that data as the buffer evas' pixels, then render img1. But
setting up the buffer evas this way is a bit more subtle.

Neither of these are the best way though, not for images.
A better way is to set img1's load options to have the image load
the file data at the thumb size, and then just save it - that's all.
Except of course that won't work for all image formats since it
hasn't been completely implemented.. :(

   About size option to save, yes, it would be awesome.

It's a good way for more efficient thumbing of things like
edjes, and also for being able to do custom drawing on image data
and have that saved directly. One other aspect I think evas could
use is the ability to really set external data on images, ie. have
the user set its own data+size+has_alpha, without evas allocating
extra stuff.

   One extra idea: maybe this thumbnailer could have the
 ecore_evas_buffer +2 image objects created on the master process
 and used by children processes? Maybe this help a bit since it would
 be just a copy on write, no calcs would have to be done... maybe
 just a minimal saving? Do you see any problems with that (some file
 descriptors that would be inherited and problems could show?)

Ummm... let's hold those thoughts til a bit later. :)

_

Re: [E-devel] Epsilon problems

2007-12-02 Thread [EMAIL PROTECTED]

  As raster mentioned, and as I believe, the best thing for epsilon
  would be a rewrite using evas instead of imlib2... something
  extremely similar to e_thumb. Raster said that if this did occur,
  e would likely change to using epsilon as well.

If epsilon is still using imlib2 for creating thumbs, it must
be either because at the time it first appeared evas could not then
save images to files, or maybe because it wanted to use more image
loaders/savers than evas had (evas had built-in jpg/png/eet only at
first, or rather at second - at first it also used imlib2 for loading,
and the original-original evas used imlib2 for drawing too).
If so, these two issues should no longer be relevant: evas
can save to files, and one can write as many loaders/savers as desired.
In fact, I think that imlib2 doesn't have an svg loader, which evas
does. Any special-purpose loaders that one may want for epsilon, but
not in current evas, one could write expressly for epsilon if desired.

On the other hand, uing evas for simply loading and saving
'thumbnails' of a couple of images is somewhat of an overkill.. but
not if you're doing many.

 - how expensive is evas/ecore_evas_buffer in comparison to imlib2
 to generate thumbs;

You don't need ecore_evas_buffer to generate 'thumbs' of
jpg/png/svg, that's only for generating smaller views of a 'general'
evas canvas rendering. For example, if you want to show a live thumb
of an animated edje, or bunch of edjes, or just about anything.

 - saving to eet the uncompressed data really help? Ok, this is
 more about testing on our hardware, but maybe it will not help
 and it's cheaper to uncompress a JPEG than read pixels from flash
 (flash slowness versus cpu usage). In that case, what's the best
 option to save the image as JPEG? Create an evas_object_image on
 the same canvas, set it's pixesl to buffer pixels and then
 evas_object_image_save() it?

Saving what to eet? Thumbs of jpgs/pngs? Depends what you
want to do with them, and how many... The best option to save
the image as JPEG is somewhat hard to say - it depends on the
context you're working with.
But if you're using evas, and you want to use it to load
and save 'thumbs' of jpgs back as jpgs, then just create an image
object (hide it), set the load size (evas uses the same 'quick'
thumbing mechanism for jpgs as epeg), set the file, and then save
it to the thumb file (use flags for jpg quality and compression),
repeating for as many image files as you want. Or if you want to
do this in a separate evas, then create a buffer evas and then do
as above.

 Also, what to change in e_thumb to make it the perfect epsilon?
 fdo-compatible saving? Use epeg?

 What is fdo-compatible saving?

A more general question would be:  What does epsilon not
have right now that would make it better for people's needs?
Any capabilities it's missing that people want? Any api additions
or modifications anyone have in mind?

   jose.

_
Discount Online Trading - Click Now!
http://thirdpartyoffers.juno.com/TGL2121/fc/Ioyw6i3mJ8XfD6Y4cnWo37eHOLUtROMi38mJQe5Buj2XyWLbBt0ctS/



-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2007-12-02 Thread [EMAIL PROTECTED]

  - how expensive is evas/ecore_evas_buffer in comparison to imlib2
  to generate thumbs;
 
   You don't need ecore_evas_buffer to generate 'thumbs' of
 jpg/png/svg, that's only for generating smaller views of a 'general'
 evas canvas rendering. For example, if you want to show a live thumb
 of an animated edje, or bunch of edjes, or just about anything.

Unless... Oh, oh.. unless we didn't finish off implementing
the load-size option for all loaders. I know we did it for the svg
loader, and that the jpg loader respects loading scaled-down-by-dyads,
but I can't recall if we really did finish off making sure that all
loaders respected the load-size option.. need to take a look. If not,
then it should be filed as an evas BUG.

_
Surf a world without wires. Click now for great wireless Internet solutions!
http://thirdpartyoffers.juno.com/TGL2121/fc/Ioyw6i3mFpiycmcZ4UgiHjwK5y5QltR0iyZyopTyddMt9vTAwuygac/



-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2007-12-02 Thread Gustavo Sverzut Barbieri
On Dec 2, 2007 6:16 AM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:

   As raster mentioned, and as I believe, the best thing for epsilon
   would be a rewrite using evas instead of imlib2... something
   extremely similar to e_thumb. Raster said that if this did occur,
   e would likely change to using epsilon as well.

 If epsilon is still using imlib2 for creating thumbs, it must
 be either because at the time it first appeared evas could not then
 save images to files, or maybe because it wanted to use more image
 loaders/savers than evas had (evas had built-in jpg/png/eet only at
 first, or rather at second - at first it also used imlib2 for loading,
 and the original-original evas used imlib2 for drawing too).
 If so, these two issues should no longer be relevant: evas
 can save to files, and one can write as many loaders/savers as desired.
 In fact, I think that imlib2 doesn't have an svg loader, which evas
 does. Any special-purpose loaders that one may want for epsilon, but
 not in current evas, one could write expressly for epsilon if desired.

 On the other hand, uing evas for simply loading and saving
 'thumbnails' of a couple of images is somewhat of an overkill.. but
 not if you're doing many.

we're doing many, and working on an embedded device :-(


  - how expensive is evas/ecore_evas_buffer in comparison to imlib2
  to generate thumbs;

 You don't need ecore_evas_buffer to generate 'thumbs' of
 jpg/png/svg, that's only for generating smaller views of a 'general'
 evas canvas rendering. For example, if you want to show a live thumb
 of an animated edje, or bunch of edjes, or just about anything.

that's why I asked, without any testing I'd say it will be slower/overkill...


  - saving to eet the uncompressed data really help? Ok, this is
  more about testing on our hardware, but maybe it will not help
  and it's cheaper to uncompress a JPEG than read pixels from flash
  (flash slowness versus cpu usage). In that case, what's the best
  option to save the image as JPEG? Create an evas_object_image on
  the same canvas, set it's pixesl to buffer pixels and then
  evas_object_image_save() it?

 Saving what to eet? Thumbs of jpgs/pngs? Depends what you
 want to do with them, and how many... The best option to save
 the image as JPEG is somewhat hard to say - it depends on the
 context you're working with.

since our thumbnailer is still just used for photos and thus JPEG (ok,
some people have them in different formats, but JPEG is the most used
here), we're fine with a EPEG based thing.


 But if you're using evas, and you want to use it to load
 and save 'thumbs' of jpgs back as jpgs, then just create an image
 object (hide it), set the load size (evas uses the same 'quick'
 thumbing mechanism for jpgs as epeg), set the file, and then save
 it to the thumb file (use flags for jpg quality and compression),
 repeating for as many image files as you want. Or if you want to
 do this in a separate evas, then create a buffer evas and then do
 as above.

basically what I wrote :-)


  Also, what to change in e_thumb to make it the perfect epsilon?
  fdo-compatible saving? Use epeg?

  What is fdo-compatible saving?

save to ~/.thumbnails/{large,normal,failed}/$md5hash.$ext


 A more general question would be:  What does epsilon not
 have right now that would make it better for people's needs?
 Any capabilities it's missing that people want? Any api additions
 or modifications anyone have in mind?

Epsilon is almost good for us, we even have it patched to generate in
this canola size, we could make this sizes pluggable (at compile or
runtime) in some way, but the problem for us is that it is crashing
for no good reason... and I couldn't find out the reason and I really
don't have the time to do some more elaborated analysis (the Canola
release is 12-December :-D)... that's why I'm trying to quickly solve
our problem then, after the release look into fixing this properly.

-- 
Gustavo Sverzut Barbieri
--
Jabber: [EMAIL PROTECTED]
   MSN: [EMAIL PROTECTED]
  ICQ#: 17249123
 Skype: gsbarbieri
Mobile: +55 (81) 9927 0010

-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2007-12-02 Thread Gustavo Sverzut Barbieri
On Dec 2, 2007 8:02 AM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:

   - how expensive is evas/ecore_evas_buffer in comparison to imlib2
   to generate thumbs;
 
You don't need ecore_evas_buffer to generate 'thumbs' of
  jpg/png/svg, that's only for generating smaller views of a 'general'
  evas canvas rendering. For example, if you want to show a live thumb
  of an animated edje, or bunch of edjes, or just about anything.

 Unless... Oh, oh.. unless we didn't finish off implementing
 the load-size option for all loaders. I know we did it for the svg
 loader, and that the jpg loader respects loading scaled-down-by-dyads,
 but I can't recall if we really did finish off making sure that all
 loaders respected the load-size option.. need to take a look. If not,
 then it should be filed as an evas BUG.

seems that JPEG loader does respect load_size, PNG doesn't, not sure
about others.

I know that EPEG is there and Evas doesn't use it... e_thumb doesn't
use it, but use Evas... I'm newbie to this project, so maybe you can
help me understand this: is epeg just a test and the functionality was
integrated to Evas's JPEG loader? This would be amazing.

-- 
Gustavo Sverzut Barbieri
--
Jabber: [EMAIL PROTECTED]
   MSN: [EMAIL PROTECTED]
  ICQ#: 17249123
 Skype: gsbarbieri
Mobile: +55 (81) 9927 0010

-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2007-12-02 Thread Sebastian Dransfeld
Gustavo Sverzut Barbieri wrote:
 On Dec 2, 2007 8:02 AM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
 - how expensive is evas/ecore_evas_buffer in comparison to imlib2
 to generate thumbs;
   You don't need ecore_evas_buffer to generate 'thumbs' of
 jpg/png/svg, that's only for generating smaller views of a 'general'
 evas canvas rendering. For example, if you want to show a live thumb
 of an animated edje, or bunch of edjes, or just about anything.
 Unless... Oh, oh.. unless we didn't finish off implementing
 the load-size option for all loaders. I know we did it for the svg
 loader, and that the jpg loader respects loading scaled-down-by-dyads,
 but I can't recall if we really did finish off making sure that all
 loaders respected the load-size option.. need to take a look. If not,
 then it should be filed as an evas BUG.
 
 seems that JPEG loader does respect load_size, PNG doesn't, not sure
 about others.
 
 I know that EPEG is there and Evas doesn't use it... e_thumb doesn't
 use it, but use Evas... I'm newbie to this project, so maybe you can
 help me understand this: is epeg just a test and the functionality was
 integrated to Evas's JPEG loader? This would be amazing.
 

epeg was created a long time ago, as the then gnome thumbnailer sucked. 
So it is a drop-in replacement for it.

http://64.233.183.104/search?q=cache:K87JHskYhNwJ:enlightenment.sourceforge.net/Libraries/Epeg/+epeghl=enct=clnkcd=6gl=noclient=firefox-a


Sebastian

-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2007-12-02 Thread [EMAIL PROTECTED]

Gustavo wrote:

   - how expensive is evas/ecore_evas_buffer in comparison to
   imlib2 to generate thumbs;
 
  You don't need ecore_evas_buffer to generate 'thumbs'
  of jpg/png/svg, that's only for generating smaller views of a
  'general' evas canvas rendering. For example, if you want to
  show a live thumb of an animated edje, or bunch of edjes, or
  just about anything.
 
 that's why I asked, without any testing I'd say it will be slower/
 overkill...
 
Depends. If you're already using evas, and want to load and
save image files to smaller sized (thumbs) versions, then using evas
rather than going thru imlib2 could be faster - certainly for jpegs.
Maybe for pngs, *if* you're saving to eet. Evas premuls all loaded
non-premul argb data, and when saving back to png it un-premuls back,
so we have: png-file-in - premul - scale-down - un-premul -
png-file-out. Which is slower than what imlib2 would do. But, if you
save the png to an eet, then as raster wanted to go with the premul
flow, he made it so the no un-premul takes place when saving pngs to
eet.. and likewise, no premul takes place when loading pngs encoded
in eet (like eg, in edj files).

What would be slower is if you went thru intermediate
buffer evases to do down-scaling, ie. one would then have:

load-thing-at-its-natural-size-to-buffer-evas1 - resize-evas1-to-
thing-size - draw-it-to-evas1 - set-pixels-of-buffer-evas1-as-data
-of-image-obj-of-buffer-evas2 - resize-evas2-to-whatever - set-fill
-and-size-of-image-obj-to-size-of-evas2 - draw-image-obj - [write-
pixels-of-evas2-to-out-file-somehow] this last step either directly
or again via setting the resulting pixels of buffer evas2 to another
image obj that you'd have created when you 'resized' evas2, and then
saving the image obj It's somewhat convoluted.

I looked at e_thumb_main - it saves to eet files directly.
That's not really sufficient for giving flexible thumbnail-file
saving functionality for others to use - it's just too restrictive
(and not really as fast as it could be in some cases).

I think evas needs to add an image saving 'size' option, maybe
best done via the current flags for saving, so that you can save
an image that alreday exists at some size (for whatever reason), to
a file at whatever other size one wants.

 seems that JPEG loader does respect load_size, PNG doesn't, not sure
 about others.

Bummer. But it's very easy to finish this off, for anyone who
wants to give it a shot.. :) 

 I'm newbie to this project, so maybe you can help me understand this:
 is epeg just a test and the functionality was integrated to Evas's
 JPEG loader? This would be amazing.

That was raster's great desire - to have the evas jpeg loader
do what epeg did, and so did he add that in. :)

As to your being a newbie to the project.. I think you've been
a tremendous inspiration to everyone here Gustavo, you and your friends
and collegues there at Canola. Really.

   jose.

_
Study law at a school near you.  Click for more info.
http://thirdpartyoffers.juno.com/TGL2121/fc/Ioyw6i3oFGmXCSm0cvWIFZ0N1bFZGJDUQ6vQVhZYPYDKK05IzLH0Ji/



-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2007-12-01 Thread Stephen Houston
As raster mentioned, and as I believe, the best thing for epsilon would be a
rewrite using evas instead of imlib2... something extremely similar to
e_thumb. Raster said that if this did occur, e would likely change to using
epsilon as well.

On Nov 30, 2007 8:01 AM, Gustavo Sverzut Barbieri [EMAIL PROTECTED]
wrote:

 Hi guys,

 So the canola team is in a hurry to launch the new version, but we
 have some problems that we cannot solve that easily, one of them is
 about Epsilon.

 I have not much information, that's why I'm asking help, if I did have
 this info, probably I'd have fixed this already, but here it goes:

  1 - we're using an ARM platform (omap2420, Nokia N800) and getting
 problems with ld-linux doing unaligned loads! Really, it's not about
 libepsilon.so execution, but ld-linux loading it. It's really hard to
 understand/check/solve. Possible this is the cause of other problems.
 If possible, could you help me to look at epsilon code and improve
 possible bits?
  2 - from time to time we get SPANK SPANK errors from clients
 accessing the server. I'm not sure if the server is not replying, if
 it's dying or if it's being launched and client is timing out before
 it's able to reply.

 If someone have time to improve anything, please do and commit, I read
 the commit list so I'll compile and report ASAP.

 Thanks,

 --
 Gustavo Sverzut Barbieri
 --
 Jabber: [EMAIL PROTECTED]
   MSN: [EMAIL PROTECTED]
  ICQ#: 17249123
  Skype: gsbarbieri
 Mobile: +55 (81) 9927 0010

 -
 SF.Net email is sponsored by: The Future of Linux Business White Paper
 from Novell.  From the desktop to the data center, Linux is going
 mainstream.  Let it simplify your IT future.
 http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2007-12-01 Thread Gustavo Sverzut Barbieri
On Dec 1, 2007 4:44 PM, Stephen Houston [EMAIL PROTECTED] wrote:
 As raster mentioned, and as I believe, the best thing for epsilon would be a
 rewrite using evas instead of imlib2... something extremely similar to
 e_thumb. Raster said that if this did occur, e would likely change to using
 epsilon as well.

Ok, I've discussed this at #edevelop with some folks, I'll probably
use e_thumb myself because for Canola we need a special, non-standard
size: instead of bounding box of 128x128 or 256x256 we need a fixed
height of 96 with variable width (see
http://www.marceloeduardo.com/blog/design/graphical-design/canola-20-design-process-the-photo-viewer).
So using the fdo stuff will not help that much, at least not at this
part... sure we can try to use fdo sizes for video thumbs or something
else.

As for e_thumb, I did a quick view of its code and looks nice and
small, that's great, but I wonder:
 - how expensive is evas/ecore_evas_buffer in comparison to imlib2 to
generate thumbs;
 - saving to eet the uncompressed data really help? Ok, this is more
about testing on our hardware, but maybe it will not help and it's
cheaper to uncompress a JPEG than read pixels from flash (flash
slowness versus cpu usage). In that case, what's the best option to
save the image as JPEG? Create an evas_object_image on the same
canvas, set it's pixesl to buffer pixels and then
evas_object_image_save() it?

Also, what to change in e_thumb to make it the perfect epsilon?
fdo-compatible saving? Use epeg?

I'll have a look at this next week, so any tips before that is appreciated :-)

-- 
Gustavo Sverzut Barbieri
--
Jabber: [EMAIL PROTECTED]
   MSN: [EMAIL PROTECTED]
  ICQ#: 17249123
 Skype: gsbarbieri
Mobile: +55 (81) 9927 0010

-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Epsilon problems

2007-12-01 Thread Stephen Houston
Well I don't understand why you couldn't have the fdo sizes and then another
option as a feature for setting a custom size.. and of course, you wouldn't
want to save to eet.

On Dec 1, 2007 5:16 PM, Gustavo Sverzut Barbieri [EMAIL PROTECTED] wrote:

 On Dec 1, 2007 4:44 PM, Stephen Houston [EMAIL PROTECTED] wrote:
  As raster mentioned, and as I believe, the best thing for epsilon would
 be a
  rewrite using evas instead of imlib2... something extremely similar to
  e_thumb. Raster said that if this did occur, e would likely change to
 using
  epsilon as well.

 Ok, I've discussed this at #edevelop with some folks, I'll probably
 use e_thumb myself because for Canola we need a special, non-standard
 size: instead of bounding box of 128x128 or 256x256 we need a fixed
 height of 96 with variable width (see

 http://www.marceloeduardo.com/blog/design/graphical-design/canola-20-design-process-the-photo-viewer
 ).
 So using the fdo stuff will not help that much, at least not at this
 part... sure we can try to use fdo sizes for video thumbs or something
 else.

 As for e_thumb, I did a quick view of its code and looks nice and
 small, that's great, but I wonder:
  - how expensive is evas/ecore_evas_buffer in comparison to imlib2 to
 generate thumbs;
  - saving to eet the uncompressed data really help? Ok, this is more
 about testing on our hardware, but maybe it will not help and it's
 cheaper to uncompress a JPEG than read pixels from flash (flash
 slowness versus cpu usage). In that case, what's the best option to
 save the image as JPEG? Create an evas_object_image on the same
 canvas, set it's pixesl to buffer pixels and then
 evas_object_image_save() it?

 Also, what to change in e_thumb to make it the perfect epsilon?
 fdo-compatible saving? Use epeg?

 I'll have a look at this next week, so any tips before that is appreciated
 :-)

 --
 Gustavo Sverzut Barbieri
 --
 Jabber: [EMAIL PROTECTED]
   MSN: [EMAIL PROTECTED]
  ICQ#: 17249123
  Skype: gsbarbieri
 Mobile: +55 (81) 9927 0010

-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel