On Apr 28, 2005, at 2:23 AM, IOhannes m zmoelnig wrote:
in theory(!) we should be able to handle this (or most of it) by just fixing some preprocessor defines in the GemPixUtil.h and recompile the whole thing. this of course implies, that people used those defines.
It would be burning to try and do this on the fly for the codecs and input devices that use 'yuvs' instead of '2vuy'.
thinking while i'm writing i notice, that the major problems might be in the altivec code. correct ? (i guess there is no way to use those shift-constants,... in a general but still optimized way within SIMD)
Altivec giveth and also taketh away, but in this case the bad bit of QT code is something that should use Altivec and doesn't. Probably the best way to go is write an Altivec pixel packing swizzler routine from scratch. A 12-15% hit is a lot better than 40%, and although my G4 plays one 720p, this is really something for G5s only where the penalty is likely to be much smaller.
I might make a switch for pix_movie to play both formats since it doesn't pass anything to the other pix_objects. pix_movieHD! I heard it was 'the year of HD' from somewhere, now where did I hear that? ;)
cgc