FPGA - Injecting an overlay into an HDMI stream
Seems like a reasonable idea.  However, the data will not enter the FPGA bit-serial, it will be deserialized and decoded in parallel; the FPGA fabric can't go fast enough to deal with bit-serial 1920x1080 HDMI.  You'll need to decode the TMDS encoding in order to mess with the pixel data anyway.  And you'll also have to re-encode and re-serialize the signal to send it out the door again.  The data path should run on the order of one pixel per clock cycle, so you can trivially swap out colors as necessary.  I would recommend using an indexed color configuration - one 2D array of small numbers, perhaps 3 or 4 bits, that indexes into an array of RGB values.  One of the values could then correspond to 'passing through' the original color.  Or you could combine colors by adding, or even use one bit as a 'mask' bit to select whether or not to consider the original color.