image/svg+xml Player Call give(ImageProxy) FFmpegDecoderDCPDecoderVideoMXFDecoderImageDecoder       RawImageProxyMagickImageProxyJ2KImageProxy image in any pixel format and colourspace image assumed to be 24-bit RGB image in J2K which could be sRGB or XYZ VideoDecoder Add ColourConversion from Content Encoder FilmViewer Call ImageProxy::image tellingFFmpeg to convert to RGB DCPVideo  encode_locally() RawImageProxy YUV RawImageProxy RGB MagickImageProxy RGB J2KImageProxy RGB J2KImageProxy XYZ Player::get_video()/Image::crop_scale_window() DCP::convert_to_xyz()/dcp::rgb_to_xyz() To RGB48LE Preview Encode To XYZ12LE To XYZ12LE To XYZ12LE To XYZ12LE RawImageProxy YUV RawImageProxy RGB MagickImageProxy RGB J2KImageProxy RGB J2KImageProxy XYZ Player::get_video()/Image::crop_scale_window() To RGB24 Decoder ContentVideo ImageProxy Player PlayerVideo ImageProxy Butler DCPEncoder FFmpegEncoder VideoView SimpleVideoView GLVideoView calls PlayerVideo::image(), hence make_image() whichdoes crop_scale_window(), so the PlayerVideo's ImageProxy must be PADDED. calls PlayerVideo::raw_image(), and passesthe result to GL, so the PlayerVideo'sImageProxy must be COMPACT. [ImageProxy's image may be madeby ImageProxy::prepare() or by thedecoder which made the ImageProxy] [J2K optimised] [supporting any source]