From 07d112397849f85a2bf5527d787feb7de6880442 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Sat, 4 Apr 2020 12:24:36 +1100 Subject: [PATCH] renderer: disassociate requires float as well, so we may as well do the version before --- app/render/backend/opengl/openglproxy.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/render/backend/opengl/openglproxy.cpp b/app/render/backend/opengl/openglproxy.cpp index 1481262c8..c16d1b40c 100644 --- a/app/render/backend/opengl/openglproxy.cpp +++ b/app/render/backend/opengl/openglproxy.cpp @@ -94,14 +94,14 @@ void OpenGLProxy::FrameToValue(DecoderPtr decoder, StreamPtr stream, const TimeR if (ocio_method == ColorManager::kOCIOAccurate) { bool has_alpha = PixelFormat::FormatHasAlphaChannel(frame->format()); + // Convert frame to float for OCIO + frame = PixelFormat::ConvertPixelFormat(frame, has_alpha ? PixelFormat::PIX_FMT_RGBA32F : PixelFormat::PIX_FMT_RGB32F); + // If alpha is associated, disassociate for the color transform if (has_alpha && video_stream->premultiplied_alpha()) { ColorManager::DisassociateAlpha(frame); } - // Convert frame to float for OCIO - frame = PixelFormat::ConvertPixelFormat(frame, has_alpha ? PixelFormat::PIX_FMT_RGBA32F : PixelFormat::PIX_FMT_RGB32F); - // Perform color transform color_processor->ConvertFrame(frame);