2#include "libmythbase/mythconfig.h"
23#if HAVE_STRUCT_HDR_METADATA_INFOFRAME
50#define LOC QString("HDR: ")
62 if (!(device && device->Authenticated() && device->Atomic()))
65 if (
auto connector = device->GetConnector(); connector.get())
67 return std::shared_ptr<MythHDR>(
new MythDRMHDR(device, hdrprop, Desc));
75 m_connector(
Device->GetConnector()),
76 m_hdrProp(
std::move(HDRProp)),
126 for (
size_t i = 0; i < 3; ++i)
133 LOG(VB_GENERAL, LOG_INFO,
LOC + QString(
"Creating HDR info frame for %1")
135 if (drmModeCreatePropertyBlob(
m_device->GetFD(), &drmmetadata,
sizeof(drmmetadata), &
m_hdrBlob) == 0)
137 LOG(VB_PLAYBACK, LOG_INFO,
LOC + QString(
"HDR blob id %1").arg(
m_hdrBlob));
145 LOG(VB_GENERAL, LOG_ERR,
LOC +
"Failed to create HDR blob id");
A device containing images (ie. USB stick, CD, storage group etc)
void SetHDRMetadata(HDRType Type, const MythHDRMetaPtr &Metadata) override
static MythHDRPtr Create(class MythDisplay *MDisplay, const MythHDRDesc &Desc)
MythDRMHDR(const MythDRMPtr &Device, DRMProp HDRProp, const MythHDRDesc &Desc)
static DRMProp GetProperty(const QString &Name, const DRMProps &Properties)
std::tuple< HDRTypes, double, double, double > MythHDRDesc
std::shared_ptr< class MythDRMDevice > MythDRMPtr
@ HDMI_STATIC_METADATA_TYPE1
static hdmi_eotf MythHDRToDRMHDR(MythHDR::HDRType Type)
@ HDMI_EOTF_TRADITIONAL_GAMMA_SDR
@ HDMI_EOTF_TRADITIONAL_GAMMA_HDR
std::shared_ptr< class MythDRMProperty > DRMProp
std::shared_ptr< class MythHDR > MythHDRPtr
std::shared_ptr< class MythHDRMetadata > MythHDRMetaPtr
#define LOG(_MASK_, _LEVEL_, _QSTRING_)