diff --git a/app/streaming/video/ffmpeg-renderers/plvk.cpp b/app/streaming/video/ffmpeg-renderers/plvk.cpp index 903f17e3..2616e52e 100644 --- a/app/streaming/video/ffmpeg-renderers/plvk.cpp +++ b/app/streaming/video/ffmpeg-renderers/plvk.cpp @@ -569,6 +569,12 @@ bool PlVkRenderer::mapAvFrameToPlacebo(const AVFrame *frame, pl_frame* mappedFra mappedFrame->color.hdr.min_luma = PL_COLOR_HDR_BLACK; } + // HACK: AMF AV1 encoding on the host PC does not set full color range properly in the + // bitstream data, so libplacebo incorrectly renders the content as limited range. + // + // As a workaround, set full range manually in the mapped frame ourselves. + mappedFrame->repr.levels = PL_COLOR_LEVELS_FULL; + return true; }