 <p>Another way to do this would be to use OpenGL. (I think LWJGL would allow it in Java.) You could upload a 1D texture containing the straight to gamma corrected table, and then write a glsl shader that applied the gamma table to your pixels. Not sure how that would fit in with your current processing model, but I use it to process 1920x1080 HD RGBA frames in real-time all the time.</p>