Here's what I've come up with so far. This verion, I believe, causes the fewest instructions to be executed given that a slight majority of pixels are copied rather than processed. esi = start of row, eax = index into row, pp = start of row in previous frame, np = start of row in next frame. Code: