summaryrefslogtreecommitdiff
path: root/src/lib/dcp_video.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-05-23 02:46:47 +0200
committerCarl Hetherington <cth@carlh.net>2025-05-26 21:51:18 +0200
commit06f359d678b8782a7f599c0a3f41b7c8282efcd9 (patch)
tree3374ed5a0c35546e262ca3c5ac2422a9b75c1c8c /src/lib/dcp_video.cc
parent1d5c211dadb9a9dc2318adce86ca9c31b367cabe (diff)
Ensure that XYZ data is not passed to rgb_to_xyz() when using Grok.
Diffstat (limited to 'src/lib/dcp_video.cc')
-rw-r--r--src/lib/dcp_video.cc20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/lib/dcp_video.cc b/src/lib/dcp_video.cc
index 525a755b8..f5dd0f98a 100644
--- a/src/lib/dcp_video.cc
+++ b/src/lib/dcp_video.cc
@@ -128,16 +128,16 @@ DCPVideo::get_size() const
void
DCPVideo::convert_to_xyz(uint16_t* dst) const
{
- 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()
- );
- }
+ DCPOMATIC_ASSERT(_frame->colour_conversion());
+
+ auto image = _frame->image([](AVPixelFormat) { return AV_PIX_FMT_RGB48LE; }, VideoRange::FULL, false);
+ dcp::rgb_to_xyz(
+ image->data()[0],
+ dst,
+ image->size(),
+ image->stride()[0],
+ _frame->colour_conversion().get()
+ );
}