Patch from Aaron Boxer adding initial support for GPU-powered J2K encoding via his...
[dcpomatic.git] / src / lib / dcp_video.cc
index 8eb76fdd63670bebce5b09156f7900e8b8b9e6d2..78e973ca39c266a61e97d6d4cbe012c9191a424e 100644 (file)
@@ -118,6 +118,27 @@ DCPVideo::convert_to_xyz (shared_ptr<const PlayerVideo> frame, dcp::NoteHandler
        return xyz;
 }
 
+dcp::Size
+DCPVideo::get_size(void) {
+       auto image = _frame->image (bind(&PlayerVideo::keep_xyz_or_rgb, _1), VideoRange::FULL, false);
+       return image->size();
+}
+
+void
+DCPVideo::convert_to_xyz (uint16_t *dst) {
+
+       auto image = _frame->image (bind(&PlayerVideo::keep_xyz_or_rgb, _1), VideoRange::FULL, false);
+       if (_frame->colour_conversion()) {
+               dcp::rgb_to_xyz (
+                       image->data()[0],
+                       dst,
+                       image->size(),
+                       image->stride()[0],
+                       _frame->colour_conversion().get()
+                       );
+       }
+}
+
 /** J2K-encode this frame on the local host.
  *  @return Encoded data.
  */