Not sure exactly what was going on there, but I took some time to simplify things a little and lean a little more on jit.gl.pix to do the heavy lifting in the patch. You will notice that the jit.gl.pix object that was converting rgb2luma now handles both the current frame and the previous one and packs the luminance maps together into a single texture (like using jit.pack). Also, it uses the built-in vector "dot" operation which is just a little more efficient and easier to read. Instead of downsampling the textures going into the main jit.gl.pix object, I use the "blocks" param to do a pixelated sample of the incoming textures. It's a pretty simple idea once you get how it works, and it really simplifies the patch. I hope this helps.