A system which utilizes the processing capabilities of the graphics
processing unit (GPU) in the graphics controller. Each frame of each
video stream or track is decoded into a buffer and a color profile
indicating parameters of the color space of the video source is
associated with the buffer. The compositor uses the color profile to
convert each buffer to a defined working color space from the source
color space. This conversion and rendering of the buffer is performed
using the fragment processing capabilities of the GPU. The compositor
then instructs the GPU to convert the buffer to the final color space of
the display device and the frame is rendered to the frame buffer for
final display. Each of these operations is done in real time for each
frame of the video.