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]