Detect and badge HDR10+ (SMPTE ST 2094-40) via ffmpeg showinfo

This commit is contained in:
2026-05-31 02:05:10 +00:00
parent 1a6a3f0cf2
commit e1a961d21f
2 changed files with 49 additions and 0 deletions
@@ -19,6 +19,7 @@
<div class="version-badges">
<span v-if="torrent.resolution" class="v-badge res">{{ torrent.resolution }}</span>
<span v-if="showHdrBadge" class="v-badge hdr">HDR</span>
<span v-if="showHdr10PlusBadge" class="v-badge hdr10plus">HDR10+</span>
<span v-if="displayCodecBadge" class="v-badge codec">{{ displayCodecBadge }}</span>
<span v-if="displayQualityBadge" class="v-badge qual">{{ displayQualityBadge }}</span>
<span v-if="displayAudioBadge" class="v-badge audio">{{ displayAudioBadge }}</span>
@@ -317,6 +318,18 @@ const showHdrBadge = computed(() => {
)
})
const hdr10PlusPattern = /hdr10\+|hdr10plus/i
const hasHdr10Plus = computed(() => {
if (props.torrent.hdr10plus) return true
const text = [props.torrent.title, props.torrent.quality, props.torrent.codec, props.torrent.audio]
.filter(Boolean)
.join(" ")
return hdr10PlusPattern.test(text)
})
const showHdr10PlusBadge = computed(() => hasHdr10Plus.value && !hasDolbyVision.value)
const isSelectable = computed(() => {
if (props.selectable !== undefined) return props.selectable
return Boolean(props.torrent.playable_file)
@@ -525,6 +538,11 @@ html.mouse-active .version-row.version-best:hover {
color: #1c1917;
}
.v-badge.hdr10plus {
background: #b8860b;
color: #fff8e1;
}
.v-badge.group {
background: #1c54a1;
color: #f8fafc;