feat: add mpv tone mapping setting
This commit is contained in:
@@ -146,7 +146,15 @@ bool MpvController::init() {
|
||||
<< "| interpolation=" << (vsyncMode == "display-resample");
|
||||
|
||||
|
||||
|
||||
mpv_set_option_string(m_mpv, "target-colorspace-hint", "auto");
|
||||
mpv_set_option_string(m_mpv, "target-trc", "auto");
|
||||
const QString toneMapping = ConfigStore::instance()->get<QString>(
|
||||
ConfigKeys::PlayerToneMapping, "auto");
|
||||
mpv_set_option_string(m_mpv, "tone-mapping", toneMapping.toUtf8().constData());
|
||||
qDebug() << "[MpvController] Applied HDR tone mapping"
|
||||
<< "| target-colorspace-hint=auto"
|
||||
<< "| target-trc=auto"
|
||||
<< "| tone-mapping=" << toneMapping;
|
||||
|
||||
QString hwdec = ConfigStore::instance()->get<QString>(ConfigKeys::PlayerHwDec, "auto-copy");
|
||||
mpv_set_option_string(m_mpv, "hwdec", hwdec.toUtf8().constData());
|
||||
|
||||
@@ -80,6 +80,18 @@ PagePlayer::PagePlayer(QEmbyCore *core, QWidget *parent)
|
||||
vsyncCombo, ConfigKeys::PlayerVideoSync, this,
|
||||
QVariant("display-resample")));
|
||||
|
||||
auto *toneMappingCombo = new ModernComboBox(this);
|
||||
toneMappingCombo->addItem(tr("Auto"), "auto");
|
||||
toneMappingCombo->addItem(tr("Mobius"), "mobius");
|
||||
toneMappingCombo->addItem(tr("BT.2390"), "bt.2390");
|
||||
toneMappingCombo->addItem(tr("Hable"), "hable");
|
||||
toneMappingCombo->addItem(tr("Reinhard"), "reinhard");
|
||||
m_mainLayout->addWidget(
|
||||
new SettingsCard(":/svg/dark/video-output.svg", tr("Tone Mapping"),
|
||||
tr("HDR to SDR tone mapping algorithm"),
|
||||
toneMappingCombo, ConfigKeys::PlayerToneMapping, this,
|
||||
QVariant("auto")));
|
||||
|
||||
auto createLanguageRuleInput = [this](bool allowNone) {
|
||||
auto *input = new ModernTagInput(this);
|
||||
input->setPopupMode(ModernTagInput::ForcePopup);
|
||||
|
||||
@@ -106,6 +106,7 @@ constexpr const char* ImageCacheDuration = "cache/image_cache_duration";
|
||||
constexpr const char* PlayerHwDec = "player/hw_decoding";
|
||||
constexpr const char* PlayerVo = "player/video_output";
|
||||
constexpr const char* PlayerVideoSync = "player/video_sync";
|
||||
constexpr const char* PlayerToneMapping = "player/tone_mapping";
|
||||
constexpr const char* PlayerDefaultScale = "player/default_scale";
|
||||
constexpr const char* PlayerAudioLang = "player/audio_lang";
|
||||
constexpr const char* PlayerSubLang = "player/sub_lang";
|
||||
|
||||
Reference in New Issue
Block a user