On Mon, 28 Feb 2011, Bastiaan van den Berg wrote:
If only puredata just used YUV by default internally for _everything_
PureData itself doesn't support video. Video is provided by one of three frameworks, GEM, PDP and GridFlow.
so at least it would be a bit faster,
YUV is different in each of them. What is called YUV in GridFlow is YUV-444, no macropixels. GEM has YUV-422, PDP has YUV-420. This makes a lot of difference in efficiency and effective resolution.
My position on it, is that chroma often matters a lot, and when it does, then chroma has to have a high resolution. In that case, this means luma has to be set to an excessively high resolution which happens to be waste.
So, when chroma is secondary, it looks like YUV-420 does 50 % savings, YUV-422 does 33 % savings, and YUV-444 does no savings.
But in a chroma-centric application, YUV-444 and RGB do no waste, YUV-420 adds 100 % waste (this means 50 % of the signal is not used), and for YUV-422, it depends whether one can use anamorphic pixel sizes or not.
GF's linux camera input has a mode called 'magic' for downscaling the luma very quickly, in cases where a camera gives you YUV-420 when you actually want YUV-444. This has been my situation.
For ordinary veejay mixing, though, you may use telly-style YUV-422.
and I think a lot more work can be done to get a better video performance. Maybe someone on the list has a nice list of semi-universal tips to make video patches run faster?
Like, if you need a short video loop to be read several times at once, preload it already decompressed in RAM ?
Or maybe for video puredata is just 'almost' fast enough with computers nowadays..
It depends on the decoder libraries being used, how they've been compiled, etc. Those things are fairly external to GEM/PDP/GF, except that those frameworks have to include code to plug with those decoder libraries.
Can't imagine ever playing with GEM and pix_ stuff on a Pentium 3 for example. What I mean is, that puredata only recently has become a viable option for the stuff that you and I want to do with it?
What do I want to do with it ?
There is of course the completely seperate project of 'vvvv' which is also a dataflow language like puredata, but ment for video. Sadly this project is windows only afaik.
It's also non-free : it's a non-commercial license and the source code is not available.
| Mathieu Bouchard ---- tél: +1.514.383.3801 ---- Villeray, Montréal, QC