What I did for C3D YUV2 is to apply the test to the 8 bytes (full mmx register) By the test I assume you mean the threshold test...? and to unpack the low part and high part to packed word to make all the paddw. Yes, that's kind of what I'm thinking too. Are you working with YV12 or YUV2 ????? Both. Flux is going to support YUY2 and YV12, at least until 2.5 is stable, at which point I might delete all the YUY2 code while drinking champagne ;). I'm going to grab the C3D YV12 source and take a look right now. If you have more specific questions, feel free to ask. Thanks! I'm currently trying to get it all planned out on paper first. We'll see if this attempt gets off the ground :).