MMX is only coded in asm right?
gcc has c extensions for mmx, but compared to the apple altivec ones, these look much worse than the plain assembly imho..
That makes it that much harder for anyone who's not already an assembly expert. Altivec is at least C based functions and data types, but still tricky to learn. PDP is using some MMX on yuv pixels from the looks of it, maybe the results are better processing 16 bit pixels vs 32bit ones?
to clear things up, pdp uses 24bit/pixel (96bit per 2x2 macropixel). 16 bit for the luma plane and 16 bit for 2x2 subsampled chroma planes. before release i did an 8 bit / component version (12bit/pixel) but it is too small if you want to do feedback stuff and want some headroom to play with. also since all mmx integer multiplications are 16bit, this cuts down on conversions..