I used the hyperion framework to implement my own Raspberry Pi based ambilight system compatible with any HDMI input.
How It Works
The HDMI signal is converted to an analogue PAL video format, where a usb frame grabber passes it to the Raspberry Pi. The hyperion service calculates the matching colours and lights up the addressable LEDs over an SPI bus.