Hello, On 31-May-01 Ben Bridgwater wrote: > Actually I've already implemented such a beast. I have no objection to > GPLing it > (that was my general intent), other than the fact that I'm too lazy to > create a > web page or put much effort into support. You've shamed me - I'll > release it.;-) *heh* Not my intention. But it did wake you up :) > What I have does pretty much all RGB<->YUV conversions, but all in C > at this > point. I define an "Image Descriptor" data structure which defines the > representation (packed/planar YUV or packed RGB with appropriate > paramaters such > as chroma subsampling and r/g/b bpp and component masks) and includes > pointers > to the data (with row stride for flexibility). This data structure can for > example describe all V4L and AVI RGB/YUV formats as well as a TrueColor > XImage (packed RGB). Interesting; that´s a bit more information than my proposal has. > > The way I've structured it is to allow for individual optimized > conversions, so > any of my C implementations could be individually replaced with > MMX/whatever > implementations). Since this is intended for use with repeated (video) > conversions, you first request a converter function (converter = > GetConverter(imageDesc1, imageDesc2), which internally does a table lookup > for a corresponding converter), and then use it to perform conversions > (converter(imageDescIn, imageDescOut). A few questions beforehand: - does your library have a dynamic list of convertors, or just a huge matrix? - can you query all available convertors? - how difficult would it be to make the selection of the optimized assembly routines dynamic? That is, during initialization the right code for that processor is put in the list; I would not want to build different libraries for different processor subtypes (MMX, SSE, 3Dnow, etc), but rather one x86 library that can be installed on all system. I picked the x86 platform because that´s where I work on (and program in assembly as well), but is this the only one that has these kind of extensions? Maybe the 68000 CPUs have this? > Gimme a week to procastinate, and I'll release the thing. I´ll be looking forward to it. In the mean time I´ll try to find out how one compiles a .so library anyway :) - Nemosoft ----------------------------------------------------------------------------- Try SorceryNet! One of the best IRC-networks around! irc.sorcery.net:9000 URL: never IRC: nemosoft IscaBBS (bbs.isca.uiowa.edu): Nemosoft >> Never mind the daylight <<