Use BT.709 for DrmRenderer

This commit is contained in:
Cameron Gutman 2023-09-05 19:28:22 -05:00
parent 2eee9c019f
commit c8182dfab3
2 changed files with 9 additions and 0 deletions

View file

@ -1064,6 +1064,14 @@ bool DrmRenderer::isDirectRenderingSupported()
return m_SupportsDirectRendering;
}
int DrmRenderer::getDecoderColorspace()
{
// Some DRM implementations (VisionFive) don't support BT.601 color encoding,
// so let's default to BT.709, which all drivers that support COLOR_ENCODING
// seem to support.
return COLORSPACE_REC_709;
}
const char* DrmRenderer::getDrmColorEncodingValue(AVFrame* frame)
{
switch (getFrameColorspace(frame)) {

View file

@ -55,6 +55,7 @@ public:
virtual bool needsTestFrame() override;
virtual bool testRenderFrame(AVFrame* frame) override;
virtual bool isDirectRenderingSupported() override;
virtual int getDecoderColorspace() override;
virtual void setHdrMode(bool enabled) override;
#ifdef HAVE_EGL
virtual bool canExportEGL() override;